My Account Log in

1 option

Cloud native architecture and design : a handbook for modern day architecture and design with enterprise-grade examples / Shivakumar R. Goniwada.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
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.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account