๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

Mastering Cloud-Native Microservices: Designing and implementing Cloud-Native Microservices for Next-Gen Apps

โœ Scribed by Chetan Walia


Publisher
BPB Publications
Year
2023
Tongue
English
Leaves
352
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Synopsis


Get familiar with the principles and techniques for designing cost-effective and scalable cloud-native apps with microservices

Key Features

โ— Gain a comprehensive understanding of the key concepts and strategies involved in building successful cloud-native microservices applications.

โ— Discover the practical techniques and methodologies for implementing cloud-native microservices.

โ— Get insights and best practices for implementing cloud-native microservices.

Description

Microservices-based cloud-native applications are software applications that combine the architectural principles of microservices with the advantages of cloud-native infrastructure and services. If you want to build scalable, resilient, and agile software solutions that can adapt to the dynamic needs of the modern digital landscape, then this book is for you.

This comprehensive guide explores the world of cloud-native microservices and their impact on modern application design. The book covers fundamental principles, adoption frameworks, design patterns, and communication strategies specific to microservices. It then emphasizes on the benefits of scalability, fault tolerance, and resource utilization. Furthermore, the book also addresses event-driven data management, serverless approaches, and security by design. All in all, this book is an essential resource that will help you to leverage the power of microservices in your cloud-native applications.

By the end of the book, you will gain valuable insights into building scalable, resilient, and future-proof applications in the era of digital transformation.

What you will learn

โ— Gain insight into the fundamental principles and frameworks that form the foundation of modern application design.

โ— Explore a comprehensive collection of design patterns tailored specifically for microservices architecture.

โ— Discover a variety of strategies and patterns to effectively facilitate communication between microservices, ensuring efficient collaboration within the system.

โ— Learn about event-driven data management techniques that enable real-time processing and efficient handling of data in a distributed microservices environment.

โ— Understand the significance of security-by-design principles and acquire strategies for ensuring the security of microservices architectures.

Who this book is for

This book is suitable for cloud architects, developers, and practitioners who are interested in learning about design patterns and strategies for building, testing, and deploying cloud-native microservices. It is also valuable for techno-functional roles, solution experts, pre-sales professionals, and anyone else seeking practical knowledge of cloud-native microservices.

Table of Contents

1. Cloud-Native Microservices

2. Modern Application Design Principles

3. Microservice Adoption Framework

4. Design Patterns for Microservices

5. Cloud-Powered Microservices

6. Monolith to Microservices Case Study

7. Inter-Service Communication

8. Event-Driven Data Management

9. The Serverless Approach

10. Cloud Microservices - Security by Design

11. Cloud Migration Strategy

โœฆ Table of Contents


