DevOps, Cloud

Public cloud platforms have been a major part of enterprise computing since Amazon Web Services, or AWS, was introduced in 2006. In contrast, the trend toward DevOps-based software delivery is considerably newer, having emerged in just the past five years or so.

Yet that doesn’t mean that organizations seeking to adopt DevOps have nothing to gain from the public cloud. And even if they are already using a cloud service like AWS or Microsoft Azure, they might be able to take better advantage of the public cloud in order to embrace DevOps more effectively.

Below, I explain four ways in which public cloud services, such as AWS, can speed up and optimize your DevOps workflow.

Easier infrastructure

One way to make your DevOps pipeline flow faster is to remove the need to maintain your own infrastructure. An advantage of public cloud platforms is that they allow organizations to outsource their compute and storage needs to highly sophisticated cloud services that are traditionally managed with hardware and people in the data center.

By removing these tasks from your organization’s to-do list, you can devote more resources—in terms of time as well as money—to software delivery excellence. In other words, your operations team can focus more on improving deploying and supporting your apps, rather than having to split its time between those responsibilities and on-premises server administration.

It’s worth noting, of course, that public clouds do not free you completely from the responsibility of server maintenance. You will likely still need to do some work maintaining cloud estate. But cloud-based servers generally require less oversight than physical on-premises machines.

In many scenarios, therefore, moving infrastructure to the public cloud saves both money and valuable time, helping to focus finite resources more directly on software delivery.

Quicker software testing

Software testing is another task that can bottleneck a DevOps workflow. The DevOps philosophy encourages the quality assurance (QA) team to work in tandem with developers and operations to keep the software delivery pipeline flowing continuously. Yet, if the QA team cannot perform tests as quickly as it needs due to a lack of testing infrastructure, testing will hold up the rest of the workflow.

The public cloud offers an excellent solution to that conundrum. By moving testing to cloud-based infrastructure, the QA team can scale tests as needed. They can also run tests in parallel on cloud servers, rather than running them sequentially, in order to speed the rate at which software is tested.

The result of cloud-based testing is faster and more agile holistic teams, which leads in turn to more efficient and faster software delivery.

Monitoring

Efficient infrastructure monitoring and incident management are other essential ingredients for an effective DevOps journey. Since the DevOps mindset prioritizes seamless communication across the organization, all team members should be able to access monitoring data and discuss it at any time they need.

That can be difficult to do if monitoring software runs on-premises, where it may not be available from remote locations. Local monitoring platforms may also be difficult to integrate with cloud-based communication tools, like Slack, HipChat and Flowdoc, that help to facilitate discussion of incidents.

Cloud-based infrastructure monitoring tools, which are built into most major public clouds in the form of tools like AWS CloudWatch and Azure Diagnostics help to overcome these DevOps communication bottlenecks. They assure seamless infrastructure visibility and monitoring.

Cloud-based containers

It’s no secret that Docker containers are a very useful tool for organizations seeking to migrate to a DevOps-based workflow. Explaining why containers promote DevOps would require a full separate article, but to put it briefly, containers make it easier to test, stage and deploy code on a continuous basis.

Yet, containers and Docker may be intimidating for organizations that have not yet implemented them. (Trust us—since we specialize in helping to plan and run Docker images at scale, we know how hard it can be for organizations to get started with containers.) One way to remove some of the barriers to Docker deployment is to take advantage of a public cloud service that supports Docker. Google Cloud now offers Container Engine, a ready-made container environment. Azure offers a similar solution in the form of Azure Container Service, and Amazon has the EC2 Container Service and have shared the pending release of Elastic Kubernetes Service (EKS). These services all simplify the process of deploying and managing containers in order to leverage the power of Docker for your DevOps workflow.

Conclusion

If you want to move to DevOps, the public cloud is an excellent resource for helping you to get there. Even if you already use a public cloud service for some tasks, you might benefit from shifting additional workloads (such as software testing and container deployment) to the cloud in order to make your software delivery pipeline more efficient.

x

SIGN UP TO OUR UPDATES

DevOps Insights Directly to Your Inbox!

Join thousands of your peers and subscribe to our best content, news, services and events.

  • Ryan Lockard

    VP of Consulting (US)

    Ryan Lockard is a seasoned technical professional with 17 years of experience in product delivery, leadership, and technical practice excellence. Ryan has transformed teams, organizations and mindsets in various industries and has established himself as part of the new voice of technical product delivery. 

    More Articles by Ryan