Cloud Native Spring in Action • Thomas Vitale & Josh Long
Apr 26, 2024
auto_awesome
Thomas Vitale and Josh Long discuss cloud native best practices, design patterns, and deployment on Kubernetes. They explore the evolution of the 12 factor manifesto, optimizing service exposure with Spring Boot and Istio, and continuous delivery with GitOps. The conversation also includes insights on building microservices and serverless applications using Spring-based methodologies.
Building cloud native applications focuses on architecture for cloud performance.
Designing transactions in cloud native systems without relying on distributed transactions is crucial.
Deep dives
Understanding Cloud Native Development
Cloud native development is about building applications to run better in the cloud by focusing on architecture and how applications perform in cloud environments. It involves creating software that runs smoothly in the cloud, emphasizing building applications for the cloud's architecture rather than containers or specific technologies like Kubernetes.
Reasons for Adopting Cloud Native Technologies
People adopt cloud native technologies to build software faster, scale applications across devices globally, improve scalability and resilience, and optimize costs. While cloud native approaches can enhance development speed and scalability, the effectiveness of cost optimization depends on factors such as the organization's readiness and technology stack.
Microservices and Monoliths in Cloud Native Applications
Cloud native applications can be built with microservices or monolithic architectures. The design should focus on modularizing domains within the software to ensure self-contained and well-designed modules. Whether using microservices or monoliths, the choice should align with organizational needs, deployment requirements, and technological capabilities.
Building Event-Driven Systems for Distributed Applications
In distributed systems like cloud native applications, designing transactions without relying on distributed transactions is key. Event-driven strategies like saga patterns help ensure event-based system consistency across services. Utilizing tools for modular monoliths can enhance the adaptability of components, streamline messaging between modules, and enable easy extraction for independent applications.
DESCRIPTION In Cloud Native Spring in Action, you’ll learn how to containerize your Spring Boot applications with Cloud Native Buildpacks and deploy them on Kubernetes. This practical guide delivers unique insights into hosting microservices, serverless applications, and other modern architectures on cloud platforms. You’ll learn how to use Spring-based methodologies, practices, and patterns that you won’t find anywhere else.
In Cloud Native Spring in Action you’ll learn: • Cloud native best practices and design patterns • Build and test cloud native apps with Spring Boot and Spring Cloud • Handle security, resilience, and scalability in imperative and reactive applications • Configure, deploy, and observe applications on Kubernetes • Continuous delivery and GitOps to streamline your software lifecycle