Cloud native architecture and design a handbook for modern day architecture and design with enterprise-grade examples

Build enterprise-grade cloud-native systems and learn all about cloud-native architecture and design. This book provides extensive in-depth details of patterns, tools, techniques, and processes with plenty of examples. Cloud Native Architecture and Design begins by explaining the fundamentals of clo...

Descripción completa

Detalles Bibliográficos
Otros Autores: Goniwada, Shivakumar R., author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Berkeley, CA : Apress [2022]
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009634660406719
Tabla de Contenidos:
  • Intro
  • Table of Contents
  • About the Author
  • About the Technical Reviewer
  • Acknowledgments
  • Introduction
  • Part I: The Cloud Native Journey, Principles, and Patterns
  • Chapter 1: Introduction to Cloud Native Architecture
  • Introduction to Cloud Native
  • Cloud Adoption Across Industries
  • Reducing Costs
  • Adopting the Cloud Native Mindset
  • What Is Cloud Native?
  • Cloud Native Maturity Model
  • Cloud Enablement Wave
  • Cloud Native Transformation Wave
  • Scalability and Flexibility Advantage
  • Cloud Native Culture and Innovation Wave
  • Blockchain as a Service
  • Digital Twin
  • Zero Trust Architecture
  • 5G
  • Quantum Computing
  • Elements of Cloud Native Computing
  • Microservices Architecture
  • Serverless Architecture
  • Event-Driven Architecture
  • Cloud Computing
  • Containers
  • Agile Development
  • DevSecOps
  • How Is Cloud Native Different Than Cloud-Enabled?
  • Cloud Native Journey
  • Start with Lift and Shift
  • Re-engineer Migration
  • Benefits of Cloud Native
  • Cloud Native Organization and Culture
  • How Is Cloud Native Architecture Embraced Across Industries?
  • Migrate
  • Accelerate
  • Scale and Innovate
  • What Is a Software Architect's Role in Cloud Native?
  • Summary
  • Chapter 2: Cloud Native Services
  • Evolution of Infrastructure Services
  • Mainframe Services
  • Minicomputer Services
  • Personal Computing Service
  • Client-Server Service
  • Enterprise Computing Service
  • Cloud and Mobile Computing Services
  • IT Infrastructure Laws and Prediction
  • Moore's Law
  • The Laws of Mass Digital Storage
  • Metcalfe's Law
  • Communication Cost and Internet
  • Evolution of Servers
  • Bare-Metal Servers
  • Virtual Machine Revolution
  • Adoption of Virtual Machines
  • Virtual Machines in the Cloud
  • Container Revolution
  • Understanding Cloud Services
  • Infrastructure as a Service
  • Platform as a Service.
  • PaaS Taxonomy
  • PaaS Architecture Styles
  • PaaS Deployment Model
  • Software as a Service
  • SaaS Limitations
  • Architectural Considerations: How to Decide on a Custom vs. SaaS Platform
  • Cloud Computing Deployment Models
  • Public Cloud
  • Private Cloud or On-Premises Cloud
  • Community Cloud
  • Hybrid
  • Cloud Services
  • Summary
  • Chapter 3: Cloud Native Architecture Principles
  • What Are Architecture Principles?
  • Cloud Native Design Principles
  • API First Principle
  • Monolithic Architecture Principle
  • Polylithic Architecture Principle
  • Applying the Polylithic Principle in Architecture
  • Properties of Polylithic Principles
  • Polyglot Persistence Principle
  • Applying the Polyglot Persistence Principle in Architecture
  • Modeled with Business Domain Principle
  • Consumer First Principle
  • Decentralize Everything Principle
  • Culture of Automation Principle
  • Always Be Architecting Principle
  • Interoperability Principle
  • Digital Decoupling Principle
  • Single Source of Truth Principle
  • Evolutionary Design Principle
  • Cloud Native Runtime Principles
  • Isolate Failure Principle (IFP)
  • Deploy Independently Principle
  • Be Smart with State Principle
  • Location-Independent Principle
  • Design for Failure Principle
  • Security Principles
  • Defense in Depth Principle
  • Security by Design Principle
  • SQL Injection
  • Cross-Site Scripting (XSS)
  • Software Engineering Principle
  • Products Not Projects Principle
  • Shift-Left Principle
  • Shift-Left Security
  • Shift-Left Performance
  • Container Principles
  • Single Concern Principle
  • High Observability Principle
  • Lifecycle Conformance Principle
  • Image Immutability Principle
  • Process Disposability Principle (PDP)
  • Self-Containment Principle
  • Runtime Confinement Principle
  • Principles of Orthogonal
  • Cohesion
  • Types of Cohesion
  • Function Cohesion.
  • Sequence Cohesion
  • Communication Cohesion
  • Procedural Cohesion
  • Temporal Cohesion
  • Logical Cohesion
  • Coincidental Cohesion
  • Applying High Cohesion to Software Design
  • Coupling
  • Types of Coupling
  • No Coupling
  • Message Coupling
  • Data Coupling
  • Stamp Coupling (Data-Structured Coupling)
  • Control Coupling
  • External Coupling
  • Common Coupling (Global Coupling)
  • Content Coupling (Pathological Coupling)
  • Law of Demeter (LoD) or Principle of Least Knowledge
  • Applying Loose Coupling to Software Design
  • Software Quality Principles
  • KISS Principle
  • Applying KISS to Software Design
  • Don't Repeat Yourself
  • Duplication Is Waste
  • The DRY Principle in Polylithic and Polyglot Architecture
  • How does the DRY principle reduce maintenance costs?
  • Isolate
  • What do we mean by isolation?
  • Isolation in Cloud Native Applications
  • Applying Isolation to Software Design
  • Separation of Concern
  • Applying SoC to Software Design
  • Use Layering
  • Layering in Traditional Application
  • Layering in Cloud Native Application
  • Applying Layering to Software Design
  • Information Hiding
  • Why Information Hiding?
  • Applying Information Hiding to Software Design
  • You Aren't Gonna Need It
  • Idea of YAGNI
  • How to Decide What You Need
  • SOLID Design Principles
  • Single Responsibility Principle
  • Applying Single Responsibility to Microservice Design
  • Open-Closed Principle
  • Applying Open-Closed to Microservices
  • Liskov Substitution Principle
  • Applying Liskov Substitution to Microservices Design
  • Interface Segregation Principle
  • Dependency Inversion Principle
  • Summary
  • Chapter 4: Cloud Native Architecture and Design Patterns
  • Evolution of Design Patterns
  • What Are Software Patterns?
  • Architecture Style, Architecture Pattern, and Design Pattern
  • Anti-pattern.
  • Cloud Native Data Management Pattern for Microservices
  • Event Sourcing Pattern
  • Stream
  • Event Store
  • Command and Query Responsibility Segregation Pattern
  • Application Layer Command and Query
  • Command and Query in the Database
  • Data Partitioning Pattern
  • Horizontal Partitioning or Sharding
  • Range Based or Interval Partitioning/Sharding
  • Hash Partitioning/Sharding
  • List Partition
  • Round-Robin Partitioning
  • Vertical Partitioning
  • Data Replication
  • Leader-Based or Leader-Followers Replication
  • How are the leaders selected?
  • Quorum-Based Replication
  • Cloud Native API Management Patterns for Microservices
  • Idempotent Service Operation
  • Optimistic Concurrency Control in API
  • Circuit Breaker
  • Service Discovery
  • Client-Side Discovery Pattern
  • Server-Side Discovery Pattern
  • Service Versioning
  • URI Versioning
  • Header Versioning
  • Cloud Native Event-Driven Patterns for Microservices
  • Asynchronous Nonblocking I/O
  • What is synchronous and asynchronous messaging?
  • Stream Processing
  • Cloud Native Design Pattern for Microservices
  • Mediator
  • Orchestration
  • Strangler Pattern
  • Bulkhead Pattern
  • How does the bulkhead pattern work?
  • Anti-corruption Pattern
  • Cloud Native Runtime Pattern for Microservices
  • Fail Fast
  • Retry
  • Sidecar
  • Init Containers
  • Saga Pattern
  • Event Driven and Choreography
  • Orchestrator-Based Saga Pattern
  • Summary
  • Part II: Elements of Cloud Native Architecture and Design
  • Chapter 5: Microservices Architecture and Design
  • Evolution of Microservices
  • What Is a Microservices Architecture?
  • Characteristics of Microservices
  • Organized Around Business Capabilities
  • Autonomous
  • Smart Endpoints and Dumb Pipes
  • What Is a Service Mesh?
  • Smart Endpoints and Dumb Pipes with Service Meshes
  • What Is an Event Mesh?
  • Resilience in Microservices.
  • Resilience Capabilities
  • How to Build Resilient Microservices?
  • Elasticity in Microservices
  • Distributed State
  • How to Handle Distributed State with Asynchronous microservices
  • Independently Deployable
  • Decentralization
  • Decentralized Governance
  • Decentralized Data
  • Automation
  • Containerization
  • Design for Failure
  • How Do You Design a Microservice for Failure and Stability?
  • Living Continuous Design
  • Self-Healing
  • Hexagonal Architecture
  • Enterprise Microservices Examples
  • Case Study: Trade Finance
  • What Is Trade Finance?
  • Trade Finance Ecosystem
  • Trade Finance Functional Architecture
  • Case Study: Collateral Management
  • Collateral Management Functional Architecture
  • Collateral Management Architecture
  • Microservices and User Interface: Micro Front End
  • Routing
  • Composition
  • Communication
  • Pros and Cons of Micro Front Ends
  • Microservice Architecture in Artificial Intelligence
  • AI Subcategories
  • Microservices Vertical Components: Speech AI
  • Summary
  • Chapter 6: Event-Driven Architecture
  • Evolution of Event-Driven Architecture
  • Tightly Coupled World to Loosely Coupled World
  • Message Broker World to Event World
  • Event
  • Business Events
  • Technical Events
  • Processing an Event
  • Event Handling in Domain Context
  • Event Governance
  • What Is Event-Driven Architecture?
  • How Does Event-Driven Architecture Work?
  • Event-Driven Topologies
  • Mediator Topology
  • Broker Topology
  • Choice of Topology
  • Characteristics of Event-Driven Architecture
  • Event-Driven Messaging Models
  • Event Messaging
  • Event Streaming
  • Event Processing Styles
  • Simple Event Processing
  • Event Stream Processing
  • Complex Event Processing
  • Event-Driven Architecture Maturity Model
  • Decoupling Use Case by Using Event-Driven Architecture
  • Make Data Accessible
  • How to Get Events and Make Data Accessible?.