/cloud-native-spring-in-action

🍃 Code samples and projects from the book "Cloud Native Spring in Action - With Spring Boot and Kubernetes" (Manning)

Primary LanguageJavaApache License 2.0Apache-2.0

🍃 Cloud Native Spring in Action

The book cover of 'Cloud Native Spring in Action' by Thomas Vitale

This repository contains the source code accompanying the book Cloud Native Spring in Action - With Spring Boot and Kubernetes written by Thomas Vitale and published by Manning Publications. It's currently available through the Manning Early Access Program (MEAP).

There is a folder for each chapter, for which both an initial and final versions are available. For example, for chapter 4, you can use Chapter04/04-begin as a starting point to follow along with the examples in the chapter and Chapter04/04-end to check the code as it looks like at the end.

Prerequisites

Chapter after chapter, you'll build, containerize, and deploy cloud native applications. Along the journey, you will need the following software installed.

Gradle and Maven

The code samples in the book use Gradle as the build tool. Should you prefer Maven, here's a table mapping Gradle commands to Maven so that you can easily follow along.

Gradle Maven
./gradlew clean ./mvnw clean
./gradlew build ./mvnw install
./gradlew test ./mvnw test
./gradlew bootJar ./mvnw spring-boot:repackage
./gradlew bootRun ./mvnw spring-boot:run
./gradlew bootBuildImage ./mvnw spring-boot:build-image

Useful Tools

When working with Kubernetes manifests, you can install a dedicate plugin in your IDE to help you validating the syntax and identifying mistakes.

Book forum

Feel free to submit questions, feedback, or errata to the forum dedicated to "Cloud Native Spring in Action": https://livebook.manning.com/book/cloud-native-spring-in-action/.

Contact the author

You are very welcome to contact me for questions, feedback, or suggestions. Feel free to reach out to me on Twitter, LinkedIn, or here on GitHub.

1. Introduction to Cloud Native

2. Cloud native patterns and technologies

3. Getting started with cloud native development

4. Externalized configuration management

5. Persisting and managing data in the cloud

6. Containerizing Spring Boot

7. Kubernetes fundamentals for Spring Boot

8. Reactive Spring: Resilience and scalability

9. API gateway and circuit breakers

10. Event-driven applications and functions

11. Security: Authentication and SPA

12. Security: Authorization and Auditing

13. Observability and monitoring

14. Configuration and secrets management

15. Continuous delivery and GitOps

16. Serverless, GraalVM and Knative