4 Environment pipelines: Deploying cloud-native applications

 

This chapter covers

  • Deploying produced artifacts into environments
  • Using environment pipelines and GitOps to manage environments
  • Using Argo CD with Helm to deliver software efficiently

This chapter introduces the concept of environment pipelines. We cover the steps required to deploy the artifacts created by service pipelines into concrete running environments all the way to production. We will look into a common practice that has emerged in the cloud-native space called GitOps, which allows us to define and configure our environments using a Git repository. Finally, we will look at a project called Argo CD, which implements a GitOps approach for managing applications on top of Kubernetes. This chapter is divided into three main sections:

  • Environment pipelines
  • Environment pipelines in action using Argo CD
  • Service + environment pipelines working together

4.1 Environment pipelines

We can build as many services as we want and produce new versions, but if these versions cannot flow freely across different environments to be tested and finally used by our customers, our organization will struggle to have a smooth end-to-end software delivery practice. Environment pipelines are in charge of configuring and maintaining our environments.

4.1.1 How did this work in the past, and what has changed lately?

4.1.2 What is GitOps, and how does it relate to environment pipelines?

4.1.3 Steps involved in an environment pipeline

4.1.4 Environment pipeline requirements and different approaches

4.2 Environment pipelines in action

4.2.1 Creating an Argo CD application

4.2.2 Dealing with changes the GitOps way

4.3 Service + environment pipelines

4.4 Linking back to platform engineering

Summary

sitemap