Cloud Testing with LocalStack/Testcontainers + CRaC-Superfast JVM startup


Details
Our next meetup is on 28.09.2023. We will have Anca Ghenade from LocalStack present "Cloud Integration Testing Made Easy with LocalStack and Testcontainers" and Gerrit Grunwald from Azul Systems present "What the CRaC - Superfast JVM startup".
We would like to thank DIG GmbH for being the host for this event.
We also say thanks to JetBrains for providing us with 2 product license keys for the raffle we are going to do during the break.
::Cloud Integration Testing Made Easy with LocalStack and Testcontainers::
Anca Ghenade
Integration testing is complicated as it is, even more so when third-party services are involved, but cloud-native AWS applications that rely on managed services are especially tough to test.
Cloud integration tests are particularly challenging due to the high complexity of the interconnected services, dependency management, deployment and provisioning intricacies, and potentially high costs. So how can we bring the ease and speed of unit tests into these integration tests? Ideally, we’d like to use a local setup where we can quickly spin up and deploy our services in an emulated environment that’s as close as possible to the real deal. By simulating real-world scenarios and testing the integration of various parts of the system, these tests help us identify and resolve issues early in the development process. This is where Testcontainers and LocalStack work beautifully together to bring you the best of integration tests and cloud services on your machine. We’ll explore how we can enhance the testability of a Spring Boot application that relies on AWS services and vastly increase the test coverage of our applications without any need for mocking or remote AWS sandbox accounts.
Testing your AWS-powered Spring Boot app with LocalStack and Testcontainers conveys isolation, speed, cost, and flexibility, making it effortless to get started with writing integration tests for your cloud application.
::What the CRaC - Superfast JVM startup::
Gerrit Grunwald
In a world where microservices are more and more a standard architecture for Java based applications running in the cloud, the JVM warmup time can become a limitation. Especially when you look at spinning up new instances of an app as response to changes in load, the warmup time can be a problem. Native images are one solution to solve these problems because their statically ahead of time compiled code simply doesn’t have to warmup and so has short startup time. But even with the shorter startup time and smaller footprint it doesn’t come without a drawback. The overall performance might be slower because of the missing JIT optimisations at runtime. There is a new OpenJDK project called CRaC (Coordinated Restore at Checkpoint) which goal it is to address the JVM warmup problem with a different approach. The idea is to take a snapshot of the running JVM, store it in files and restore the JVM at a later point in time (or even on another machine).
This session will give you a short overview of the CRaC project and shows some results from a proof of concept implementation.
The Speakers
::Anca Ghenade::
I have been immersing myself in the realm of Java since my university days, focusing primarily on developing enterprise applications over the past seven years. Recently, I have embraced the exciting and challenging field of cloud development, captivated by its immense potential. I now enjoy sharing my learning experiences through engaging demos that bring tangible value to others. I also appreciate the meaningful conversations and feedback related to user experience and use cases, as they enable me to contribute towards the product development efforts of my team at LocalStack.
::Gerrit Grunwald::
Gerrit Grunwald is a software engineer that loves coding for around 40 years already. He is a true believer in open source and has participated in popular projects like JFXtras.org as well as his own projects (TilesFX, Medusa, Enzo, SteelSeries Swing, SteelSeries Canvas, JDKMon).
Gerrit blogs regularly at http://harmonic-code.org, he is an active member of the Java community, where he founded and leads the Java User Group Münster (Germany), he is a JavaOne rockstar and a Java Champion. He is a speaker at conferences and user groups internationally and writes for several magazines.

Cloud Testing with LocalStack/Testcontainers + CRaC-Superfast JVM startup