But what really changed the rules of the game was the advent of cloud computing, SaaS models (software as a service) and microservices: as a matter of fact, these factors allow to provide applications as web services and, later on, as sets of microservices, which further accelerate release cycles, breaking the complexity of managing monolithic applications.
However, a quickly developed product cannot wait long for IT operations to validate its functioning in the production environment: the DevOps was created to address these challenges and to align the work rhythms of the two departments.
DataOps, the approach that speeds up data analysis
In the world, the continuously growing volume of data is now in the order of zettabytes (ZB). This trend, in 2014, led to the introduction of the DataOps approach, which applies the DevOps philosophy in this area, to increase the speed, reliability, and quality of data analysis. Like DevOps, DataOps also puts emphasis on collaboration, in this case between data analysis teams (data scientists, analysts, engineers) and IT operations.
Another key aspect of DataOps is the use of automation tools to monitor and control the analytical pipeline throughout its life cycle. The tools to apply the DataOps method do not necessarily belong to a specific category: as Gartner indicates, many of those already existing in the organization may be adequate to obtain the levels of automation required by DataOps.
In any case, it can be all those tools that are used to identify, collect, format, purify, process, aggregate, visualize, and analyze data.
GitOps: a “single source of truth” that streamlines the development of cloud native applications
When it comes to developing and implementing complex and multi‑component applications, such as modern apps, based on microservices and distributed in multiple IT environments, the GitOps model helps not to lose the thread, thanks to the application of version control to all parameters and settings configuration.
Precisely, GitOps is the combination of Git, the name of the known and widespread open‑source version control technology, and Ops (IT Operations), and, in essence, it is a model that allows teams to establish a single source of truth (SSOT). It ensures that the operations of managing and reviewing the resources and configuration requirements of each application are managed based on a single source of correct information.
As already mentioned, the teams in the IT departments rely on parameters and configuration files to set the functioning of the different applications; a configuration error can compromise their deployment and production operations, because each new version of the software components usually requires new parameters and configuration files.
In IT environments where models of continuous development and delivery of software are applied, it is necessary to keep all these operations synchronized with the production release; the GitOps model allows you to do this, tracking all changes and modifications, and keeping a repository and a centralized version control, for the application source code, the configuration instructions, and the operating parameters.
FinOps: keeping cloud costs under control
More and more companies are migrating their IT infrastructures to the cloud, in order to modernize their legacy systems. The cloud offers great advantages when it comes to performance, availability, scalability, and observability, but it requires a lot of different tools and services to ensure these benefits. This means a greater complexity, that can lead to the risk of losing visibility into the costs generated by all the cloud technologies adopted within the company.
To avoid cloud costs to run out of control and to vanish the benefits of the cloud benefits, FinOps was developed. FinOps, from the contraction of the words Financial (Fin) and Operations (Ops), consists in the creation of a centralized cross‑functional team in charge to collect information accross the organization, to find where optimization can be made, and to implement the optimization.
NoOps: means total automation of operations
In the definition of the research company Forrester, which coined the term, the NoOps (No Operations) model responds to the goal of completely automating the deployment, monitoring, and management of the applications and infrastructure on which they run. In the DevOps model, developers must release software more frequently, while operation professionals are concerned about protecting infrastructure stability. With NoOps, the idea is to eliminate the need for interaction between developers and operations, thanks to automation. In fact, the two key factors behind the idea of NoOps are the growing automation of IT and cloud computing.