Skip main navigation

DevOps deployment in the Cloud

In this article, we take an in-depth look at DevOps in the cloud, including what environments are the best for deploying code.

When you deploy to different environments in a DevOps culture, one of the first questions that should be addressed is to what type of environment are we deploying our code? The answer depends on the type of application and the current deployment process.

There are many options for cloud providers, whether public or private (such as for government), and on-premises is still a common scenario.

Advantages and disadvantages of each option

There are advantages and disadvantages to each option and some actions are easier to accomplish on one type and harder on another.

Easy in the cloud, difficult on-premises:

  • Scale – scale vertically or horizontally to as many machines as you need, only limited by the amount you wish to pay for machines. This is not always possible on-premises, where an organisation might be limited by physical memory available for VMs, or have to go through a difficult process to acquire new machines.
  • Data storage – although it varies among cloud providers, the price for storage accounts in the cloud might be less expensive than hosting your own SAN with enough space.
  • Reliability – many cloud providers offer a service-level agreement of nearly 100% (potentially 99.9%), and that performance isn’t necessarily a guarantee on-premises.
  • Time and people needed – when on-premises, you might not carefully consider the cost for time and people involved with setting up and maintaining servers. It might take a few days to get a machine provisioned on-premises but in the cloud, it may take only minutes. Instead of assigning roles to start up and maintain machines on-premises, time can instead be used to improve cloud infrastructure or to innovate to make the DevOps process better.
  • Security – cloud providers such as Microsoft, although they are larger targets for attacks, are constantly looking for breaches in security with aggressive white hat hackers. That might mean that a cloud is possibly more secure than your on-premises machines.
  • Cost – cost can be optimised for variable loads. This, of course, depends on your application architecture and requirements. The cloud makes it very economical to scale out, not necessarily to scale up.

Easy on-premises, difficult in the cloud:

  • Rework – if the major rework is required to get the application into the cloud, it may be too challenging to justify the time and resources needed.
  • Culture – although rarely considered, the culture of an organisation greatly affects the move to the cloud. If a rigid organisational culture favours on-premises machines, it might be challenging to move to the cloud.
This article is from the free online

Microsoft Future Ready: Fundamentals of DevOps and Azure Pipeline

Created by
FutureLearn - Learning For Life

Our purpose is to transform access to education.

We offer a diverse selection of courses from leading universities and cultural institutions from around the world. These are delivered one step at a time, and are accessible on mobile, tablet and desktop, so you can fit learning around your life.

We believe learning should be an enjoyable, social experience, so our courses offer the opportunity to discuss what you’re learning with others as you go, helping you make fresh discoveries and form new ideas.
You can unlock new opportunities with unlimited access to hundreds of online short courses for a year by subscribing to our Unlimited package. Build your knowledge with top universities and organisations.

Learn more about how FutureLearn is transforming access to education