My Account Log in

3 options

Cloud native development patterns and best practices : practical architectural patterns for building modern, distributed cloud-native systems / John Gilbert.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central College Complete Available online

View online

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

View online
Format:
Book
Author/Creator:
Gilbert, John, author.
Language:
English
Subjects (All):
Cloud computing.
Application program interfaces (Computer software).
Application software--Development.
Application software.
Physical Description:
1 online resource (316 pages)
Edition:
1st edition
Place of Publication:
Birmingham, England ; Mumbai, [India] : Palgrave Macmillan, 2018.
System Details:
text file
Summary:
Learn to apply cloud-native patterns and practices to deliver responsive, resilient, elastic, and message-driven systems with confidence About This Book Understand the architectural patterns involved in cloud-native architectures Minimize risk by evolving your monolithic applications into distributed cloud-native systems Discover best practices for applying cloud-native patterns to your enterprise-level cloud applications Who This Book Is For This book is for developers who would like to progress into building cloud-native systems and are keen to learn the patterns involved. Basic knowledge of programming and cloud computing is required. What You Will Learn Enable massive scaling by turning your database inside out Unleash flexibility via event streaming Leverage polyglot persistence and cloud-native databases Embrace modern continuous delivery and testing techniques Minimize risk by evolving your monoliths to cloud-native Apply cloud-native patterns and solve major architectural problems in cloud environment In Detail Build systems that leverage the benefits of the cloud and applications faster than ever before with cloud-native development. This book focuses on architectural patterns for building highly scalable cloud-native systems. You will learn how the combination of cloud, reactive principles, devops, and automation enable teams to continuously deliver innovation with confidence. Begin by learning the core concepts that make these systems unique. You will explore foundational patterns that turn your database inside out to achieve massive scalability with cloud-native databases. You will also learn how to continuously deliver production code with confidence by shifting deployment and testing all the way to the left and implementing continuous observability in production. There's more—you will also learn how to strangle your monolith and design an evolving cloud-native system. By the end of the book, you will have the ability to create modern cloud-native systems. Style and approach This book follows a pragmatic approach to understand cloud-native design patterns and explains the functioning and design considerations to build modern cloud-native systems in depth. Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the fil...
Contents:
Cover
Title Page
Copyright and Credits
Dedication
Packt Upsell
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
Chapter 3: Foundation Patterns
Cloud-Native Databases Per Component
Context, problem, and forces
Solution
Resulting context
Example - cloud-native database trigger
Event Streaming
Example - stream, producer, and consumer
Event Sourcing
Event-First Variant
Database-First Variant
Example - database-first event sourcing
Data Lake
Example - Data Lake consumer component
Stream Circuit Breaker
Example - stream processor flow control
Trilateral API.
Context, problem, and forces
Example - asynchronous API documentation
Example - component anatomy
Chapter 4: Boundary Patterns
API Gateway
Example - CRUD service
Command Query Responsibility Segregation (CQRS)
Example - inverse oplock
Example - event sourced join
Offline-first database
Example - offline-first counter
Backend For Frontend
Example - Author BFF
Example - Worker BFF
Example - Customer BFF
Example - Manager BFF
External Service Gateway
Outbound communication
Inbound communication
Example - user authentication integration
Chapter 5: Control Patterns
Event collaboration
Example - order collaboration
Event orchestration
Example - order orchestration
Saga
Example - order collaboration with compensation
Example - order orchestration with compensation
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
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
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
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
Chapter 10: Value Focused Migration
Risk mitigation
Anti-pattern - Lift and Shift
Anti-pattern - synchronous anti-corruption layer
Strangler pattern
Bi-directional synchronization and latching
Legacy change data capture
Empower self-sufficient, full-stack teams
Evolutionary architecture
Welcome polyglot cloud
Other Books You May Enjoy
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (EBC, viewed March 8, 2018).
OCLC:
1024274206

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