CloudOps is the practice of managing software products deployed in a cloud (often multi-cloud) environment. This includes the full stuff of admin work: deploying, configuring and optimizing workloads and IT services, maintaining their performance and ensuring security.
The term has been used since at least 2018, when CloudOps meant organizing the process of moving software to the cloud. The order of operations looked like this:
During the assessment phase, you need to collect all the requirements of the business and understand what to do. At the assembly stage, select or develop the desired application and start trial operation. At the stage of use – to catch all errors and find ways to reduce the delay time. At the support stage, show the result to the customer and receive feedback from him. Finally, at the stage of replenishment of the knowledge base, save the best practices for further deployment.
Quite quickly, in CloudOps, the focus shifted to all operations related to supporting the functioning of the cloud. The main objectives of the practice were:
- maintaining the availability of cloud services and infrastructure;
- fine-tuning the amount of resources and performance;
- budget control when it comes to public clouds;
- monitoring the implementation of SLA;
- configuration and compliance management;
- ensuring continuity and disaster tolerance.
In the modern interpretation, the main task of practice is to maximize uptime. When everything is tied to 24/7 cloud access, even a small downtime can come back to haunt the company with disruptions and loss of customers.
If you compare CloudOps with ITOps – the usual administration of your own IT infrastructure of an enterprise, the following advantages will become visible:
Scalability. It is easy and simple to scale solutions in the cloud, especially if they are initially designed as Cloud Native. If there is a need for additional infrastructure, you can always order additional computing resources and free space in the right amount and at the right time.
redundancy. Data and applications in the cloud can be stored and used in multiple instances hosted on different servers and in different locations. This increases their disaster tolerance.
Automation. It is contraindicated to dig into the clouds manually, there are always automation tools. Especially when IaC (Infrastructure as Code) technologies are used. Just tell the system what you need to get from it at the output, and it will prepare everything itself, and in case of failures, it will rebuild.
Continuity. Clouds are the most suitable environment for CI/CD. Software is updated and deployed without service interruptions.
Efficiency. In terms of costs, clouds are more economical and flexible in pricing. You only pay for the resources you use.
CloudOps requires tools for cloud management, continuous deployment of applications, monitoring tools, and programs for quick (preferably automatic) troubleshooting. Moreover, a failure must be found even before it affects the performance of applications. This is possible only with the active use of AI to search for the slightest deviations in the “health” of the cloud.
If CloudOps is found in the job description, it means that a person is expected to have at least skills in working with one of the cloud platforms: OpenStack, AWS, Azure, Google. A sort of cloud system administrator who can code the necessary infrastructure and quickly catch failures.
It is possible that the term CloudOps will never become. Look at DevOps for example. Already, Ops refers to the deployment of solutions in the clouds, that is, CloudOps. It turns out a certain DevSecAICloudOps, which will be easier for everyone to call just a devops and not get into the nuances.