10 Building a delivery pipeline for microservices

 

This chapter covers

  • Designing a continuous delivery pipeline for a microservice
  • Using Jenkins and Kubernetes to automate deployment tasks
  • Managing staging and production environments
  • Using feature flags and dark launches to distinguish between deployment and release

Rapidly and reliably releasing new microservices and new features to production is crucial to successfully maintaining a microservice application. Unlike a monolithic application, where you can optimize deployment for a single use case, microservice deployment practices need to scale to multiple services, written in different languages, and each with their own dependencies. Investing in consistent and robust deployment tooling and infrastructure will go a long way toward making a success of any microservice project.

You can achieve reliable microservice releases by applying the principles of continuous delivery. The fundamental building block of continuous delivery is a deployment pipeline. Picture a factory production line: a conveyer belt takes your software from code commits to deployable artifact to running software, while continually assessing the quality of the output at each stage. Doing this leads to frequent, small deployments, rather than big-bang changes, to production.

10.1 Making deploys boring

 
 

10.1.1 A deployment pipeline

 

10.2 Building a pipeline with Jenkins

 
 
 

10.2.1 Configuring a build pipeline

 
 

10.2.2 Building your image

 
 
 

10.2.3 Running tests

 
 
 
 

10.2.4 Publishing artifacts

 
 
 

10.2.5 Deploying to staging

 
 
 

10.2.6 Staging environments

 
 
 

10.2.7 Deploying to production

 
 

10.3 Building reusable pipeline steps

 
 
 
 

10.3.1 Procedural versus declarative build pipelines

 
 

10.4 Techniques for low-impact deployment and feature release

 
 
 

10.4.1 Dark launches

 
 
 

10.4.2 Feature flags

 
 

Summary

 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest