This chapter covers
- Principles for designing cloud native applications
- Introducing Spring for building cloud native applications
- Introducing Docker for portable and self-contained applications
- Introducing Kubernetes for deploying applications to the cloud
- Introducing patterns and technologies used in the book
The way we design applications for the cloud is different compared to traditional approaches. The Twelve-Factor methodology, consisting of best practices and development patterns, is a good starting point for building applications that can be considered cloud native. I’ll explain the methodology in the first part of the chapter, and I’ll expand on it throughout the book.
You’ll then build a simple Spring Boot application and run it with Java, Docker, and Kubernetes, as shown in figure 2.1. Throughout the book, I’ll go deeper into each of those topics, so don’t worry if something is not entirely clear. This chapter aims to provide you with a mental map of the journey you will undertake from code to production in a cloud environment while familiarizing yourself with patterns and technologies that you will leverage in the rest of the book.
Figure 2.1. The journey of a Spring application from Java to Docker to Kubernetes.