What is CloudOps (cloud operations)?
Cloud operations (CloudOps) is the management, delivery and consumption of software in a computing environment where there is limited visibility into an app's underlying infrastructure. In the enterprise, CloudOps uses the DevOps principles of continuous integration and continuous delivery (CI/CD) to create best practices for achieving high availability by refining and optimizing business processes that run in a public cloud.
A CloudOps team's responsibilities typically include the following:
- Configuration management.
- Resource allocation.
- Optimizing performance capacity.
- Managing compliance burden.
- Ensuring service-level agreements are met.
4 pillars of cloud operations
There are four pillars a CloudOps team can use to build strong IT operations processes and procedures: abstraction, provisioning, policy and automation.
The first pillar, abstraction, decouples management from the underlying infrastructure so that cloud machine instances, storage instances, security, network and governance can be managed through a single pane of glass. This centralized approach to management allows an administrator to use a single tool, such as Apigee, to manage applications and services running in the cloud.
The second pillar of CloudOps is provisioning. Typically, an organization will manage the provisioning of machine instances in the cloud in one of two ways: either with self-provisioning or with automated provisioning. With self-provisioning, administrators allow cloud users to allocate their own machines and then track their usage. Automated provisioning is more efficient because it allows the applications themselves to request more resources when needed and deprovision them automatically when not needed.
The third pillar is being policy driven. That requires the creation and enforcement of policies that limit what users and applications can do in the public cloud. This ensures an application doesn't end up using cloud resources when there is no return on investment.
The last pillar is automation. Typically, automated processes include provisioning, user management, security management and application program interface management. Artificial intelligence and machine learning play important roles in automating tasks.
Benefits and drawbacks of CloudOps
Migrating applications to the cloud brings its own benefits, such as freeing up internal infrastructure. However, what's moved to the cloud still must be managed, and the work around maintaining cloud-based applications and data stays relatively the same as managing them on site. To do this, a CloudOps team must select the right monitoring and automation tools for the workloads that run in the cloud.
CloudOps benefits include the following:
- It's cost-effective.
- It's easier than traditional approaches.
- It requires fewer resources than traditional approaches.
- Many steps can be automated.
- It can scale out and automatically provision servers.
- A cloud can abstract infrastructure from an application.
However, CloudOps comes with a variety of drawbacks:
- It is possible to overspend on overprovisioned servers.
- There are limited governance abilities.
- Security with public cloud providers can be risky.
CloudOps vs. DevOps
DevOps is a collaborative approach that seeks to blend tasks traditionally performed by either the organization's application development or IT operations team. An important goal of DevOps is to promote better communication between the two teams and build development pipelines that allow for continuous integration.
In contrast, the focus for CloudOps is on high availability and continuous operation in a public cloud.
CloudOps engineer as a career path
To become a CloudOps engineer, the candidate must have a bachelor's degree in computer science, engineering or a related discipline. Most job postings also require the candidate to have a strong background in cloud platforms, including Amazon Web Services (AWS), Microsoft Azure and OpenStack.
On a day-to-day basis, the cloud operations engineer creates processes for measuring system effectiveness and identifies areas for improvement. The most successful CloudOps engineers will work hard to stay abreast of new technologies to choose the right tools for orchestration and the best tools for compliance audits and reporting.
A typical job posting might request the following:
- The ability to customize commercial off-the-shelf tool sets to meet the needs of the organization.
- Experience with automation and configuration management tools such as Puppet and Chef.
- Familiarity with Docker, Mesos and Kubernetes in production workloads.
- Experience with CI tools such as Jenkins and Bamboo.
- Familiarity with programming languages such as Python, Ruby, Perl and Bash.
Job postings for cloud operations engineers are sometimes listed as cloud automation engineer.
There are hundreds of tools from dozens of vendors that can be used for CloudOps. Ironically, the challenge for administrators is to limit the number of tools required to maintain high availability in the cloud.
Most public cloud providers offer their customers tools for CloudOps, including AWS, Microsoft Azure, Google Cloud and IBM. Network engineering teams can also use proprietary tools from Apigee or Flexera, formerly RightScale, as well as open source tools such as Ansible or Chef to automate configuration management, cloud provisioning and application deployment.