Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Strategizing Continuous Delivery in the Cloud
Strategizing Continuous Delivery in the Cloud

Strategizing Continuous Delivery in the Cloud: Implement continuous delivery using modern cloud-native technology

Arrow left icon
Profile Icon Garima Bajpai Profile Icon Thomas Schuetz
Arrow right icon
R$50 per month
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (6 Ratings)
Paperback Aug 2023 208 pages 1st Edition
eBook
R$80 R$200.99
Paperback
R$250.99
Subscription
Free Trial
Renews at R$50p/m
Arrow left icon
Profile Icon Garima Bajpai Profile Icon Thomas Schuetz
Arrow right icon
R$50 per month
Full star icon Full star icon Full star icon Full star icon Full star icon 5 (6 Ratings)
Paperback Aug 2023 208 pages 1st Edition
eBook
R$80 R$200.99
Paperback
R$250.99
Subscription
Free Trial
Renews at R$50p/m
eBook
R$80 R$200.99
Paperback
R$250.99
Subscription
Free Trial
Renews at R$50p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Strategizing Continuous Delivery in the Cloud

Planning for Continuous Delivery in the Cloud

This chapter provides a brief introduction to continuous delivery (CD) concepts, their relevance, and their benefits. In addition, we will also describe the step-by-step implementation of CD with the help of some industry-wide used tools and techniques, as follows:

  • Understanding the CD ecosystem
  • Key benefits of CD
  • From continuous integration (CI) to CD
  • Progressive delivery
  • Cloud-based implementations of CD

Understanding the CD ecosystem

