1 option
Cloud native architecture and design : a handbook for modern day architecture and design with enterprise-grade examples / Shivakumar R. Goniwada.
- Format:
- Book
- Author/Creator:
- Goniwada, Shivakumar R., author.
- Language:
- English
- Subjects (All):
- Cloud computing.
- Physical Description:
- 1 online resource (730 pages)
- Place of Publication:
- Berkeley, CA : Apress, [2022]
- Summary:
- 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 cloud-native architecture and services, what cloud principles and patterns to use, and details of designing a cloud-native element. The book progresses to cover the details of how IT systems can modernize to embrace cloud-native architecture, and also provides details of various enterprise assessment techniques to decide what systems can move and cannot move into the cloud. Architecting and designing a cloud-native system isn't possible without modernized software engineering principles, the culture of automation, and the culture of innovation. As such, this book covers the details of cloud-native software engineering methodologies, and process, and how to adopt an automated governance approach across enterprises with the adoption of artificial intelligence. Finally, you need your cloud-native applications to run efficiently; this section covers the details of containerization, orchestration, and virtualization in the public, private, and hybrid clouds. After reading this book, you will have familiarity with the many concepts related to cloud-native and understand how to design and develop a successful cloud-native application. Technologies and practices may change over time, but the book lays a strong foundation on which you can build successful cloud-native systems. What You Will Learn Discover cloud-native principles and patterns, and how you can leverage them to solve your business problems Gain the techniques and concepts you need to adapt to design a cloud-native application Use assessment techniques and tools for IT modernization Apply cloud-native engineering principles to the culture of automation and culture of innovation Harness the techniques and tools to run your cloud-native applications and automate infrastructure Operate your cloud-native applications by using AI techniques and zero operation techniques Who This Book Is For Software architects, leaders, developers, engineers, project managers, and students.
- Contents:
- 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
- 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
- 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
- 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
- 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?.
- Notes:
- Description based on print version record.
- Includes index.
- ISBN:
- 9781484272268
- 1484272269
- OCLC:
- 1276855755
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.