DevOps: What It Is and Its Origin
Concept of DevOps
DevOps is a blend of Development and Operations, emphasizing communication and collaboration between software developers and IT professionals. By automating processes, it aims to make software building, testing, and releasing faster, more frequent, and reliable.
The concept of DevOps gained momentum in Europe in 2009, born from the pains of traditional operational models.
DevOps seeks to bridge the gap between development and operations, improving teamwork. It’s important to clarify that testing is also a critical phase between development and operations, meaning DevOps encompasses development, testing, and operations.
In essence, DevOps strives for an integrated IT toolchain to streamline team collaboration, reducing time loss and enhancing efficiency. Experts have developed a DevOps capability model that significantly increases overall output through a well-maintained feedback loop.
Historical Evolution
DevOps, as a cultural and methodological approach, requires organizational cultural transformation beyond just toolchain integration. The software industry’s development models have evolved through three stages: waterfall development, agile development, and DevOps.
The concept of DevOps was proposed early on, but why has it only gained significant attention and adoption by businesses in recent years? The growth of DevOps has been supported by an increasing array of technologies. Concepts like microservices architecture, container technology, enhanced computing power, and cloud environments have facilitated the implementation of DevOps, allowing rapid development products to gain broader usage.
Key Aspects of DevOps
Benefits
One major advantage of DevOps is efficient delivery, aligning with its primary goal. According to a DevOps report sponsored by Puppet and DevOps Research and Assessment (DORA), based on data from 4600 IT professionals worldwide, efficient organizations can achieve up to 1460 deployments per year.
Compared to less efficient organizations, high performers have 200 times more frequent deployments, can deploy products 2555 times faster, and recover from failures 24 times quicker. Regarding time spent on work tasks, less efficient organizations spend 22% more time on unplanned or repetitive work, whereas high performers can dedicate 29% more time to new work. Thus, efficiency not only refers to improved company output but also to enhanced quality of work and employee satisfaction.
Another benefit of DevOps is improved organizational culture and increased employee engagement. More efficient employees feel more fulfilled and achieve a sense of accomplishment; surveys show that they have higher employee Net Promoter Scores (eNPS), indicating stronger company allegiance.
Does Rapid Deployment Conflict with IT Stability?
Rapid deployment helps identify issues faster, as products reach users sooner, allowing teams to quickly respond to feedback. DevOps encourages small, incremental changes, making deviations manageable and easier to correct.
Thus, equating speed with risk is a misconception. Moreover, delaying software releases doesn’t necessarily prevent issues and can, in the competitive IT industry, result in missed opportunities.
The Rise of DevOps
Why It Continues to Grow
Technological Support
The development of technology has provided more tools for DevOps. Initially, the concept was clear, but the lack of comprehensive technological tools made it a “rich in ideas, poor in reality” situation. DevOps implementation is now possible with emerging container technologies, an extension of automation tools like Puppet, SaltStack, Ansible, and platforms offered by traditional PaaS vendors like Cloud Foundry and OpenShift.
External Market Demand
The IT industry is increasingly intertwined with market economic development. Experts predict IT will shift from a support center to a profit-driven center. This transition has already begun, not only in large corporations like Google and Apple but also in traditional industries with examples like Uber in taxi services, Airbnb in hotel chains, and Amazon in book sales. Keeping up with market demands is crucial for today’s companies.
The DevOps report provides a formula for calculating operational costs: Downtime Cost = Deployment Frequency * Failure Rate of Version Iterations * Average Repair Time * Financial Loss Due to Downtime
Internal Motivation from Teams
Engineers also benefit from DevOps. As Microsoft senior engineer Scott Hanselman said, “The most powerful tool we have as developers is automation.”
Integrating the toolchain allows developers to handle the construction, testing, and operation of software in production environments. Amazon’s VP and CTO Werner Vogels famously stated, “You build it, you run it,” emphasizing the responsibility developers have over their work.
Implementing DevOps
Hard Requirements: Tool Preparation
With the integration of the toolchain, preparing the right tools is essential. The following list provides an overview of tool types and examples:
- Version Control Systems (VCS): Git, GitHub, GitLab, BitBucket, SubVersion
- Containerization: Docker, LXC, ECS, AWS Fargate, Google Cloud Platform
- Container Orchestration: Kubernetes, Docker Swarm, Rancher, AWS EKS, AKS
- IT Automation: Jenkins, Chef, Puppet, Ansible, Terraform
- Collaboration: Jira, Slack, Monday.com, Google Workspace
- Monitoring and Visualization: Datadog, Prometheus, Grafana, Loki
Tool selection should be based on company needs and the technical team’s situation.
Soft Requirements: Culture and People
The success of DevOps hinges on whether the organization fosters collaboration. Effective communication and learning between developers and operations staff lead to high productivity. Collaboration also exists between business personnel and developers, with business staff clearly understanding what they want in the minimum viable product and engineers delivering precisely that.
Using a common platform (the integrated toolchain) ensures better consistency and higher quality. Additionally, DevOps raises the bar for engineers themselves, and many experts consider recruiting top talent a challenge.