𝔖 Scriptorium
✦   LIBER   ✦

📁

Architecting Cloud Native Applications

✍ Scribed by Kamal Arora, Erik Farr, John Gilbert, Piyum Zonooz


Publisher
Packt Publishing
Year
2019
Tongue
English
Leaves
514
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Table of Contents


Cover
Title Page
Copyright and Credits
About Packt
Contributors
Table of Contents
Preface
Chapter 1: 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
Chapter 2: 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
Chapter 3: 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
Chapter 4: 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
Chapter 5: 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
Chapter 6: 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
Chapter 7: 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
Chapter 8: 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
Chapter 9: 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
Chapter 10: 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
Chapter 11: 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
Chapter 12: 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
Chapter 13: 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
Chapter 14: 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
Chapter 15: 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
Chapter 16: 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
Chapter 17: 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
Index


📜 SIMILAR VOLUMES


Cloud Architecture Patterns: Develop clo
✍ Bill Wilder 📂 Library 📅 2012 🏛 O'Reilly Media 🌐 English

If your team is investigating ways to design applications for the cloud, this concise book introduces 11 architecture patterns that can help you take advantage of cloud-platform services. You'll learn how each of these platform-agnostic patterns work, when they might be useful in the cloud, and what

Migrating to Cloud-Native Application Ar
✍ Matt Stine 📂 Library 📅 2015 🏛 O'Reilly 🌐 English

Adoption of cloud-native application architectures is helping many organizations transform their IT into a force for true agility in the marketplace. This O’Reilly report defines the unique characteristics of cloud-native application architectures such as microservices and twelve-factor applications

Migrating to Cloud-Native Application Ar
✍ Stine M. 📂 Library 🌐 English

Author: Matt Stine<br/>Publisher: O'Reilly<br/>Released: April 2015<br/>58p.<br/>[LSI] - 978-1-491-92422-8<div class="bb-sep"></div>Description<br/>Adoption of cloud-native application architectures is helping many organizations transform their IT into a force for true agility in the marketplace. Th

Migrating to Cloud Native Application Ar
✍ Stine M. 📂 Library 🌐 English

Moving to the cloud is a natural evolution of focusing on software, and cloud-native application architectures are at the center of how<br/>these companies obtained their disruptive character. By cloud, we mean any computing environment in which computing, networking,<br/>and storage resources can b

Cloud-Native Application Architecture :
✍ FreeWheel Biz-UI Team 📂 Library 📅 2023 🏛 Springer Nature Singapore 🌐 English

The authors of this book explore a way to build cloud-native microservice applications, based on years of practice. Presenting a range of real-world scenarios, from design, development, and testing to deployment, the book shows how teams can leverage cloud-native technologies to develop applications