image
Introduction to Continuous Delivery

Contents

Introduction
1
Course Intro
PREVIEW2m 29s
What is CD?
Getting Software to Production
The Complete Picture
Summary
9
Summary
2m 10s
Course Intro
Difficulty
Beginner
Duration
1h 7m
Students
22686
Ratings
4.7/5
Description

There was a time where it was commonplace for companies to deploy new features on a monthly, bi-monthly, and, in some cases, even quarterly basis.

Long gone are the days where companies can deploy on such an extended schedule. Customers expect features to be delivered faster, and with higher quality. And this is where continuous delivery comes in.

Continuous delivery is a way of building software, such that it can be deployed to a specified environment, whenever you want to. And deploy only the highest quality versions to production. And ideally with one command or button push.

With this level of ease for a deployment, not only will you be able to deliver features to users faster, you'll also be able to fix bugs faster. And with all the layers of testing that exist between the continuous integration and continuous delivery processes, the software being delivered will be of higher quality.

Continuous delivery is not only for companies that are considered to be 'unicorns', it's within the grasp of all of us. In this Course, we'll take a look at what's involved with continuous delivery, and see an example.

This introductory Course will be the foundation for future, more advanced Courses, that will dive into building a complete continuous delivery process. Before we can start trying to implement tools, we need to make sure that we have an understanding of the problem we need to solve. And we need to know what kind of changes to our application may be required to support continuous delivery.

Understanding the aspects of the continuous delivery process can help developers and operations engineers to gain a more complete picture of the DevOps philosophy. Continuous delivery covers topics from development through deployment and is a topic that all software engineers should have experience with.

Course Objectives

By the end of this Course, you'll be able to:

  • Define continuous delivery and continuous deployment
  • Describe some of the code level changes that will help support continuously delivery
  • Describe the pros and cons for monoliths and microservices
  • Explain blue / green & canary deployments
  • Explain the pros and cons of mutable and immutable servers
  • Identify some of the tools that are used for continuous delivery

Intended Audience

This is a beginner level Course for people with:

  • Development experience
  • Operations experience

Optional Prerequisites

What You'll Learn

Lecture What you'll learn
Intro What will be covered in this Course
What is Continuous Delivery? What Continuous Delivery is and why it's valuable
Coding for Continuous Delivery What type of code changes may be required to support constant delivery
Architecting for Continuous Delivery What sort of architectural changes may be required to support continuous delivery
Mutable vs. Immutable Servers What are the pros and cons for mutable and immutable servers
Deployment Methods How we can get software to production without downtime
Continuous Delivery Tools What sort of tools are available for creating a continuous delivery process
Putting it All Together What a continuous delivery process looks like
Summary A review of the Course

 

If you have thoughts or suggestions for this Course, please contact Cloud Academy at support@cloudacademy.com.

Transcript

Welcome to Introduction to Continuous Delivery. I'm Ben Lambert and I'll be your instructor for this course.

In this course, we're going to talk about continuous delivery. The goal of the course is to introduce you to continuous delivery and the concepts around it so that in future courses we can do a deep dive into specific areas and build on the knowledge that we've learned here.

So we'll start with an overview of what continuous delivery is and we'll move on to talk about code level requirements for continuous delivery.

And after that we'll talk about monoliths and microservices.

Then we'll compare mutable versus immutable servers.

And after talking about all of these facets, we'll review some actual deployment methods and then we'll move on to review what tools are available to help create a continuous delivery process.

And at that point with a pretty high level understanding of continuous delivery, we'll put together a review of what we've learned and we'll go from code to production.

And then we'll end with a wrap up video that covers the high level takeaways from the course. So I do make some assumptions that you're at least familiar with either development or operations. You could take this course without either, however, there are some areas of the lectures that may not be as easy to follow without that baseline knowledge.

Here's what you should get out of this course.
By the end of the course, you'll be able to:

  • define continuous delivery and continuous deployment
  • you'll be able to describe some of the code level changes that will help support continuous delivery
  • you'll be able to describe the pros and cons for monoliths and microservices
  • you'll be able to explain blue/green deployments and canary deployments
  • you'll be able to explain the pros and cons for mutable versus immutable servers
  • and you'll be able to identify some of the tools that are involved in continuous delivery


I like to point out at the beginning of the course that you can adjust the speed of the videos by clicking on the speed button on the bottom of the video player. So play around with that and find the settings that are right for you.

We're gonna cover a lot of information in the next hour and it should be a lot of fun.

So if this course sounds interesting to you, let's dive in!

About the Author
Students
100515
Labs
37
Courses
44
Learning Paths
58

Ben Lambert is a software engineer and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps. When he’s not building software, he’s hiking, camping, or creating video games.