c2b2 have long been advocates of the benefits of using DevOps practices, with our blog containing reasons for using DevOps, details of DevOps toolsets, and new developments that benefit DevOps.
DevOps is widely recognised as being advantageous for organisations, providing the ability to deliver, test and improve projects efficiently and with increased opportunity for innovation.
Likewise, cloud computing is being acknowledged for providing the organisations who move their applications to the cloud with distinct competitive advantages. These can include lower operating costs, increased agility and scalability, and better performance.
So then, how does cloud computing impact DevOps? Is it still relevant?
With the major challenges that most development projects face related to the provision of development and test infrastructure, and how they perform application deployments, implementing strategies that overcome these challenges are important. A development project during its lifecycle will require new infrastructure, whether that’s a new virtual machine, database or application server, and this will typically involve coordinating with several IT departments to get the infrastructure costed, signed off and capacity planned before it even gets to being provisioned. Depending on the organisation, this provisioning can take days and sometimes weeks to complete. This is where DevOps and cloud computing can be of benefit.
Cloud computing has become a practical reality and is being widely adopted in the world of IT infrastructure. By using cloud providers like AWS and Azure, you can have a basic infrastructure up and running in minutes. The centralised nature of these cloud computing platforms enables DevOps to display its advantages too. It ensures that the automated provisioning of the infrastructure for development, testing and production is done in an agile way, upon which deployment can then be automated. What’s more, this can be ripped down when you don’t need it and rebuilt when you do.
The relationship between cloud & DevOps can also be seen in the tight integration DevOps automation tools, such as Chef, Ansible and Puppet, have with cloud platforms. Not only does this integration mean that cloud resources can be created and managed easily, but they function in a common way and model the infrastructure as code. This enables infrastructure to be created in a consistent, repeatable and reliable manner, which can be linked to a Continuous Integration pipeline, thus providing Continuous Delivery of an application.
As a result, this can mean a reduction in cost and an increase of speed for provisioning environments, and it makes it easier to control, via the cloud infrastructure and automated processes. More efficient than trying to wrestle with various departments to get things done!
Finally, in most cases the costs of the infrastructure for a development project are not easy to calculate as they are typically created as part of shared infrastructure, covering virtualisation, networks and storage. Cloud-based DevOps provides an easy way to track the cost of the development resources used and adjust the spend as required in an automated way.