Video description
This book fills a gap between theory and practice...entertaining and educational.
From the Foreword by Gene Kim, coauthor of The Phoenix Project
Cloud Native Patterns is your guide to developing strong applications that thrive in the dynamic, distributed, virtual world of the cloud. This book presents a mental model for cloud-native applications, along with the patterns, practices, and tooling that set them apart.
about the technology
Cloud platforms promise the holy grail: near-zero downtime, infinite scalability, short feedback cycles, fault-tolerance, and cost control. But how do you get there? By applying cloudnative designs, developers can build resilient, easily adaptable, web-scale distributed applications that handle massive user traffic and data loads. Learn these fundamental patterns and practices, and you’ll be ready to thrive in the dynamic, distributed, virtual world of the cloud.
about the book
With 25 years of experience under her belt, Cornelia Davis teaches you the practices and patterns that set cloud-native applications apart. With realistic examples and expert advice for working with apps, data, services, routing, and more, she shows you how to design and build software that functions beautifully on modern cloud platforms. As you read, you will start to appreciate that cloud-native computing is more about the how and why rather than the where.
what's inside
- The lifecycle of cloud-native apps
- Cloud-scale configuration management
- Zero downtime upgrades, versioned services, and parallel deploys
- Service discovery and dynamic routing
- Managing interactions between services, including retries and circuit breakers
about the audience
Requires basic software design skills and an ability to read Java or a similar language.
about the author
Cornelia Davis is Vice President of Technology at Pivotal Software. A teacher at heart, she’s spent the last 25 years making good software and great software developers.
The book’s focus on real world challenges makes this an essential manual for modern day projects.
David Schmitz, Senacor Technologies
Demystifies the process of building self-healing, distributed, and resilient web applications with low operational maintenance.
Raveesh Sharma, Stellapps Technologies
A direct and definitive guide to cloud native, with real-life experience driving the narrative. A must-read for practicing engineers who want to feel like a native in the cloud.
Shanker Janakiraman, Urjanet
NARRATED BY SARAH DAWE
Table of Contents
Part 1
Chapter 1. You keep using that word: Defining “cloud-native”
Chapter 1. Today’s application requirements
Chapter 1. Introducing cloud-native software
Chapter 1. A mental model for cloud-native software
Chapter 1. Cloud-native software in action
Chapter 1. Cloud-native and world peace
Chapter 2. Running cloud-native applications in production
Chapter 2. Risky deployments
Chapter 2. The enablers
Chapter 2. Repeatability
Chapter 2. Safe deployments
Chapter 2. Change is the rule
Chapter 3. The platform for cloud-native software
Chapter 3. Cloud-native dial tone
Chapter 3. Core tenets of the cloud-native platform
Chapter 3. Support for “highly distributed”
Chapter 3. Who does what?
Chapter 3. More cloud-native platform capabilities
Chapter 3. Controlling what goes into the container
Chapter 3. Change control
Part 2
Chapter 4. Event-driven microservices: It’s not just request/response
Chapter 4. We’re (usually) taught imperative programming
Chapter 4. My global cookbook
Chapter 4. Event-driven
Chapter 4. Introducing Command Query Responsibility Segregation
Chapter 4. Different styles, similar challenges
Chapter 5. App redundancy: Scale-out and statelessness
Chapter 5. Stateful apps in the cloud
Chapter 5. Poorly handling session state
Chapter 5. Configuring and deploying the Connections and Posts services
Chapter 5. HTTP sessions and sticky sessions
Chapter 5. Stateful services and stateless apps
Chapter 5. Making apps stateless
Chapter 6. Application configuration: Not just environment variables
Chapter 6. The app’s configuration layer
Chapter 6. Injecting system/environment values
Chapter 6. Injecting application configuration
Chapter 6. Let’s see this in action: Application configuration using a config server
Chapter 7. The application lifecycle: Accounting for constant change
Chapter 7. Single-app lifecycle, multiple-instance lifecycles
Chapter 7. Blue/green upgrades
Chapter 7. Coordinating across different app lifecycles
Chapter 7. Let’s see this in action: Credential rotation and app lifecycle
Chapter 7. Dealing with ephemeral runtime environments
Chapter 7. Visibility of app lifecycle state
Chapter 7. Serverless
Chapter 8. Accessing apps: Services, routing, and service discovery
Chapter 8. The service abstraction
Chapter 8. Dynamic routing
Chapter 8. Service discovery
Chapter 8. Service discovery with client-side load balancing
Chapter 8. Let’s see this in action: Using service discovery
Chapter 9. Interaction redundancy: Retries and other control loop
Chapter 9. Request retries
Chapter 9. Let’s see this in action: Creating a retry storm
Chapter 9. Avoiding retry storms: Kind clients
Chapter 9. Fallback logic
Chapter 9. Control loops
Chapter 10. Fronting services: Circuit breakers and API gateways
Chapter 10. Implementing a circuit breaker
Chapter 10. Running the apps
Chapter 10. API gateways
Chapter 10. The service mesh
Chapter 11. Troubleshooting: Finding the needle in the haystack
Chapter 11. Application metrics
Chapter 11. Distributed tracing
Chapter 11. Assembling traces via Zipkin
Chapter 12. Cloud-native data: Breaking the data monolith
Chapter 12. Every microservice needs a cache
Chapter 12. The event log
Chapter 12. Let’s see this in action: Implementing event-driven microservices
Chapter 12. Let’s see this in action: Running the application
Chapter 12. What’s new with topics and queues?
Chapter 12. The event payload
Chapter 12. Event sourcing
Chapter 12. Let’s see this in action: Implementing event sourcing