Book Image

Strategizing Continuous Delivery in the Cloud

By : Garima Bajpai, Thomas Schuetz
Book Image

Strategizing Continuous Delivery in the Cloud

By: Garima Bajpai, Thomas Schuetz

Overview of this book

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.
Table of Contents (18 chapters)
1
Part 1: Foundation and Preparation for Continuous Delivery in the Cloud
6
Part 2: Implementing Continuous Delivery
11
Part 3: Best Practices and the Way Ahead

Delivery best practices

In this section, we will get to the core theme of this book: the delivery process itself. We will discuss some best practices that can help you to improve your delivery process and build a process suitable for your needs.

Pipeline as Code

Throughout this book, we discussed some examples of codified configuration such as IaC and Declarative Configuration in GitOps. This approach can and should also be applied to the delivery process itself. This means that you should avoid configuring your delivery process in a UI (ClickOps) and instead configure it in a declarative way. This provides the big two advantages that your delivery process is versioned and that you can easily reproduce it. Furthermore, it also makes it easier to test your delivery process and run it locally, along with finding and fixing bugs.

Treat every build as a release candidate

In the past, it was common to have a pipeline that built some artifacts that were considered for testing...