This chapter is intended to reflect the recent development and evolution of the software delivery approach, mostly focusing on changes to CD and connected advancements underpinned by the emergence of CI technologies, new tools, processes, practices, and management structures. To understand the advancements of CD in the cloud better, it is important to connect the dots and learn about internal and external factors influencing the advancement of CD. The term CD has been around for a long time; yet, let us start from the basics. The most widely referred definition of CD is provided by Jez Humble (and can be found at https://continuousdelivery.com/):

“Continuous Delivery is the ability to get the changes of all types of new features, config changes, bug fixes, and experiments into production or into the hands of the user safely and quickly in a sustainable way.”

With advancements in CD, there are several attempts to redefine or refine the definition of CD. For example, AWS (at https://aws.amazon.com/devops/continuous-delivery/) defines CD as follows:

“Continuous delivery is a software development practice where code changes are automatically prepared for a release to production.”

According to another definition by Azure (at https://docs.microsoft.com/en-us/devops/deliver/what-is-continuous-delivery), CD is defined as follows:

“Continuous delivery (CD) is the process of automating build, test, configuration, and deployment from a build to a production environment.”

To understand it from Google’s perspective (at https://cloud.google.com/solutions/continuous-delivery), it is simply the following:

“End-to-end automation from source to production.”

Although there are variances and differences in definitions of CD, it makes it easier for us to reflect that CD is evolving and is defined by a set of characteristics that work together in the ecosystem.

As we move ahead in this book, we will describe the building blocks of CD and their relationship.

Defining the CD ecosystem

For now, let’s try to understand the factors influencing the evolution of CD to define the ecosystem:

  • Speed: It is evident that most of the definitions of CD lead to automation, making it visible that speed is one of the core drivers for the evolution of the CD and its connected ecosystem. Many key advancements are linked to removing the bottleneck to speed and lead time: starting from the evolution of practices such as CI/CD to the explosion of cloud-based pre-built pipelines, as well as including automation in build-test-deploy practices.
  • Security: The fundamental shift toward securing software and addressing key risks with the utmost priority has led to the systematic evolution of the CD ecosystem with new tools and techniques, including security from the inception stages of CD.
  • Software development itself: Developers are inclined to move away from traditional approaches to software development to more modern ways with the integration of Agile methodology, making use of more progressive, efficient tools and processes to eliminate lead times and quality issues. One example of such an application is Azure Boards, which provides a choice of Agile planning tools, many of which work in combination with CD practices.
  • Software life cycle management: With velocity, scale, interdependence, and the growing complexity of the software landscape comes the need to simplify software life cycle management. Quick discovery and fixing of software bugs, accelerating software updates, comprehensive assessment of dependencies, and razor-sharp focus on vulnerability management are essential elements.
  • Software operations: Finally, the return on investment (ROI) on software is realized in production. DevOps, SRE, and the emergence of cloud-based services are revolutionizing our CD ecosystem with a focus on building cross-functional teams, platforms, and tools.

The preceding factors indicate that the CD ecosystem comprises dynamic internal and external components. Taking inspiration from a natural ecosystem, if we attempt to define the CD ecosystem, we come up with this:

The CD ecosystem is a distributed, adaptive, and techno-functional system of CD practices, processes, tools, and techniques that support the evolution of CD.

Characteristics of the CD ecosystem

In order to be able to deliver continuously, we need a system of practices, processes, tools, and techniques that are reliable and can produce repeatable results consistently. Some of the basic ingredients for providing such outcomes are the following:

  • Self-organizing and adaptive: The CD ecosystem, as with any other such system, must be in a state of equilibrium. No single specific outcome can drive the construct and choice of practices, tools, or techniques entirely. For example, speed is one driver for CD, but the ecosystem must have components that keep the ecosystem close to equilibrium by including components/tools through which dynamics of security, speed, quality, and value are presented in a balanced way.
  • Dynamic: The CD ecosystem consists of evolving tools and practices and integrates with emerging technology, so it makes sense that the CD ecosystem is dynamic. For example, the evolution of Kubernetes from an internal container ecosystem at Google managed by a community of contributors into an enterprise-grade de facto orchestration engine, with its adoption by cloud providers, adds an array of new features to CD. Interoperability and event-driven architecture evolution are key areas of progress to emphasize the dynamic characteristic of the CD ecosystem.
  • Distributed: The CD ecosystem should be able to provide our developers and practitioners with an array of tools and services. It connects directly to the evolution of the marketplace approach. For example, cloud service providers such as Azure enable you to build and deploy applications on an array of platforms and languages. Azure also offers two options for version control—Git and Azure Repos, and many more such choices.
  • Supports an “as-a-service” model: With time, the key components of the CD ecosystem will be degraded or replaced by other new and advanced features. We must focus on a consumption-based model for features and measure their usage over time. One of the key drivers of an as-a-service model is that it helps to build a self-regulating and self-sustaining ecosystem. Many services from cloud-based CI/CD tools and application vendors have community versions and tiered subscriptions for on-premises, hybrid, or enterprise versions, supporting a pay-per-use pricing model.

Key components of the CD ecosystem

For any ecosystem to thrive, the key components must act together to advance it by catering to evolving demands. The CD ecosystem will continue to evolve if progressive tools and applications continue to challenge the status quo – right from basic CI/CD tools and applications for version control and workflow automation through to specialized cloud-native CI/CD tools that can be run on any cloud and build a strong progressive foundation anywhere.

The CD ecosystem comprises three key components that continuously steer the evolution of the ecosystem by delivering value within and outside the boundaries of the ecosystem CI/CD tools and applications: consumers, producers, and practitioners. Let us look at them in detail:

  • The role of CI/CD tools and applications as a consumer: The increasing adoption of digital technologies creates huge market potential for CD. If CD provides a competitive advantage to organizations by delivering software features frequently reliably and cost-effectively, the ecosystem is bound to flourish. The role of consumers in the ecosystem is to provide feedback to CI/CD tools and application vendors and continue to experiment and modernize the CI/CD pipeline with progressive features, tools, and applications to help unlock new revenue streams.
  • The role of CI/CD tools and applications as producers: The CI/CD ecosystem needs investment and integration with emerging technologies to facilitate a competitive advantage for consumers. The tools and applications that are the foundation of the CD ecosystem should also be the consumers of the ecosystem. For example, CI/CD tools and applications are often architected with microservices and rely on container-based deployment. They are designed to support interoperability and integrate well with other cloud-native tools and cloud-based services.
  • The role of CI/CD practitioners as an actor in an ecosystem: The practitioners are the final actors in the ecosystem through which value is realized. The practitioners will churn out the waste in the CI/CD pipeline. Through the adoption of various tools and applications, practitioners will continuously optimize the ecosystem, and create perspectives on new applications, tools, and features. For example, pushing toward more interoperability standards with the rise of hybrid pipelines, the adoption of co-pilot features, and a more platform-centric approach toward CD to deliver software features seamlessly is paving the way for new developments.

Managing the CD ecosystem

Several organizations have already embarked on their CD journeys. With that, the need to effectively manage investments, develop and improve the current technical adoption, and steer strategic outcomes through CD becomes an urgent priority.

Many industry reports highlight that the full potential of CI/CD and the connected ecosystem is yet to be realized. There are multiple reasons associated with this, such as siloed initiatives, ad hoc investment, and lack of upskilling. These factors indicate the need to manage the CI/CD landscape with a multidimensional outlook.

The management of CD also must be structured yet agile in a way. Planning, organizing, implementing, and monitoring the outcome of CD must be modern and fit for purpose. To avoid delays, bottlenecks, and constraints, the management process should be tailored to CD.

In this subsection, we will present some guidance on effectively managing CD. We will start with a CD reference architecture, further elaborate on the role of CD frameworks, and eventually highlight the need to have a CD Community of Practices (CoPs). In subsequent chapters, we will detail these aspects along with other important dimensions of creating and implementing CD in the cloud strategically:

  • CD reference architecture: This refers to the abstract concepts that can outline a structure or a construct for CD:
    • Provides a common vocabulary
    • Provides guidance about the functions and their interaction (e.g., APIs)
    • Can be defined at a different level of abstraction
    • Can be instantiated for a particular domain or specific projects
    • Can be mapped to specific sets of goals, as no single architecture can fulfill all needs

An example of a reference architecture and associated service offering in the cloud is Open Source on AWS: https://aws.amazon.com/blogs/devops/choosing-a-well-architected-ci-cd-approach-open-source-on-aws/.

Another example of a CD reference architecture is one being worked on by the Continuous Delivery Foundation (CDF):

  • A CD framework: A framework is a pre-built general or special-purpose architecture that’s designed to be extended for a set of consumers, such as the healthcare industry, the defense sector, or the financial community. CD tools, along with cloud technologies, are constantly undergoing changes to improve the software development environment and practices. It is hard to keep pace with upskilling without structured support from the community of practitioners.

As an example of a community of practice, here are a collection of technical articles and blogs published or curated by Google Cloud Developer Advocates: https://medium.com/google-cloud.

The AWS Community Builders program is one of the unique programs launched by AWS for the community of practitioners to share resources and educational content and build a networking ecosystem to support the community.

Other communities provide similar guidance: the DevOps Institute’s DevOps in the Wild community and the CDF community for open source CD tools and best practices, to name two.

So far, we have introduced some terminology we will use throughout the book, and this section has ensured that you have a good understanding of the main concepts of CD and its key components. We also touched upon the aspects of CD in the cloud, which will be illustrated in the following chapters in detail.

Key benefits of CD

In this section, we will look at the benefits of CD in more detail. Building upon the idea of the key characteristics of CD being speed, enabling security and progressive practices for software development, and operation and life cycle management, let’s look at the benefits.

There are some industry references. DevOps Research And Assessment (DORA) is an initiative by Google to support organizations to achieve high performance by embracing DevOps according to actionable guidance, DORA metrics (https://cloud.google.com/blog/products/devops-sre/using-the-four-keys-to-measure-your-devops-performance), which can give you a measure of the positive business outcomes from adopting CD. For us, it will be easier to map the key characteristics to the business outcomes and key benefits of CD:

Characteristics of CD

Description

Business outcome

Speed

How frequently can we release?

% gains on market shares from launching new products and services

Security

How trustworthy are we?

% reduction of the cost of risk mitigation and cost avoidance of security breaches

Agility in software development

How fast can we respond to the changing needs of the customer?

% revenue gains on the accelerated time to market for changes and new products

Simplifying software life cycle management

How resilient are we?

% gains from the cost reduction of application failures

Collaboration with software operations

How effectively do we communicate and share information between teams?

% gains from enhanced team productivity

Table 1.1 — Mapping CD characteristics to key benefits

Let us now look at the benefits of CD in the cloud.

Benefits of CD in the cloud

Taking one step forward, cloud service providers combined the benefits with the service offerings to facilitate better business outcomes:

Characteristics of CD

Business outcome

Service offering of cloud service providers

Speed

% gains on market share from launching new products and services

Automate the software delivery process through an already tested CI/CD pipeline.

Improve developer productivity by removing mundane tasks.

Agility in software development

% revenue gains on accelerated time to market for changes and new products

Feature development in increments, which are discrete and small so they can be delivered with agility.

Security

% reduction of the cost of a long list of risk mitigation and cost avoidance strategies aimed at security breaches

Cloud providers offer a marketplace of security tools, which can be easily integrated with the pre-built pipelines through APIs.

Simplifying software life cycle management

% gains from the cost reduction of application failures

With managed services from cloud providers, it is easier to roll out updates. What used to take weeks and months can now be done in days or even hours.

Collaboration with software operations

% gains from enhanced team productivity

Implementing practices adopted by several organizations.

Example: AWS has a number of certified DevOps Partners who can provide resources and tooling.

Table 1.2 — Mapping CD’s benefits to cloud service provider offering

In this section, you read a short overview of the CD ecosystem and how it can help you in achieving your goals. In the next sections, you will be introduced to the differences between CI and CD and where CD in the cloud can support you.

From CI to CD

When delivering software to our customers, the customer assumes that it runs reliably and without significant problems. Any misfunction or outage of the software—depending on its purpose—might lead to a loss of reputation on the customer side and the people and company that developed the software. Think of an issue where code was written weeks or months ago, the software is already deployed in the customer’s environment, and it crashes randomly after some time. While troubleshooting, we might tackle the following issues:

  • Time pressure: As the software has already been delivered to production and customers have been affected by its misbehavior, it is obvious to provide a resolution during this process. As people providing this might work under pressure, it’s not unlikely that new issues might be introduced.
  • Determine which change introduced the misbehavior: In our case, the change might have been introduced a long time ago, so one of our major challenges might be finding out when or in which context the change has been introduced.
  • Finding the needle in the haystack: Our software might consist of lots of components. If we can’t find out which change introduced the issue, we might want to find where in the code it happens.
  • Dev/prod parity: As our working copy of the code might already have progressed further than the version we are fixing the issue for, we will also have to update newer versions of the software.

These are only examples of problems we might face while fixing such issues. To tackle such cases, we want to find problems in our software very early and build automation around building, testing, and publishing artifacts, called CI. The process of CI should ensure that the code checked in is continuously built and tested. Therefore, problems are found at a very early stage.

Using CI and CD methods, we can find problems early and avoid them hitting the customer’s system. Before we dive deeper into CD processes and implementation, we will take a brief look at the building blocks of a typical CI/CD infrastructure:

Figure 1.1 – Building blocks of a CD infrastructure

Figure 1.1 – Building blocks of a CD infrastructure

In current development setups, developers store their code in source code management (SCM) systems, such as Git, Mercurial, or Subversion. CI systems, such as Jenkins or Tekton, can either watch these repositories for changes on specific branches or tags or get triggered by the SCM systems to initiate workflows. These workflows may include static code analysis steps, such as linting and static security checks, before building, but also more dynamic tests, which can only be done against the running system, such as API tests or Dynamic Application Security tests.

Usually, these steps run on every commit in so-called feature branches. At some point in time, a developer might decide that a developed code part (feature) might be finished and therefore include it in the shared code base and raise a pull or merge request. As a best practice, there might be code reviews for this integration step, which can be automatic or manual. Humans will do the manual part. Furthermore, automatic checks can be done by a CI workflow, which should ensure that the code checked into the code repository is not only compilable but also stable and, in the best case, secure.

Depending on the release strategy, a successful merge to a central shared repository could trigger the CD process. This could also be done when the code is merged into specific branches or with defined tags. As discussed in later chapters of this book, the code will be deployed in various environments (stages) during the further CD process, and tests should ensure that the software is in a deployable state at the end of the process, and that deliverable artifacts are available. Although the terms CI and CD are often used interchangeably, the process of deploying automatically to the production systems is called CD.

In this section, we learned that it is important to find problems in software early by building and testing software continuously. Furthermore, CD helps us keep the software in a deployable state at any time. Last but not least, CD can help us in accelerating our time to market by deploying to production automatically.

Progressive delivery

Many issues could come up with continuously deploying to production. Even if the software is tested well during the previous phases and our deployment mechanisms are working perfectly, we can encounter situations where everything is running from a technical perspective and still the experience for the end users is very dissatisfying. For instance, a customer might click on a button on a website, and it takes about 30 seconds to get a response, although there is not much load on the system. Such things could come up because the software is not tested under the conditions present in the production environment, and the things users are executing have not been tested in this constellation before. Long story short, we should always aim to deploy our software often and automatically, but we need additional mechanisms that safeguard our deployment process. One of them is progressive delivery.

“Progressive delivery is the process of pushing changes to a product iteratively, first to a small audience and then to increasingly larger audiences to maintain quality control.”

(Orit Golowinski, https://www.devopsinstitute.com/progressive-delivery-7-methods/)

Using progressive delivery, the software is deployed in a phased way, ensuring that not all users are affected by a problem. In Chapter 6, we will take a closer look at Blue-Green Deployments and Canary Releases, which can be used to not only create preview environments but also to shift production traffic between different versions of a product. At this point, we are able to deploy automatically after a new feature has been introduced and might be able to deliver it to a small user base to see how it performs. As we aim for automation and might not want to make such decisions manually, modern progressive delivery controllers are able to make such decisions based on data. For instance, a new software version gets automatically deployed to 1 of 5 production environments. We want to ensure that requests do not take longer than 500 milliseconds, and in the newer release, the response time must not be more than 10% higher than before. Therefore, we monitor such parameters and configure our progressive delivery controller to wait for some time and shift the next 20% of traffic if our conditions are met.

Progressive delivery is not only used to limit the blast radius of errors but also to validate user acceptance of newly implemented features. Using observability data, we could also find out whether there is a decrease in orders in various timeframes when a new feature is rolled out and can automatically roll back the feature in this case.

We will dive deeper into the various deployment strategies, as well as observability and feature flagging, in Chapter 6 and Chapter 7.

Cloud-based implementations of CD

All of the things we discussed in the previous sections could be implemented in your own data center. The code could be hosted in a repository, a local CI server might watch for changes, and CD tooling could deploy the applications to the production environments. In the rest of the book, however, we will mainly cover CD in the cloud. Therefore, we assume that the software is built, deployed, and operated in cloud environments. We will go more into detail on cloud characteristics and delivery models in Chapter 2. In this section, we will deal with a few technologies, as well as the benefits and drawbacks when doing CD in the cloud.

When dealing with CD and deployment, we will often refer to cloud-native applications and technologies, which are defined as follows.

Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil (the Cloud Native Computing Foundationhttps://www.cncf.io/about/who-we-are/).

As defined previously, many technologies and products may be involved when delivering cloud-native systems. We will often hear three terms: virtualization, containers, and container orchestration/Kubernetes. Let us look at them in some detail:

  • Virtualization is one of the core techniques in cloud computing and allows more efficient usage of resources and supports the implementation of typical cloud characteristics; for example, on-demand self-service, resource pooling, and rapid elasticity. Using virtualization allows the abstraction of software from hardware; typically, virtualization is referred to the usage of virtual machines, where compute resources of one physical host are partitioned into multiple virtual machines.
  • Containers provide a way to package the runtime environment, as well as the application code, into a single artifact that can run on a container runtime. While containers have existed for a long time in the industry (OpenVZ and BSD jails), Docker extended the technology to build containers in a systematic way and to easily add containerization to the development process. While virtual machines introduce some overhead into the system, as they mostly run their own kernel, containers run with almost no overhead, which leads to much better resource usage and a higher possible load of workloads on one machine.
  • Container orchestration deals with many containers in many physical environments and ensures that container workloads are not only scheduled on the right node but also get the resources they need. At the time of writing, Kubernetes is the de facto standard for container orchestration. One of the main benefits of using a container orchestration platform is the simple fault tolerance and scaling of applications. The scheduler of the platform takes care of the desired number of containers and the user’s needs, and—if the resources are available—manages them according to the configured specifications. Furthermore, the usage of such an infrastructure enforces the operators to use configurations, which may either be in the format provided by the platform or in a framework for managing deployments for this platform. As a result, the used infrastructure is documented in code and can be recreated and duplicated with little effort. Orchestration platforms generally provide load-balancing mechanisms and the possibility to define health and readiness checks, which makes it easy for users to build auto-scaling applications.

When deploying to cloud-based systems, we also must think about the infrastructure. To define the infrastructure, the term Infrastructure as Code has emerged, which is the practice of describing the target state of the infrastructure in declarative language. One of the major challenges we will also cover in this book is the convergence of the infrastructure and the application deployment.

Every major cloud service provider provides a framework for deploying applications automatically to their environment. There are Infrastructure-as-Code modules available for various toolsets and proprietary solutions. As a further consequence, each cloud provider provides a managed code repository and CI tooling to build software from code and container registries to store the container images. Last but not least, there are many possibilities for running containers/applications in the cloud providers, such as a managed Kubernetes service:

Service

AWS

GCP

Azure

Code Repository (Git)

Code Commit

Cloud Source

Azure Repos

CI Pipeline

Code Pipeline

Cloud Build

Azure Pipelines

Container Registry

Elastic Container Registry

Container Registry

Azure Container Registry

Managed Kubernetes

Elastic Kubernetes Service (EKS)

Google Kubernetes Engine (GKE)

Azure Kubernetes Service (AKS)

Table 1.3 — Examples of cloud services for CD

In this section, we discussed a few basics of cloud-based CD implementation and services, which can be consumed through cloud providers. As we progress through this book, we will use the resources provided by these cloud providers, as well as tools that can be installed on cloud provider resources.

Summary

In this chapter, we introduced the foundational aspects of CD, starting with its definition and characteristics, and explaining the CD ecosystem at a high level.

Once we learned about all the benefits of CD, we took a closer look at the technical side and its prerequisites and learned that CI helps us build and test software continuously. Furthermore, CD ensures that our software is in a deployable state at any time, and Continuous Deployment, which is often used interchangeably with CD automates the deployment of our application to production systems.

As failures in automated deployments could have a very large blast radius, progressive delivery can reduce this by gradually deploying the application to a limited number of users. To also automate the evaluation of the behavior of the systems, we might rely on data from our observability solution to make decisions if the criteria to shift more traffic to the new version are met. Last but not least, we can also use these mechanisms to assess the business impact of a new feature and take action if this leads to, for example, a loss of revenue.

In the final part of this chapter, we started to deal with cloud-specifics related to CD that we will need in future chapters of the book. Therefore, we introduced and explained the terms Virtualization, Containers, and Container Orchestration and learned that we need to take care of our infrastructure (using Infrastructure as Code) before deploying applications on it. Finally, we discovered that there are many cloud services that will help us on our journey to CD in the cloud.

Throughout the next chapter, we will go deeper into the characteristics of the cloud and its delivery models. Furthermore, you will learn why delivering to the cloud is different from traditional environments.

Further reading

  • The book Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation by Jez Humble and David Farley
Left arrow icon Right arrow icon

Key benefits

  • Modernize continuous delivery in the cloud with strategic goals and objectives
  • Master continuous delivery with the right tools, applications, and use cases
  • Perform multi-cluster and multi-cloud deployments efficiently

Description

Many organizations are embracing cloud technology to remain competitive, but implementing and adopting development processes while modernizing a cloud-based ecosystem can be challenging. Strategizing Continuous Delivery in Cloud helps you modernize continuous delivery and achieve infrastructure-application convergence in the cloud. You’ll learn the differences between cloud-based and traditional delivery approaches and develop a tailored strategy. You’ll discover how to secure your cloud delivery environment, ensure software security, run different test types, and test in the pre-production and production stages. You’ll also get to grips with the prerequisites for onboarding cloud-based continuous delivery for organizational and technical aspects. Then, you’ll explore key aspects of readiness to overcome core challenges in your cloud journey, including GitOps, progressive delivery controllers, feature flagging, differences between cloud-based and traditional tools, and implementing cloud chaos engineering. By the end of this book, you’ll be well-equipped to select the right cloud environment and technologies for CD and be able to explore techniques for implementing CD in the cloud.

Who is this book for?

This book is for developers, site reliability engineers, DevOps architects, and engineers looking to strategize, plan, and implement continuous delivery in the cloud. You must have a basic understanding of CI/CD concepts and be familiar with cloud ecosystem, DevOps, or CI/CD pipelines.

What you will learn

  • Uncover the foundation for modernizing continuous delivery and prepare for continuous delivery in cloud
  • Build fast, efficient, secure, and interoperable software for real-world results
  • Understand end-to-end continuous delivery for multi-cloud, hybrid, and on-premise
  • Set up and scale continuous delivery in the cloud for maximum return
  • Implement cost optimization for continuous delivery in the cloud
  • Discover trends and advancements in CD with cloud-native technologies

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 18, 2023
Length: 208 pages
Edition : 1st
Language : English
ISBN-13 : 9781837637539

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Aug 18, 2023
Length: 208 pages
Edition : 1st
Language : English
ISBN-13 : 9781837637539

Packt Subscriptions

See our plans and pricing
Modal Close icon
R$50 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
R$500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts
R$800 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total R$ 836.97
Multi-Cloud Strategy for Cloud Architects
R$306.99
Strategizing Continuous Delivery in the Cloud
R$250.99
Terraform Cookbook
R$278.99
Total R$ 836.97 Stars icon
Banner background image

Table of Contents

17 Chapters
Part 1: Foundation and Preparation for Continuous Delivery in the Cloud Chevron down icon Chevron up icon
Chapter 1: Planning for Continuous Delivery in the Cloud Chevron down icon Chevron up icon
Chapter 2: Understanding Cloud Delivery Models Chevron down icon Chevron up icon
Chapter 3: Creating a Successful Strategy and Preparing for Continuous Delivery Chevron down icon Chevron up icon
Chapter 4: Setting Up and Scaling Continuous Delivery in the Cloud Chevron down icon Chevron up icon
Part 2: Implementing Continuous Delivery Chevron down icon Chevron up icon
Chapter 5: Finding Your Technical Strategy Toward Continuous Delivery in the Cloud Chevron down icon Chevron up icon
Chapter 6: Achieving Successful Implementation with Supporting Technology Chevron down icon Chevron up icon
Chapter 7: Aiming for Velocity and Reducing Delivery Risks Chevron down icon Chevron up icon
Chapter 8: Security in Continuous Delivery and Testing Your Deployment Chevron down icon Chevron up icon
Part 3: Best Practices and the Way Ahead Chevron down icon Chevron up icon
Chapter 9: Best Practices and References Chevron down icon Chevron up icon
Chapter 10: Future Trends of Continuous Delivery Chevron down icon Chevron up icon
Chapter 11: Contributing to the Open Source Ecosystem Chevron down icon Chevron up icon
Chapter 12: Practical Assignments Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(6 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Gene Oct 20, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
A look at the technical, business, and personnel challenges you'll have to tackle to implement a successful continuous delivery practice.The book walks through CD's goals and building blocks and how to prepare your organization. Not just implementing tools and practices but also training and preparing your staff and the business and cultural changes to address before moving to CD. It moves on to a pragmatic discussion of putting CD into practice without prescribing specific solutions. Instead, the book discusses the trade-offs so you can make an informed decision for your organization.
Amazon Verified review Amazon
mlp Dec 12, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Outstanding strategy to execution how to playbook to ensure success in continuous delivery into the cloud with engineering excellence and security best practices in all areas including securing the human, pipeline, and cloud. Use this book to plan your strategy aligned to business requirements, then execute with velocity!
Amazon Verified review Amazon
Nisha Iyer Nov 05, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Everyone moves to cloud, everyone wants to be in the digital transformation journey. There are success, pitfalls and you to pivot several times. Strategizing, planning, having set of right resources, budget and delivery is very important. The authors have done a good job of discussing all parameters in depth with lot of representation with industry related best practices and implementation strategies. A must read especially in this digital and dynamic age.
Amazon Verified review Amazon
arunvel arunachalam Oct 15, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I recently had the opportunity to delve into Strategizing Continuous Delivery in the Cloud , and it was truly an enlightening experience. This technical book provides a comprehensive exploration of CI/CD and stratergies aroud continouos delivery/deployment, and I found it to be an invaluable resource for both beginners and experienced professionals in the field.
Amazon Verified review Amazon
Tiny Oct 10, 2023
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I've personally worked with Garima on a number of DevOps issues and this is an excellent compilation of her strategic approach. She's a razor-sharp innovator with practical experience and that all shows through this book. One personal thing is you can't really do CD without CI. Some of the book includes in strategy but misses that step. For me, CD is really about operational effectiveness and security, being able to deliver the pre-packaged stuff in an expedited manner. Instead of the core functions, thinking about CD as the upgrades and maintenance on delivered systems and edge clusters. Really like the practical applications in the last chapter as well.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.