
Architecting Cloud Native Applications
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Apply cloud native patterns and practices to deliver responsive, resilient, elastic, and message-driven systems with confidence
Key Features:
Discover best practices for applying cloud native patterns to your cloud applicationsExplore ways to effectively plan resources and technology stacks for high security and fault toleranceGain insight into core architectural principles using real-world examples
Book Description:
Cloud computing has proven to be the most revolutionary IT development since virtualization. Cloud native architectures give you the benefit of more flexibility over legacy systems.
This Learning Path teaches you everything you need to know for designing industry-grade cloud applications and efficiently migrating your business to the cloud. It begins by exploring the basic patterns that turn your database inside out to achieve massive scalability. You'll learn how to develop cloud native architectures using microservices and serverless computing as your design principles. Then, you'll explore ways to continuously deliver production code by implementing continuous observability in production. In the concluding chapters, you'll learn about various public cloud architectures ranging from AWS and Azure to the Google Cloud Platform, and understand the future trends and expectations of cloud providers.
By the end of this Learning Path, you'll have learned the techniques to adopt cloud native architectures that meet your business requirements.
This Learning Path includes content from the following Packt products:
Cloud Native Development Patterns and Best Practices by John GilbertCloud Native Architectures by Erik Farr et al.What you will learnUnderstand the difference between cloud native and traditional architectureAutomate security controls and configuration managementMinimize risk by evolving your monolithic systems into cloud native applicationsExplore the aspects of migration, when and why to use itApply modern delivery and testing methods to continuously deliver production codeEnable massive scaling by turning your database inside out
Who this book is for:
This Learning Path is designed for developers who want to progress into building cloud native systems and are keen to learn the patterns involved. Software architects, who are keen on designing scalable and highly available cloud native applications, will also find this Learning Path very useful. To easily grasp these concepts, you will need basic knowledge of programming and cloud computing.
Kamal Arora is an inventor, author, and technology leader with more than 15 years of IT experience. He currently works at Amazon Web Services and leads a diverse team of highly experienced solutions architects who enable global consulting partners and enterprise customers on their journey to cloud. Kamal has also led the creation of biggest global technical partnerships, set his team's vision and execution model, and incubated multiple new strategic initiatives. Erik Farr is a technology leader with over 18 years in the IT industry. He has been on the leading edge of cloud technology and enterprise architecture, working with some of the largest companies and system integrators in the world. In his current role at Amazon Web Services, he leads a team of experienced solution architects to help global system integrator partners design enterprise scale cloud native architectures. John Gilbert is a CTO with over 25 years of experience of architecting and delivering distributed, event-driven systems. His cloud journey started more than five years ago and has spanned all the levels of cloud maturity-through lift and shift, software-defined infrastructure, microservices, and continuous deployment. He finds delivering cloud native solutions to be by far the most fun and satisfying, as they force us to rewire how we reason about systems and enable us to accomplish far more with much less effort. Piyum Zonooz is a global partner solution architect at Amazon Web Services, where he works with companies across all industries to help drive cloud adoption and re-architect products to cloud native. He has led projects in TCO analysis, infrastructure design, DevOps adoption, and complete business transformation. Prior to AWS, Piyum was a lead architect as part of the Accenture Cloud Practice where he led large-scale cloud adoption projects.
More details
Other editions
Additional editions