Book title
Inner title
Copyright
Dedicated
About the Author
About the Reviewer
Acknowledgement
Preface
Coloured Images
Piracy
Table of Contents
Chapter 1: Cloud-Native
Microservices
Introduction
Structure
Objectives
Understanding the cloud native microservices
Adopting cloud-native microservices
Capability maturity level model
Focus area: people, process and knowledge to achieve End-to-end accountability
Focus area: technology and design maturity for enabling Zero-touch operations
Play book for cloud-native microservices adoption
Key principles of microservices
Short case study 01: Snap on AWS
What can we learn from this example?
Short case study 02: Wynk Music App
What can we learn from this example?
The biggest challenges with microservices adoption
Short Case Study 03: UPWARD, Inc.
What can we learn from this example?
Short Case Study 04: The Government of India Powers a Population-Scale Vaccine Drive
What can we learn from this example?
SWOT analysis for your application stack
Short case study 05: IMDb Video Team Builds Strategies for the Future
What can we learn from this example?
Conclusion
Chapter 2: Modern Application Design Principles
Introduction
Structure
Objectives
Modern application design requirements
Availability
Scalability
Performance
Observability
Security
Resiliency
Cost optimization
Portability, being cloud-agnostic
Cloud-native
AI/ML enabled
DevOps delivery
Sustainability
The Twelve-Factor App methodology
Code base
Dependencies
Configurations
Backing services
Build, release, run
Processes
Port binding
Concurrency
Disposability
Dev/Prod parity
Logging
Admin processes
Going beyond the twelve factors
API first
Security
Conclusion
Chapter 3: Microservice Adoption
Framework
Introduction
Structure
Objectives
From monolith to microservices
Breaking the monolith: Strategies for building a microservice design
Organizing data into bounded contexts or domains
Building resilient microservices: Techniques for handling failure and faults
Monitoring microservices: Best practices for testing and debugging microservices
Embracing continuous delivery with DevOps
Enabling technologies for microservices
Docker and microservices: Use cases for containerization
Using Docker: Exploring the benefits of containerization
Container orchestration with Kubernetes
Advantages of using Kubernetes: Orchestration for scalability and availability
Components of Kubernetes
Alternatives to container orchestration: Other tools
Microservices adoption using Domain Driven Design
Domain-driven application decomposition steps
Short case study 06: Insurance Claim Processing
Using microservices correctly: Characteristics
Short case study 07: Modernizes Architecture Using Microservices
Using microservices correctly: Characteristics
Conclusion
Chapter 4: Design Patterns for Microservices
Introduction
Structure
Objectives
Design patterns for microservices
Decomposition pattern
Decompose by business capability
Decompose by subdomain
Decompose by transactions
Decompose by service per team
Bulkhead pattern for resiliency
Sidecar pattern for service mesh
Strangler pattern for legacy systems
Integration pattern
API gateway pattern for API management
API aggregator pattern for composite services
Gateway offloading pattern for performance
Gateway routing pattern for traffic shaping
Asynchronous messaging pattern for loose coupling
Branch pattern for parallel processing
Chained microservices pattern for sequencing
Database management pattern
Command Query Responsibility Segregator (CQRS) pattern for separation of concerns
Database per service pattern for decoupling
Shared database per service pattern for consistency
Event sourcing pattern for auditing and reconciliation
Saga pattern for long-running transactions
Choreography saga pattern
Orchestration saga pattern
Observability pattern
Health check API pattern for self-healing
Log aggregation pattern for centralized logging
Application metrics pattern for performance monitoring
Audit logging pattern for compliance
Exception tracking pattern for debugging
Monitoring Vs microservices observability
Cross-cutting concern pattern
Blue-green deployment pattern for zero-downtime
Canary pattern for incremental rollouts
Canary Vs blue-green deployment pattern for deployment strategies
Circuit breaker pattern for fault tolerance
External configuration pattern for dynamic configuration
Service discovery pattern for service registration and discovery
Conclusion
Chapter 5: Cloud-Powered Microservices
Introduction
Structure
Objectives
Data management design patterns
Materialized view
Sharding
Valet key
Design and implementation patterns
Ambassador
Anti-corruption layer
Backends for Frontends
Leader election
Messaging design patterns
Pipes and filters
Priority queue
Publisher-subscriber
Queue-based load levelling
Sequential convoy
Reliability
Compensating transaction
Deployment stamps
Geodes
Throttling
Conclusion
Chapter 6: Monolith to Microservices Case Study
Introduction
Structure
Objectives
Transitioning from monolith to microservices architecture
Monolithic to microservice design principle
Challenges of legacy systems
Strategies for updating legacy systems to microservices
Migrating Travelguru application to microservices: A Case Study
Case Study: Business Challenge
Case Study: Solution Delivered for Microservices Migration
Case Study: Technology Roadmap for Microservices Adoption
Case Study: Application Transition to Microservices Architecture
Case Study: Successful Database Migration to Microservices
Case Study: Business Outcome of Microservices Migration
Case Study: Best Practices Implemented in Microservices Migration
Conclusion
Chapter 7: Inter-Service Communication
Introduction
Structure
Objectives
Inter-Service communication
Challenges of distributed systems
Communication models
Synchronous inter-service communication
RESTful APIs
Remote Procedure Calls (RPCs)
gRPC Remote Procedure Calls
Asynchronous Inter-Service communication
Message brokers
Message broker models
Message broker software
RabbitMQ
Apache Kafka
IBM MQ
Azure service bus
Amazon Simple Queue Service (SQS)
Event-driven communication
Publish-subscribe architecture
Event-driven architecture
Event sourcing
Serialization
Serialization formats
Serialization libraries
Best practices for serialization
Service mesh
Features of service mesh
Tools/third-party products for service mesh
Istio service mesh
Idempotent operations
Implementing idempotency
Conclusion
Chapter 8: Event-Driven Data Management
Introduction
Structure
Objectives
Event-driven data management and data governance
Technologies for event-driven data management
AWS Kinesis
Google Cloud Pub/Sub
Azure event grid
Apache Kafka on Kubernetes
Event sourcing and CQRS
Event-based data replication
Event-driven data integration
Event-based data access control
Event-based data lineage
Data governance in microservices
Data privacy and compliance
Data Lifecycle Management
Conclusion
Chapter 9: The Serverless Approach
Introduction
Structure
Objectives
Understanding the serverless architecture
Use cases for Function-as-a-Service (FaaS)
Serverless framework
Key features
Function-as-a-Service platforms
AWS Lambda
Features of AWS Lambda
Advantages of AWS Lambda
Disadvantages of AWS Lambda
Azure functions
Features of Azure functions
Disadvantages of AWS Lambda
Google cloud functions
Serverless approach and edge computing
Serverless monitoring and logging
Serverless monitoring and logging is provided by Azure monitor
Serverless security
Best practices for serverless microservices development
Serverless microservices case studies
Conclusion
Chapter 10: Cloud Microservices -Security by Design
Introduction
Structure
Objectives
Cloud Microservices - Security by Design
Authentication and access control
Authentication and authorization mechanisms in cloud microservices
Role-based access control (RBAC)
Multi-factor authentication (MFA)
Access control lists (ACLs)
Communication security
Data security
Data security and encryption techniques for microservices
Security of data in transit and at rest
Immutable infrastructure
Container security
Monitoring and incident response
Compliance and risk management
Compliance and regulatory considerations
Threat modeling
Penetration testing
Infrastructure security
Threat detection and response
Continuous security monitoring
Conclusion
Chapter 11: Cloud Migration Strategy
Introduction
Planning and executing a cloud migration strategy
Structure
Objectives
Cloud migration goals
Capex and Opex cost optimization
Optimize resource consumption and dynamic elasticity
Vendor and application consolidation
Agility and innovation via DevOps, Multi-cloud, PaaS, AI/ML, IoT
Scalability, flexibility, and global reach
Reliability, availability, and security
Customer experience and insights
IT modernization and integration
Reduce, consolidate, and retire the physical data center footprint
Cloud migration principles
Security first: Secure the network, protect the data, and control access
Monitor and optimize workloads for cost
Deploy infrastructure as code
Make allocations match demand
Automate and implement DevOps practices
Training the staff for future mode of operations
Leverage cloud-native services
Cloud migration strategy
Business goals and objectives
Cloud service provider selection
Data security and compliance
Cost optimization
Scalability and flexibility
Legacy systems
Change management
Performance and reliability
Governance
Continuous improvement
Migration strategy
Migration plan
Skills and training
Performance and optimization
Data management
Vendor management
Stakeholder communication
Organizational change management
Cloud migration life cycle strategy
Assessment stage
Per application assessment stage
Planning stage
Design stage
Execution stage
Testing stage
Cutover stage
Big Bang Cutover
Phased Cutover
Parallel Cutover
Post cutover stage
Conclusion
Index
Back title


