Since the inception of the agile manifesto in 2001, many software development methodologies emerged, each trying to improve processes. While the basic agile manifesto still guides workflows, today, significant efforts are extended mainly towards breaking silos across a wide range of fields. This is achieved by unifying siloed departments into collaborative teams.

At first, development and operations teams were unified into DevOps teams. Today, it is becoming increasingly clear that DevOps is not enough.

As more teams build and host applications and infrastructure in the cloud, the term CloudOps has gained traction. IT operations professionals have always been responsible for the monitoring, maintenance and installation of servers, networks and other IT infrastructure. But, third-party cloud vendors like AWS, GCP and Azure are changing the way Ops teams need to operate their services. First came the DevOps movement – but now, many teams are focusing on CloudOps as well.

Security is also a critical aspect that needs to be addressed throughout the process rather than in the end. Hence, the inception of DevSecOps, which adds security to the development cycle.

To ensure database operations and machine learning operations run smoothly, as well, MLOps was created.

The financial challenges derived from the exponential growth of Cloud Computing are being tackled by a newly emerging practice called FinOps (Financial Operations).

This article examines these five primary methodologies — DevOps, CloudOps, DevSecOps, MLOps, and FinOps — providing guiding principles for when and how to use each workflow.

What is DevOps?

The word DevOps is a combination of the terms development and operations, meant to represent a collaborative or shared approach to the tasks performed by a company’s application development and IT operations teams.

In its broadest meaning, DevOps is a philosophy that promotes better communication and collaboration between these teams — and others — in an organization. In its most narrow interpretation, DevOps describes the adoption of iterative software development, automation and programmable infrastructure deployment and maintenance.

The term also covers culture changes, such as building trust and cohesion between developers and systems administrators and aligning technological projects to business requirements. DevOps can change the software delivery chain, services, job roles, IT tools and best practices.

The benefits individuals and groups can obtain through a DevOps culture, and practice includes:

  1. Rapid development life cycles
  2. Deployment velocity
  3. Code quality through the use of testing

While DevOps is not a technology, DevOps environments generally have common methodologies. These include the following:

  • continuous integration and continuous delivery or continuous deployment (CI/CD) tools, with an emphasis on task automation;
  • products that support DevOps adoption, including real-time monitoring and incident management systems, configuration management and collaboration platforms; and
  • cloud computing, microservices and containers implemented concurrently with DevOps methodologies.

A DevOps approach is one of many techniques used to execute IT projects that meet business needs. DevOps can coexist with Agile software development; IT service management frameworks, such as ITIL; project management directives, such as Lean and Six Sigma; and other strategies.

What is CloudOps?

CloudOps is the “formalization of best practices and procedures that allow cloud-based platforms, and applications and data that live there, to function well over a long duration of time.”

CloudOps is essentially a culmination of DevOps and traditional IT operations applied to a cloud-based architecture. Most organizations previous to cloud computing and storage would maintain a network operations center (NOC). The NOC was a physical location where IT professionals could manage and monitor network and server performance.

Now, many teams are building services where they never have to touch the servers hosting their service. But, this doesn’t eliminate the need for operations – it just means alerting and monitoring needs to be cloud-optimized. Software developers, IT operations and security teams still need to collaborate closely when delivering new services or responding to incidents in production.

Therefore, CloudOps isn’t exclusive to DevOps practices. So, let’s go over some of the core tenets of DevOps, define the methodology and see how DevOps and CloudOps can work together.

What is FinOps?

We’re breaking Silos again, and this time it’s between Finance and technical operations.

According to the FinOps Foundation, FinOps (Cloud Financial Management)is “The practice of bringing financial accountability to the variable spend model of the cloud, enabling distributed teams to make business trade-offs between speed, cost, and quality.”

Organizations increase the business value of running in the cloud by bringing together business, engineering, and financial professionals with a new set of disciplines.

The FinOps engineer is the organization’s trustee when it comes to cloud cost optimization. His objective is to collaborate with engineering teams to predict, plan, and purchase cloud infrastructure based on the product’s requirements.

FinOps teams are embedded within the technology group to understand the technical requirements of the product’s lifecycle (starting from the early design stage to large scale). They are trusted to optimize the organization’s cloud infrastructure continuously.

Some are often mistaken that FinOps is all about saving money, but it’s way more than that.

A well-architected cloud budget drives more revenue, enables product enhancements, performance, and feature release speed.

FinOps is the foundation of cross-functional collaboration between financial and technology teams, tying their business’s success hand in hand with continuously optimizing cloud infrastructure.

FinOps is still an emerging practice, but as we’ve seen the DevOps practice reach almost every Ecosystem niche, it is inevitable to have a FinOps practitioner in every organization as they scale and more cloud services are consumed.

What is DevSecOps?

DevSecOps is the combination of DevOps with security teams. It is designed to ensure that responsibility for security is shared across development and operations tasks and to implement the management of “security as code.” Implementing DevSecOps is typically taken on by teams that are already comfortable working with a DevOps strategy.