001. Part 1. Cloud native fundamentals
002. Chapter 1. Introduction to cloud native
003. Chapter 1. The cloud and the cloud computing model
004. Chapter 1. Properties of cloud native applications
005. Chapter 1. Culture and practices supporting cloud native
006. Chapter 1. Is the cloud your best option
007. Chapter 1. Cloud native topologies
008. Chapter 1. Architectures for cloud native applications
009. Chapter 1. Summary
010. Chapter 2. Cloud native patterns and technologies
011. Chapter 2. Building cloud native applications with Spring
012. Chapter 2. Containerizing applications with Docker
013. Chapter 2. Managing containers with Kubernetes
014. Chapter 2. Polar Bookshop A cloud native application
015. Chapter 2. Summary
016. Part 2. Cloud native development
017. Chapter 3. Getting started with cloud native development
018. Chapter 3. Working with embedded servers
019. Chapter 3. Building a RESTful application with Spring MVC
020. Chapter 3. Testing a RESTful application with Spring
021. Chapter 3. Deployment pipeline Build and test
022. Chapter 3. Summary
023. Chapter 4. Externalized configuration management
024. Chapter 4. Externalized configuration One build, multiple configurations
025. Chapter 4. Centralized configuration management with Spring Cloud Config Server
026. Chapter 4. Using a configuration server with Spring Cloud Config Client
027. Chapter 4. Summary
028. Chapter 5. Persisting and managing data in the cloud
029. Chapter 5. Data persistence with Spring Data JDBC
030. Chapter 5. esting data persistence with Spring and Testcontainers
031. Chapter 5. Managing databases in production with Flyway
032. Chapter 5. Summary
033. Chapter 6. Containerizing Spring Boot
034. Chapter 6. Packaging Spring Boot applications as container images
035. Chapter 6. Managing Spring Boot containers with Docker Compose
036. Chapter 6. Deployment pipeline Package and publish
037. Chapter 6. Summary
038. Chapter 7. Kubernetes fundamentals for Spring Boot
039. Chapter 7. Kubernetes Deployments for Spring Boot
040. Chapter 7. Service discovery and load balancing
041. Chapter 7. Scalability and disposability
042. Chapter 7. Local Kubernetes development with Tilt
043. Chapter 7. Deployment pipeline Validate Kubernetes manifests
044. Chapter 7. Summary
045. Part 3. Cloud native distributed systems
046. Chapter 8. Reactive Spring Resilience and scalability
047. Chapter 8. Reactive servers with Spring WebFlux and Spring Data R2DBC
048. Chapter 8. Reactive clients with Spring WebClient
049. Chapter 8. Resilient applications with Reactive Spring
050. Chapter 8. Testing reactive applications with Spring, Reactor, and Testcontainers
051. Chapter 8. Summary
052. Chapter 9. API gateway and circuit breakers
053. Chapter 9. Fault tolerance with Spring Cloud Circuit Breaker and Resilience4J
054. Chapter 9. Request rate limiting with Spring Cloud Gateway and Redis
055. Chapter 9. Distributed session management with Redis
056. Chapter 9. Managing external access with Kubernetes Ingress
057. Chapter 9. Summary
058. Chapter 10. Event-driven applications and functions
059. Chapter 10. Message brokers with RabbitMQ
060. Chapter 10. Functions with Spring Cloud Function
061. Chapter 10. Processing messages with Spring Cloud Stream
062. Chapter 10. Producing and consuming messages with Spring Cloud Stream
063. Chapter 10. Summary
064. Chapter 11. Security Authentication and SPA
065. Chapter 11. Managing user accounts with Keycloak
066. Chapter 11. Authentication with OpenID Connect, JWT, and Keycloak
067. Chapter 11. Authenticating users with Spring Security and OpenID Connect
068. Chapter 11. Integrating Spring Security with SPAs
069. Chapter 11. Testing Spring Security and OpenID Connect
070. Chapter 11. Summary
071. Chapter 12. Security Authorization and auditing
072. Chapter 12. Protecting APIs with Spring Security and OAuth2 (imperative)
073. Chapter 12. Protecting APIs with Spring Security and OAuth2 (reactive)
074. Chapter 12. Protecting and auditing data with Spring Security and Spring Data
075. Chapter 12. Summary
076. Part 4. Cloud native production
077. Chapter 13. Observability and monitoring
078. Chapter 13. Health probes with Spring Boot Actuator and Kubernetes
079. Chapter 13. Metrics and monitoring with Spring Boot Actuator, Prometheus, and Grafana
080. Chapter 13. Distributed tracing with OpenTelemetry and Tempo
081. Chapter 13. Application management and monitoring with Spring Boot Actuator
082. Chapter 13. Summary
083. Chapter 14. Configuration and secrets management
084. Chapter 14. Using ConfigMaps and Secrets in Kubernetes
085. Chapter 14. Configuration management with Kustomize
086. Chapter 14. Summary
087. Chapter 15. Continuous delivery and GitOps
088. Chapter 15. Configuring Spring Boot for production
089. Chapter 15. Deployment pipeline Production stage
090. Chapter 15. Continuous deployment with GitOps
091. Chapter 15. Summary
092. Chapter 16. Serverless, GraalVM, and Knative
093. Chapter 16. Serverless applications with Spring Cloud Function
094. Chapter 16. Deploying serverless applications with Knative
095. Chapter 16. Summary
096. Appendix A. Setting up your development environment
097. Appendix A. Docker
098. Appendix A. Kubernetes
099. Appendix A. Other tools
100. Appendix B. Kubernetes in production with DigitalOcean
101. Appendix B. Running a PostgreSQL database on DigitalOcean
102. Appendix B. Running Redis on DigitalOcean
103. Appendix B. Running RabbitMQ using a Kubernetes Operator
104. Appendix B. Running Keycloak using a Helm chart
105. Appendix B. Running Polar UI
106. Appendix B. Deleting all cloud resources