
Developers are used to running kubectl apply and waiting on the magic to happen resulting in a running Kubernetes pod. But what actually happens between entering the command and the deployment being ready? What's the reality behind the "magic"? In this talk, Kiah will dissect all the stages of a Kubernetes deployment in a way that is easy to understand. She'll walk through that deployment happening locally on LocalStack to inspect what's really going on at each stage. At the end of this session, attendees will have a deeper understanding of the Kubernetes deployment process that can help debug many common issues and will gain an understanding of how LocalStack enables local testing of Kubernetes.

Local development and testing are significant for engineers who wish to ship confidently onto production environments. Test-driven development (TDD) has been adopted as an essential practice to enforce that and ensure that every code change is validated locally and on CI. This is where we arrive at the Testcontainers libraries that support your tests, providing lightweight, ephemeral instances of common databases, message brokers, web browsers, or anything else that can run in a Docker container. With Testcontainers, available in different popular languages: Java, Go, .NET, JavaScript/Typescript, and Python, you can replicate the production environment on your local machine and test everything (including AWS APIs powered by LocalStack)! Testcontainers ensure that the data access layer, user interface, and application are tested well at each step. In this session, we have looked at Testcontainers and how to adopt them to develop our applications locally and run our integration tests while using LocalStack to provision cloud resources inside a Docker container before pushing your application to production! In the end, we have also discussed how LocalStack and the Java version of Testcontainers play nicely with each other and wind up with updates about the all-new LocalStack release!