In the cloud-native world, being a developer might be challenging. The number of technologies and patterns to know can be overwhelming. This session presents an approach based on open-source technologies and focused on improving the inner development loop and continuous delivery on Kubernetes. The end goal is delivering value continuously, quickly, and reliably.
First, I’ll present several techniques for working locally in an effective and productive way. Should you run Kubernetes in your development environment? I’ll cover a few different options. Using Java and Spring Boot, we’ll build a cloud native application following the principles of test-driven development. The inner development loop will be enhanced with Cloud Native Buildpacks, Skaffold, and Telepresence.
Continuous integration is a crucial practice for continuous delivery. We’ll check in code regularly, triggering an automated process to build, test, and package the application. Do you use pull requests? Relying on ArgoCD and Knative, I’ll show you how to work with temporary environments created dynamically when a new pull request is opened. Next, further acceptance tests will be carried on in a production-like environment to ensure the mainline is always in a releasable state. Finally, we’ll deploy and release the new changes to production following the GitOps principles.