We are back with more information in our series previewing the DevOps Fundamentals: Implementing Continuous Delivery (LFS261) course from The Linux Foundation. So far, we’ve looked at high-performing organizations, the value stream, and Continuous Delivery and Deployment.
In this article, we will cover patterns and practices. We will go over the deployment pipeline, consistency in the pipeline, automated testing at a high level, and deployment strategies.
To start, we will look at the concept of The Three Ways of DevOps, which is covered extensively in The DevOps Handbook.
The First Way is really Continuous Delivery, but it is about the flow. It is systems thinking about a left-to-right flow, an automated supply, a software delivery supply chain, the commit, and the whole Continuous Delivery process.
The Second Way is really about monitoring and feedbacks.
And, the Third Way is Continuous Learning.
Here, we will focus on The First Way.
I cannot see any alternative or any viable reason not to implement a Continuous Delivery pattern. Get more details in the video below:
Again, everything is going to be about the First Way. We are talking about the pipeline.
The pipeline requires you to think about the visibility. All stages of the pipeline are visible to everyone responsible for the delivery. That is a key point.
That is where we need to get to. All the switch configs, Axle in Git, Cucumber testing on network stuff on the back end, emulating network software environments like SDN environments, a lot of that stuff is out there. The point is everybody is responsible; everybody should see the pipeline.
We have talked about the feedback loops. These should be designed gates to create and eliminate downstream defects. You find things downstream. You move those checks early. You have test-driven development, and behavior-driven development, and smoke tests. Again, at the end of the day, you start building these incredibly robust chains of delivery.
And you are continually deploying. And, now you have got it. The pipeline is such that any patch, any update, new feature can be automated and deployed for release.
That means whether you are Dev, you are Ops, you are Sec, or network, you are basically putting everything in source control.
Want to learn more? Access all the free sample chapter videos now!
This course is written and presented by John Willis, Director of Ecosystem Development at Docker. John has worked in the IT management industry for more than 35 years.