Skip main navigation

Full DevOps

.

The previous step was an introduction to the final building block in DevOps, Continuous Deployment. We are ready to move away from delivering manually in a continuous fashion in production to a fully automated process.

This is what we refer to as full DevOps. It’s about having a process that allows you to go out to production and constantly deploy. But remember, constantly deploying something does not mean constantly releasing something.

Continuous Deployment Practices

When we discussed continuous delivery, we learned about the principles and practices of continuous delivery. Continuous deployment builds on the practices of continuous delivery. Continuous deployment is about:

  • Having a microservices-based architecture
  • Working on a Minimal Viable Product (MVP) approach
  • Never rolling back
  • Having real-time application and operations elementary
  • Establishing meaningful metrics

Continous Deployment Techniques

Over the next couple of learning steps, we will look at the various continuous deployment techniques available to use. Here, we will provide a brief overview.

Feature Flags

A feature flag is a software development technique used to enable or disable functionality remotely without deploying code. New features can be deployed without making them visible to users. Feature flags help separate deployment from release letting you manage the full lifecycle of a feature.

Blue-Green Deployments

To minimise downtime caused by the cut-over between the final testing stage and live production stage of your software, you can make use of the blue-green deployment approach. With the blue-green deployment approach, you have two production environments, which are as identical as possible. At any time, one of them is live.

You typically prepare a new release of your software and do your final stage of testing in one environment. Once the software is working in that environment, you switch the router so that all incoming requests go to that environment. This means that the other environment is now idle.

Canary Releases

A canary release is a technique used to reduce the risk associated with introducing a new software version in production by slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure and making it available to everybody.

Similar to a blue-green deployment, you deploy the new version of your software to a subset of your infrastructure, to which no users are routed. When you are happy with the new version, you can start routing a few selected users to it.

DevSecOps

DevSecOps is an extension of DevOps and also falls within the agile framework. It incorporates security into every step of the development process. By taking security into your development fold, you can avoid costly damage to your organisation, not only financially but also reputationally.

Leave a comment, share an experience or ask a question to engage with your peers. When you are ready, click on Mark as complete and in the next step, you will learn about Deployment Groups and Release Management.

This article is from the free online

Microsoft Future Ready: Continuous Integration Implementation

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now