๐Ÿ“œ SIMILAR VOLUMES


Cloud Native Microservices Cookbook: Mas
โœ Varun Yadav ๐Ÿ“‚ Library ๐Ÿ“… 2024 ๐Ÿ› BPB Publications ๐ŸŒ English

Unlock the secrets of cloud-native success with step-by-step recipes for conquering every stage of microservice deployment Key Features โ— Develop, test, build, and deploy with cloud-native microservices. โ— Orchestrate microservices with containerization in the cloud. โ— Ensure cloud observabili

Cloud-Native Microservices with Apache P
โœ Rahul Sharma, Mohammad Atyab ๐Ÿ“‚ Library ๐Ÿ“… 2021 ๐Ÿ› Apress ๐ŸŒ English

Apply different enterprise integration and processing strategies available with Pulsar, Apache's multi-tenant, high-performance, cloud-native messaging and streaming platform. This book is a comprehensive guide that examines using Pulsar Java libraries to build distributed applications with message-

Cloud-Native Microservices with Apache P
โœ Rahul Sharma, Mohammad Atyab ๐Ÿ“‚ Library ๐Ÿ“… 2021 ๐Ÿ› Apress ๐ŸŒ English

Apply different enterprise integration and processing strategies available with Pulsar, Apache's multi-tenant, high-performance, cloud-native messaging and streaming platform. This book is a comprehensive guide that examines using Pulsar Java libraries to build distributed applications with message-

Cloud Native Applications with Jakarta E
โœ Kamalmeet Singh ๐Ÿ“‚ Library ๐Ÿ“… 2021 ๐Ÿ› BPB Publications ๐ŸŒ English

The book helps readers to get a basic understanding of features provided by the cloud and core concepts of cloud native development. A hands-on approach makes sure that after reading the book, one can straight away implement the concepts in their daily design and development activities. The book sta

Beginning Helidon: Building Cloud-Native
โœ Dmitry Kornilov, Daniel Kec, Dmitry Aleksandrov ๐Ÿ“‚ Library ๐Ÿ“… 2023 ๐Ÿ› Apress ๐ŸŒ English

<p><span>Learn how to build cloud-native microservices with Helidon - an open-source Java framework from Oracle. This book will show you how to take full advantage of the cloud by optimizing applications with fast start times, low memory consumption, and a small disk footprint.ย </span></p><p><span>T