What this book covers
Chapter 1, Foundations of CI/CD Design Patterns, explains the significance of efficient CI/CD in modern organizations. It also provides an overview of the delivery pipeline and its components.
Chapter 2, Understanding Types of CI/CD Design Patterns and Their Components, talks about key considerations while designing pipelines and also explains the significance of Infrastructure as Code and pipeline as code in the deployment pipeline.
Chapter 3, Advancing on CI/CD Design Patterns – from Testing to Deployment, focuses on pipeline components and stages around artifact management and test automation. It also talks in depth about testing strategies and their significance while designing the delivery pipeline.
Chapter 4, Business Outcome Alignment with CI/CD Design Patterns, talks about how efficient CI/CD practices and architecture can be aligned with business goals such as improved user experiences. It also provides insights to users on some of the best practices to align implementation and adoption of CI/CD design patterns toward bigger business outcomes.
Chapter 5, Exploring Structural CI/CD Design Patterns, provides an overview of structural components in the pipeline and their interaction, especially in terms of monorepo or polyrepo source code repositories. It also talks about how to consider constructs such as the modularity of the pipelines and components while designing a pipeline.
Chapter 6, Deployment Strategies for Structural Design Patterns for CI/CD, talks about different deployment strategies and their trade-offs. It also introduces concepts such as data-driven DevOps where data/feedback loops are integrated into different components by default.
Chapter 7, Understanding Behavioral Design Patterns for CI/CD, discusses the pipeline components and their behavior. It also explains the importance of designing observability into the pipeline and its benefits, such as enhanced debuggability and reduced downtimes. More importantly, it also highlights using observability as a mechanism to improve the pipeline behavior and performance.
Chapter 8, Domain-Driven Design Patterns for Regulated Sectors, discusses the importance and challenges of applying the CI/CD practices in a regulated sector such as banking/finance or healthcare. This chapter also talks about security and access paradigms such as access controls and approval workflows and their importance and implementations.
Chapter 9, Applying Creational CI/CD Design Patterns, focuses on applying creational design patterns such as built-in resilience and scalability into the pipeline design considerations. It provides their implementation in terms of pipeline design for complex and modern software and different workloads (serverless to containers).
Chapter 10, Understanding Deployment Strategies – Creational CI/CD with Cloud Providers, covers the various implementations from different cloud providers and their examples. This chapter also talks about implementing CI/CD from a team topologies perspective and considerations.
Chapter 11, Auditing and Assessment of Design Patterns, discusses a maturity model for design patterns and also running audits while implementing one or multiple patterns for defining the pipeline.
Chapter 12, Advanced CI/CD Design Patterns and Use Cases, covers pipeline design for advanced use cases such as machine learning-based workflows or real-time utility-based workflows. It also talks about various challenges such as performance or implementation and how to solve them with different strategies.
Chapter 13, Exploring Anti-Patterns for CI/CD Design Pattern Deployments, talks about common mistakes to avoid while designing the pipelines.
Chapter 14, Appendix – Knowledge Test and Case Studies, talks about some real-world case studies and examples for designing pipelines.