Siva Prasad Reddy Katamreddy
Developer Advocate at JetBrains
Hyderābād, India
Actions
Siva is a Developer Advocate at JetBrains with 18+ years of experience building scalable distributed enterprise applications. He has strong hands-on experience building Cloud-Native applications using various technologies, including Java, Kotlin, Spring Boot, Spring Cloud, and SQL/NoSQL databases.
He is the author of Beginning Spring Boot 3 (Apress), PrimeFaces Beginners Guide (PacktPub), and Java Persistence with MyBatis 3 books. He shares his knowledge on his blog https://sivalabs.in and his YouTube channel https://www.youtube.com/sivalabs.
Area of Expertise
Topics
Integration Testing made easy with Testcontainers
Modern applications use a wide range of technologies to address complex business needs. With so many external service integrations, the only reliable way to ensure your components are working is by writing integration tests.
Testcontainers libraries are the industry's go-to way for creating reliable integration tests because it provides programmable API for managing those services as ephemeral containers.
In this session, we will look at using Testcontainers libraries to work with SQL databases, NoSQL data stores, and message brokers. We'll also explore how its seamless integration with popular Java frameworks like Spring Boot and Quarkus improves your productivity.
Whether you are new or have basic knowledge of Testcontainers, this session will introduce you to more features of Testcontainers and help you to write better integration tests that give you more confidence in your tests.
Target Audience: Developers, and Architects
Technical Requirements: Docker and Java installed
Preferred Session Duration: 1 hour
Cloud-Native application development using Testcontainers
Modern applications integrate with many 3rd party APIs and leverage services provided by the cloud platforms to build scalable and resilient applications. However, this brings some complexities for local development and testing. Testcontainers help you to write reliable integration tests for working with 3rd party APIs and cloud platform services.
In this session, we will look at how to use Testcontainers to work with some of the AWS Services like S3, SQS, and DynamoDb using Spring Cloud AWS. We will also take a look at how Testcontainers can be used to test 3rd party service integrations using WireMock.
This session will help you to understand how to test cloud and 3rd party service integrations using Testcontainers that give you more confidence in your tests.
Target Audience: Developers and Architects
Technical Requirements: Docker and Java installed
Preferred Session Duration: 1 hour
85% Code Coverage Won’t Save You: Achieving Reliable Tests with Testcontainers
Many organizations enforce rules like "minimum 85% code coverage required to deploy" to improve code quality. Yet, even with extensive unit tests that satisfy these quality gates, teams often encounter critical issues post-deployment. Why does this happen?
Modern applications rely on diverse technologies—SQL/NoSQL databases, message brokers, and more. Unit tests with mocks or in-memory services might make the code look solid, but they fail to ensure your application behaves correctly with the real services it depends on in production.
Testcontainers is a library that lets you bootstrap real, production-like dependencies for your tests using Docker containers. With Testcontainers, you can test your application against real databases, message brokers, etc bringing the same testing experience both in local and CI pipelines.
In this session, you'll learn how to supercharge your tests using Testcontainers to interact with SQL/NoSQL databases and message brokers. We'll also explore how its seamless integration with popular Java frameworks like Spring Boot and Quarkus to improve your productivity. Join me to go beyond code coverage and towards reliable, production-ready testing!
Target audience: Developers and Architects
Technical requirements: Docker and Java installed.
Preferred session duration: 1 hour
Building Cloud Native applications using LocalStack and Testcontainers
AWS is the leading cloud platform and many organizations leverage various services provided by AWS such as S3, SQS, DynamoDB, etc. However, this brings some complexities for local development and testing.
LocalStack is a fully functional local cloud emulator to develop and test your AWS cloud and serverless applications. Testcontainers can help you to provide the local development environment and write reliable integration tests using dockerized LocalStack container.
In this session, we will look at how to use Testcontainers to work with some of the AWS Services like S3, SQS, and DynamoDb locally using Spring Cloud AWS
without having to rely upon actual AWS Cloud Services.
Target audience: Developers and Architects
Technical requirements: Docker and Java installed.
Preferred session duration: 1 hour
Joyful local development and testing experience using Docker and Testcontainers
Modern applications use a wide range of technologies to address complex business needs. With so many service dependencies, local development setup and testing become challenging.
Testcontainers libraries are the industry's go-to way for creating reliable integration tests because it provides programmable API for managing those services as ephemeral containers. In addition to that, Testcontainers also helps in simplifying local development setup and provides a "just clone and run" developer experience.
In this session, you will learn how to develop and test your applications with Testcontainers using the following technologies:
* SQL/NoSQL databases
* Message brokers (Kafka, RabbitMQ)
* Cloud Emulators(LocalStack)
We'll also explore how its seamless integration with popular Java frameworks like Spring Boot, Quarkus, and Micronaut can elevate your productivity.
Whether you are new or have basic knowledge of Testcontainers, this session will introduce you to more features of Testcontainers and help you to write better integration tests that give you more confidence in your tests.
* Basic experience with any programming language
* Docker installed
Building Modular Monoliths using Spring Modulith
We have been building monolithic applications for many years and have faced some challenges.
Microservices architecture emerged as an alternative to solve the difficulties imposed by monolithic architecture, but it brings its own set of challenges.
What about combining the best of both worlds? Welcome to "Modular Monoliths."
Modular Monolith is an architectural style that combines the simplicity of monolithic architecture with the power and flexibility of microservices.
In this session, you will learn:
* What are the challenges with Monoliths and Microservices
* Introduction to Modular Monoliths
* Creating a Modular Monolith using Spring Boot and Spring Modulith
* Identifying and defining module boundaries
* Imposing Module Boundaries
* Communication between Modules
* Async communication between modules using events
* Testing modules independently
* Generating C4 Model documentation using Spring Modulith
* Best practices for building Modular Monoliths
Target Audience:
This workshop can benefit anyone interested in understanding Modular Monolith Architecture. However, it will be most useful for developers and architects with basic Spring Boot knowledge.
Prerequisites:
* JDK 21 or later
* Docker and Docker Compose
* Java IDE (IntelliJ IDEA recommended)
Simplifying the Path to Production-Grade Spring Boot Applications
Spring Boot continues to be the go-to framework for building Java applications, but are you leveraging its full potential with modern tools and techniques?
In this talk, we’ll explore how to elevate your Spring Boot applications to production-grade quality while embracing the latest in Java and Spring ecosystem advancements.
1. Use Modern Java Features: Records, Text Blocks, Pattern Matching, Switch Expressions, etc.
2. Simplified Local Development Setup: Testcontainers or Docker Compose.
3. Spring Modulith: Build applications with modularity in mind.
4. Testcontainers: Test your application against real databases, message brokers, etc.
5. Monitoring: Micrometer and OpenTelemetry based monitoring
6. Open Rewrite: Upgrade your applications with automation.
This session will arm you with the knowledge and tools to build modern, maintainable, and production-ready applications with ease.
Target audience: Developers and Architects
Technical requirements: Docker and Java installed.
Preferred session duration: 1 hour
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top