Cloud Application Architecture Patterns
Book information
Description
There are more applications running in the cloud than there are ones that run well there. If you're considering taking advantage of cloud technology for your company's projects, this practical guide is an ideal way to understand the best practices that will help you architect applications that work well in the cloud, no matter which vendors, products, or languages you use. Architects and lead developers will learn how cloud applications should be designed, how they fit into a larger architectural picture, and how to make them operate efficiently. Authors Kyle Brown, Bobby Woolf, and Joseph Yoder take you through the process step-by-step. • Explore proven architectural practices for developing applications for the cloud • Understand why some architectural choices are better suited than others for applications intended to run on the cloud • Learn design and implementation techniques for developing cloud applications • Select the most appropriate cloud adoption patterns for your organization • See how all potential choices in application design relate to each other through the connections of the patterns • Chart your own course in adopting the right strategies for developing application architectures for the cloud List of Patterns List of Supporting Patterns Foreword Preface Why We Wrote This Book Who Should Read This Book What You Will Learn What This Book Covers What This Book Does Not Cover How This Book Is Structured O’Reilly Online Learning How to Contact Us Acknowledgments Introduction Phases of Cloud Adoption Modern Application Development Aspects of Software Development Evolution of Application Architecture Mainframe Application Desktop Application Client/Server Application Cloud-Native Application Patterns and Pattern Format Organization of This Book Relationship of Root Patterns and Chapters Getting Started 1. Cloud Applications Introduction to Cloud Applications Cloud Computing Defined Cloud Computing Practices Cloud Application Conclusion: Wrapping Up Cloud Applications 2. Application Architecture Introduction to Application Architecture Software Architecture Architectural Trade-Offs Component Terminology Architectural Patterns Big Ball of Mud Modular Monolith Distributed Architecture Conclusion: Wrapping Up Application Architecture 3. Cloud-Native Application Introduction to Cloud-Native Application Cloud Computing Cloud Native Cloud-Native Maturity The Twelve-Factor App Designing Applications for the Cloud Cloud-Native Architecture Application Package Service API Stateless Application Replicable Application External Configuration Backend Service Conclusion: Wrapping Up Cloud-Native Application 4. Microservices Architecture Introduction to Microservices Architecture Microservices Microservices Architecture Versus Monolithic Architecture Microservices and Cloud-Native Architecture Architecting Microservices Applications Microservice Domain Microservice Adapter Microservice Dispatcher Polyglot Development Self-Managed Data Stores Service Orchestrator Conclusion: Wrapping up Microservices Architecture 5. Microservice Design Introduction to Microservice Design Guiding IDEALS for Designing Microservices Domain Modeling Techniques for Designing Microservices What’s the Right Size for a Microservice? Lower Bound Upper Bound Finding the Right Level of Abstraction Model Around the Domain Ubiquitous Language Event Storming Domain Event Bounded Context Application Services Context Map Aggregate Repositories Domain Service Anti-Corruption Layer Conclusion: Wrapping Up Microservice Design 6. Event-Driven Architecture Introduction to Event-Driven Architecture A Motivating Example From Service Orchestration to Event-Driven Architecture Pseudosynchronous and Asynchronous Service Invocation Decoupling Listeners from Emitters Event-Driven Architecture and Cloud-Native Architecture Developing Event-Driven Architecture Event Choreography Event Reactive Component Event Notifier Event API Event Backbone Event Sourcing Conclusion: Wrapping Up Event-Driven Architecture 7. Cloud-Native Storage Introduction to Cloud-Native Storage Storing Data for Cloud-Native Applications Architecting Applications with Cloud-Native Storage Database Topology and Database Selection Cloud Database Replicated Database Configuration Database Application Database Relational Database Document Database Key-Value Database Graph Database Columnar Database Data Module Polyglot Persistence Database-as-a-Service Command Query Responsibility Segregation (CQRS) Conclusion: Wrapping Up Cloud-Native Storage 8. Cloud Application Clients Introduction to Cloud Application Clients Multimodal User Interfaces Separate UI and Domain Ports and Adapters (Hexagonal) Architecture Principles for Application User Interfaces Architecting Applications with Multimodal Clients Client Application Browser Application Web Form Application Servlet and JSP with Microservices and Interaction Models Single-Page Application Micro Frontend Mobile Application Command-Line Interface Public API Interaction Model Conclusion: Wrapping Up Cloud Application Clients 9. Application Migration and Modernization Introduction to Application Migration and Modernization Cloud Computing Service Models Modernization and Technical Debt Application Fundamentals Cloud Migration Strategies Migrating and Modernizing Applications in the Cloud Lift and Shift Virtualize the Application Containerize the Application Refactor the Monolith Start Small Pave the Road Conclusion: Wrapping Up Application Migration and Modernization 10. Strangling Monoliths Introduction to Strangling Monoliths Strangler Patterns Strangle the Monolith Wrap the Monolith New Features as Microservices Transform Monolith into Microservices Hairline Cracks Extract Component Macro Service Refactor then Extract Replace as Microservice Addressing Challenging Areas in the Monolith Monolith to Microservice Proxy Playback Testing Conclusion: Wrapping Up Strangling Monoliths Conclusion What We’ve Learned Applying What We’ve Learned What Comes Next Application Deployment Build Automation Continuous Delivery Final Thoughts Index About the Authors
Similar books
Cloud Application Architecture Patterns
2025 · EPUB
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
2003 · PDF
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
2003 · EPUB
Leyendas de egipto
1996 · FB2
Exploring IBM SOA technology & practice : how to plan, build, and manage a service oriented architecture in the real world
2008 · PDF
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
2003 · PDF
Software Configuration Management Patterns: Effective Teamwork, Practical Integration
2003 · CHM
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
2003 · CHM