Content
- Intro
- Title Page
- Copyright and Credits
- Architecting Cloud Native Applications
- About Packt
- Why subscribe?
- Packt.com
- Contributors
- About the authors
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Conventions used
- Get in touch
- Reviews
- Understanding Cloud Native Concepts
- Establishing the context
- Rewiring your software engineering brain
- Defining cloud-native
- Powered by disposable infrastructure
- Composed of bounded, isolated components
- Scales globally
- Embraces disposable architecture
- Leverages value-added cloud services
- Welcomes polyglot cloud
- Empowers self-sufficient, full-stack teams
- Drives cultural change
- Summary
- The Anatomy of Cloud Native Systems
- The cloud is the database
- Reactive Manifesto
- Turning the database inside out
- Bulkheads
- Event streaming
- Polyglot Persistence
- Cloud native database
- Cloud native patterns
- Foundation patterns
- Boundary patterns
- Control patterns
- Bounded isolated components
- Functional boundaries
- Bounded context
- Component patterns
- Data life cycle
- Single responsibility
- Technical isolation
- Regions and availability zones
- Components
- Data
- Accounts
- Providers
- Summary
- Foundation Patterns
- Cloud-Native Databases Per Component
- Context, problem, and forces
- Solution
- Resulting context
- Example - cloud-native database trigger
- Event Streaming
- Context, problem, and forces
- Solution
- Resulting context
- Example - stream, producer, and consumer
- Event Sourcing
- Context, problem, and forces
- Solution
- Event-First Variant
- Database-First Variant
- Resulting context
- Example - database-first event sourcing
- Data Lake
- Context, problem, and forces
- Solution
- Resulting context
- Example - Data Lake consumer component
- Stream Circuit Breaker
- Context, problem, and forces
- Solution
- Resulting context
- Example - stream processor flow control
- Trilateral API
- Context, problem, and forces
- Solution
- Resulting context
- Example - asynchronous API documentation
- Example - component anatomy
- Summary
- Boundary Patterns
- API Gateway
- Context, problem, and forces
- Solution
- Resulting context
- Example - CRUD service
- Command Query Responsibility Segregation (CQRS)
- Context, problem, and forces
- Solution
- Resulting context
- Example - inverse oplock
- Example - event sourced join
- Offline-first database
- Context, problem, and forces
- Solution
- Resulting context
- Example - offline-first counter
- Backend For Frontend
- Context, problem, and forces
- Solution
- Resulting context
- Example - Author BFF
- Example - Worker BFF
- Example - Customer BFF
- Example - Manager BFF
- External Service Gateway
- Context, problem, and forces
- Solution
- Outbound communication
- Inbound communication
- Resulting context
- Example - user authentication integration
- Summary
- Control Patterns
- Event collaboration
- Context, problem, and forces
- Solution
- Resulting Context
- Example - order collaboration
- Event orchestration
- Context, problem, and forces
- Solution
- Resulting context
- Example - order orchestration
- Saga
- Context, problem, and forces
- Solution
- Resulting context
- Example - order collaboration with compensation
- Example - order orchestration with compensation
- Summary
- Deployment
- Decoupling deployment from release
- Multi-level roadmaps
- Release roadmaps
- Story mapping
- Deployment roadmaps
- Task branch workflow
- Deployment pipeline
- Modern CI/CD
- npm
- Infrastructure as Code services
- Serverless Framework
- Zero-downtime deployment
- Blue-green deployment
- Canary deployment
- Multi-regional deployment
- Feature flags
- Versioning
- Synchronous API
- Database schema
- Asynchronous API
- Micro-frontend
- Trilateral API per container
- Summary
- Testing
- Shifting testing to the left
- Test engineering
- Isolated testing
- Unit testing
- Component testing
- Transitive testing
- Integration testing
- Contract testing
- End-to-end testing
- Manual testing
- Example - end-to-end relay
- Submit order leg
- Order submitted leg
- Summary
- Monitoring
- Shifting testing to the right
- Key performance indicators
- Real and synthetic traffic
- Real-user monitoring
- Synthetic transaction monitoring
- Observability
- Measurements
- Work metrics
- Resource metrics
- Events
- Telemetry
- Alerting
- Focus on recovery
- Performance
- Summary
- Security
- Shared responsibility model
- Security by design
- Accounts as code
- Defense in depth
- Edge layer
- Component layer
- Data layer
- Encryption
- Data in transit
- Data at rest
- Envelope encryption
- Tokenization
- Domain events
- Disaster recovery
- Application security
- Federated identity management
- API gateway
- JWT assertion and filter patterns
- Regulatory compliance
- Summary
- Cloud Native Application Design
- From monolithic to microservices and everything in between
- System design patterns
- Monolithic
- Client server
- Services
- Service-oriented architectures (SOAs)
- Microservices
- Why services matter
- Containers and serverless
- Containers and orchestration
- Registries
- Orchestration
- Container usage patterns
- Microservices with containers
- Hybrid and migration of application deployment
- Container anti patterns
- Serverless
- Scaling
- Serverless usage patterns
- Web and backend application processing
- Data and batch processing
- System automation
- Serverless anti patterns and concerns
- Development frameworks and approaches
- Summary
- How to Choose Technology Stacks
- Cloud technology ecosystems
- Public cloud providers
- Independent software vendor (ISV) and technology partners
- Customer managed products
- Software as a Service
- Consulting partners
- Niche SI partners
- Regional SI partners
- Global SI partners
- Procurement in the cloud
- Cloud marketplaces
- Marketplace and service catalogs
- Cloud marketplace anti-patterns
- Licensing considerations
- Cloud vendor pricing models
- Example - AWS Lambda pricing
- Open source
- Cloud services
- Cloud services - vendor versus self-managed
- Self-managed approach
- Managed cloud services
- Vender lock-in
- Operating systems
- Windows versus Linux
- Do operating systems really matter any longer?
- Summary
- Optimizing Cost
- Before the cloud
- Cloud cost view
- Cloud economics
- CapEx versus OpEx
- Cost monitoring
- Tagging best practices
- Cost optimization
- Compute optimization
- Storage optimization
- Serverless implications
- Cloud native toolkit
- Cloudability
- AWS Trusted Advisor
- Azure Cost Management
- Summary
- Scalable and Available
- Introduction to the hyper-scale cloud infrastructure
- Always-on architectures
- Always-on - key architectural elements
- Network redundancy
- Redundant core services
- Monitoring
- Infrastructure as Code
- Immutable deployments
- Self-healing infrastructures
- Core tenets
- Service-oriented architectures and microservices
- Cloud-native toolkit
- Simian Army
- Docker
- Kubernetes
- Terraform
- OpenFaaS (Function as a Service)
- Envoy
- Linkerd
- Zipkin
- Ansible
- Apache Mesos
- Saltstack
- Vagrant
- OpenStack projects
- Summary
- Amazon Web Services
- AWS' cloud native services (CNMM Axis-1)
- Introduction
- AWS platform - differentiators
- KRADL services
- AWS native security services
- Machine Learning/Artificial Intelligence
- Object storage (S3, Glacier, ecosystem)
- Application centric design (CNMM Axis-2)
- Serverless microservice
- API trigger
- Function
- Service
- Serverless microservice - sample walkthrough
- AWS Lambda function creation and configuration
- Configuring the Amazon API Gateway
- Setting up a Weather Service Account
- Testing the service
- Deploying the API
- Serverless microservice automation using AWS SAM
- SAM YAML template
- API definition Swagger file
- AWS Lambda code
- AWS SAM usage
- Automation in AWS (CNMM Axis-3)
- Infrastructure as code
- CI/CD for applications on Amazon EC2, Amazon Elastic Beanstalk
- CI/CD for serverless applications
- CI/CD for Amazon ECS (Docker containers)
- CI/CD for security services - DevSecOps
- Patterns for moving off monolithic application architectures to AWS native architectures
- Summary
- Microsoft Azure
- Azure's Cloud Native Services (CNMM Axis-1)
- Microsoft Azure platform - differentiators
- Azure IoT
- Azure Cosmos DB
- Azure machine learning studio
- Visual Studio Team Services
- Office 365
- Application Centric Design (CNMM Axis-2)
- Serverless microservice
- Serverless microservice - walkthrough
- Browser-based testing
- Command-line-based testing
- Automation in Azure (CNMM Axis-3)
- Infrastructure as code
- CI/CD for serverless applications
- CI/CD for Azure container service (Docker containers)
- Patterns for moving from monolithic application architectures to Azure native architectures
- Summary
- Google Cloud Platform
- GCP's cloud-native services (CNMM Axis-1)
- Introduction
- Google Cloud Platform - differentiators
- Cloud AI
- Kubernetes Engine
- G Suite
- Application Centric Design (CNMM Axis-2)
- Serverless microservice
- Serverless microservice - sample walkthrough
- Automation in the Google Cloud Platform (CNMM Axis-3)
- Infrastructure as code
- CI/CD for serverless microservices
- CI/CD for container-based applications
- Patterns for moving off from monolithic application architectures to Google cloud native architectures
- Summary
- What's Next? Cloud Native Application Architecture Trends
- Predictions for the next three years - what to expect in terms of cloud native architecture evolution
- Open source frameworks and platforms
- Increased abstraction from infrastructure services
- Systems will become smarter and AI/ML driven, starting with DevOps and moving on to NoOps
- Developers will natively develop new applications in the cloud, instead of first developing locally
- Voice, chatbots, and AR/VR-based interaction models will become prevalent, mainly powered by the cloud
- Cloud native architectures will expand beyond data centers to "things
- Data will continue to be new "oil
- The future of enterprises on the cloud
- New IT roles
- Summary
- Other Books You May Enjoy
- Leave a review - let other readers know what you think
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.