
The DevOps Ice cream: 6 flavors that you should taste!
The DevOps Ice cream:
6 flavors that you should taste!


When we start to talk about DevOps people usually say that the term as it is is too broad or complex to have any practical implication. Even some Tech Gurus refers to it as a culture, which I totally agree with. However, I also believe that we need to break DevOps down into smaller pieces (flavors) in order to understand all the practices that it involves and to have a better understanding of the whole software lifecycle and how DevOps helps to improve all the development and delivery of a software product step by step.

Flavor 1: Infrastructure as Code
As its name says, this practice is about defining code that, when executed, will build an entire environment in the cloud, which includes all computing, storage, networking resources, and all kinds of services that a cloud provider offers. This way an entire IT team could have a centralized and automated way to deploy their application environments, avoiding doing manual processes through Web UIs and having all the benefits of a code repository for all the company’s technological infrastructure like versioning, changes tracing, and quick hotfixes instead of a complete deployment on each change needed. The most popular tool for this is Terraform. Also, some cloud providers offer their own infrastructure as code tools (i.e CloudFormation / Azure JSON templates)

Flavor 2: Configuration Management
CM is the practice of controlling and deploying configuration-related changes to software in an automated and multi-tenant way, allowing us to deploy from 1-to-n changes across a fleet of servers, cloud applications, or any configurable software tool using different strategies. This will depend on the technology used but the concept is the same as in Flavor 1. When we are able to bring the software configuration into code we will be able to control and apply changes in a pretty straightforward way with the benefits of tracing and quick reviewing. Additionally, we will be able to make automated deployment for each fix/new feature with less effort. The most popular tools for this practice are Ansible, Chef, and Puppet. Also, cloud providers offer their own CM services like AWS SSM or Azure VM Inventory.

Flavor 3: Continuous Integration
The goal of CI is to give the developers feedback about their code changes, applying some automated steps that will cover from build and install dependencies for the code to unit testing or any security checks that should be applied depending on each coding language. Basically, this is about having a shared code repository where all code changes are verified in an automated way and will provide feedback about the results using common communication channels (e-mail, slack’s channels, SNS topics, app notifications and so…). With all these validations executed in an automated way, developers can focus on what they’re good at; CODING and having feedback from an automated review process. In a nutshell, this practice will save a lot of time for the project and will allow the developers to work in an organized and consistent way. There are lots of tools for this practice in modern software. Some popular names are Jenkins, CircleCI, Travis, GitlabCI, Github Actions, Spinnaker.

Flavor 4: Continuous Deployment (a.k.a Continuous Delivery)
This practice is what makes it possible to ship all the latest changes with all their integration’s validations passed into an available target environment to make it available for QA and give quick feedback to the developers and stakeholders teams about what is happening with the development of the new features and having them ready for production.
In most cases, this practice will generate a “deployment artifact” before updating the target environment which allows us to track all changes and have a tagging system that will provide more tracking information for the results of applying this into the live applications.
This will also open the possibility to do quick rollback changes with less effort in case things get complicated with any update. This step is usually made in the CI tools as a final step along with helpful notifications about the deployment results.

Flavor 5: Automated Testing
This practice is about mastering the use of specialized testing tools that are able to do a complete automated workflow of testing for specific kinds of software, trace all the results, and give quick feedback to the developer and the QA engineers based on the results of the automated tests programmed through the tool. There are several kinds of automated testing tools for UIs, APIs, ETLs processes, ML applications, or any BackEnd software that can cover testing of all these kinds:
- Unit
- Component
- Integration
- End to end
- Performance
- Security
- 508 Compliance
There are a lot of tools for many purposes around this practice, some popular names are Selenium, Locust, and EggPlant.

Flavor 6: Continuous Monitoring
This is the angular stone of any stable system. When we talk about monitoring, we are talking about the measurement of all possible data or states across our applications and systems. We need to monitor at least the most critical scenarios in our infrastructure and services like database outages, application URLs not responding, bad HTTP response codes, non-expected
API response or anything that literally will make an application or system not work well.
Monitoring can cover anything from error logging, TCP ports not responding or any network related issue, evaluate patterns in API responses or SQL queries, and also predict some behaviors. If all the data is centralized and processed to generate helpful IA based monitoring systems (Forecasting) or dashboards that can help to evaluate patterns and some interesting behavior around a metric.
Combining all the health checks that can be done to any application or system with some alerting / communication tools like PagerDuty or Slack can make all the teams more proactive and being updated in real-time about the state of every monitored system, providing the capacity to troubleshoot as soon as possible if any emergency happens.
There are many cool and powerful monitoring tools. Some popular names are DataDog, Splunk, ELK, Big Panda, AWS CloudWatch, AWS EventBridge, Prometheus, Sumologic, and many others.
Related articles
Women engineers making their mark in Tech
Their contributions drive the establishment of inclusive organizations, foster conscientious environments and support business success.
5 eco-conscious changes driven by technology
Do you like the idea of satisfying your needs without jeopardizing the resources and opportunities of future generations?
Healthtech to outshine market expectations next year
Even if there is a hiring slowdown across the entire tech sector as a whole, the best and brightest will likely flow into healthtech firms.
NASA style reinvention: Major changes in the pharma industry
A successful vaccine for a new pathogen and over 10 billion doses distributed shifts how people see the pharma industry.
CPA firm issues SOC 2 – Type 2 report Source Meridian
Our SOC 2 report has shown that we have appropriate controls to mitigate risks associated with our services.
“The doctor will see you now”: How AI is disrupting health tech
We collaborate with global health tech firms, boosting their AI and ML projects. The AI industry is set to surge by over 1100% from 2020 to 2028.
The DevOps Ice cream: 6 flavors that you should taste!
When we start to talk about DevOps people usually say that the term as it is is too broad or complex to have any practical implication.
Unleashing sales potential: Machine Learning in telemarketing
The Machine Learning revolution has taken the tech industry by storm, especially Deep Learning (based on Artificial Networks).
Artificial intelligence: Enriching people’s way of life
Who would have thought that technology would become such a fundamental part of our everyday lives?
Key motivations for embrace Data Science
By utilizing semantic analysis, patterns, statistics, mathematics, and machine learning, data science identifies patterns within extensive data.
Unpacking UI and UX: Exploring language and applications
To help you better understand UI and UX development, we’ll define these terms and explain their differences and purpose.

We’d love to hear
from you!
At Source Meridian, we are always looking for talented individuals who
share our passion for innovation and technology.
Categorised in: News
This post was written by Santiago
Comments are closed here.