No body is talking about "OPS" in DevOps!! - Part 1
"Dev is like the barista who carefully crafts the perfect coffee recipe, while Ops is the machine ensuring every cup is brewed consistently, at the right temperature, and delivered on time. Together, they serve the perfect brew of innovation and reliability—just like DevOps delivers sustainable growth and continuous delivery."
Ops in DevOps: The Unsung Hero - In the world of DevOps, much of the conversation tends to revolve around Dev—the writing of code, building applications, and setting up pipelines. But today, let’s shift the focus to Ops, the cornerstone of stability, scalability, and sustainable growth in any DevOps journey.
Before diving into the role of Ops, let’s set the context. DevOps is not just a methodology; it’s a mindset—a culture of continuous improvement where development and operations work together towards sustainable growth. The ultimate goal? Continuous Delivery, where every change is tested, validated, and deployed seamlessly into production.
To embrace this mindset, we need to step away from traditional GUI-based tools and embrace the power of scripting and automation. This is where Infrastructure as Code (IaC) shines, with Terraform serving as the backbone for defining and provisioning cloud infrastructure.
DevOps is not only the CI/CD pipeline. But in this article we will only focus on CI/CD.
Understanding the Roles of Dev and Ops in DevOps:
Dev and Ops have distinct yet deeply interconnected roles in the CI/CD pipeline for IaC.
Let’s break it down:
Dev: The Builders and Innovators
• Role: Developers are responsible for creating the code that defines infrastructure.
• Focus: Writing, testing, and maintaining reusable Terraform configurations for resources like virtual machines, networks, and storage.
• Key Activities:
• Terraform Scripts: Writing IaC scripts to define resources and infrastructure.
• CI Pipeline: Setting up pipelines for:
• terraform init to initialize the configuration.
• terraform validate to check syntax and logical errors.
• terraform plan to generate a preview of infrastructure changes.
• Continuous Feedback: Integrating automated checks to catch issues early in the pipeline.
Example:
A developer writes a Terraform script to provision an Azure Web App and Azure SQL Database. They push the code to a Git repository, triggering a CI pipeline to validate and plan the changes.
Ops: The Guardians of Stability
• Role: Operations ensure that infrastructure is deployed securely, consistently, and reliably, while maintaining stability post-deployment.
• Focus: Deploying, monitoring, scaling, and troubleshooting infrastructure.
• Key Activities:
Recommended by LinkedIn
• CD Pipeline: Managing pipelines to apply Terraform configurations (terraform apply) to different environments like development, staging, or production.
• Environment Management: Implementing approval gates to ensure infrastructure is deployed to the correct environment with proper permissions.
• Post-Deployment Monitoring: Setting up alerts, logging, and monitoring to detect issues proactively.
• Scaling and Compliance: Adapting infrastructure to meet performance demands while ensuring it adheres to security and regulatory standards.
Example:
The Ops team uses the validated Terraform plan artifact from the CI pipeline to deploy infrastructure in the production environment. They set up monitoring tools to ensure the deployed Web App and SQL Database meet performance benchmarks.
The Symbiosis of Dev and Ops
Dev and Ops are two sides of the same coin in DevOps.
• Dev focuses on creating the blueprint, while Ops ensures that blueprint becomes a reliable, scalable reality.
• Both roles collaborate using tools like Azure DevOps, sharing ownership of the CI/CD pipeline to deliver value faster and more efficiently.
Why Ops Deserves the Spotlight
While Dev builds the foundation, Ops ensures sustainability. Ops teams are responsible for:
• Mitigating risks by introducing approval checks and monitoring.
• Adapting infrastructure dynamically to meet evolving demands.
• Driving compliance with organizational and industry standards.
In a world where everyone is talking about writing code, it’s the Ops team that ensures “You build it, you run it” becomes a reality.
Final Thoughts
DevOps is not just about development—it’s about building and maintaining systems that grow sustainably. By focusing on IaC with Terraform, and embracing automation in tools like Azure DevOps, we can achieve a balance between innovation and reliability. Let’s not forget the crucial role of Ops in this journey, as they are the guardians of stability in a rapidly evolving technological landscape.
• Dev is responsible for creating, testing, and validating the code.
• Ops is responsible for deploying, managing, and maintaining the infrastructure.
• Azure DevOps allows Dev and Ops to collaborate seamlessly, integrating the process of writing, testing, and deploying infrastructure as code efficiently through pipelines.
By combining Dev (Terraform IaC) and Ops (Automated Deployments), you are embracing the principles of DevOps, where both development and operations work together to deliver infrastructure quickly and reliably.
Let’s start appreciating Ops as much as Dev in DevOps—because it takes both to truly deliver on the promise of Continuous Delivery.
Happy Learning.