Introduction to DevOps?
By the word DevOps we can understand it is combination of development & operations.
In simple terms, DevOps = Dev (development) + Ops (Operation)
DevOps is basically a set of practices or rules. It is a way of working or a set of practices where development guys & operation guys comes under the same roof and work together.
DevOps is not a role
We can be mistaken by assuming DevOps as name of any role in software industry. Fundamentally, it is not a role. Rather it is a “way of working” or a “methodology”.
In software industry they call automation engineer as DevOps engineer, this is not correct. The correct statement is “every engineer in a project who follows DevOps methodology is a DevOps engineer”.
In software industry the so-called DevOps engineer work closely with both development team & operations team, and they make a bridge between the two team (dev & ops). They involve themselves in the complete SDLC process and tries to see the bigger picture and support dev guys & ops guys accordingly.
DevOps is a culture
In this context the correct statements are –
- DevOps is a culture
- DevOps is a way of working
- DevOps is a methodology etc.
DevOps encompasses culture and collaboration. DevOps culture is empowered by “collaboration”. Collaboration is key in DevOps. Guys must collaborate while working in the DevOps methodology.
Guys from software development team must work closely with guys from operations team. They should work as a team.
Why DevOps came into picture?
Traditional SDLC lifecycle is not capable to deliver software faster due to less collaboration in its culture. There are many flaws in the traditional SDLC if we compare it with DevOps methodology.
To avoid the shortcomings of traditional SDLC a new way of working evolved which is known as “DevOps”.
Automation is the heart of DevOps
From an implementation point of view, automation is the heart of DevOps. Automation engineers create CI/CD pipeline to automate the process of integration and deployment which fasten the software delivery process. Not only CI/CD pipeline, many things are automated in DevOps methodology like software installation & configuration, application platform building etc.
For more detailed information please have a look at the below article.
There are many tools/technology which power up DevOps –
- CI/CD pipeline – Jenkins, Azure DevOps, AWS DevOps etc.
- Infrastructure as Code (IaC) – terraform, pulumi, ansible etc.
- Configuration management – ansible, chef, puppet etc
- Container orchestration tool – K8s, EKS, AKS
This is all for now.
If you are interested in learning DevOps, please have a look at the below articles, which will help you greatly.
- Kubernetes Series: Part 1 – Introduction to Kubernetes | Background of Kubernetes
- Kubernetes Series: Part 2 – Components of Kubernetes cluster | Kubernetes cluster in detail
- Kubernetes Series: Part 3 – What is Minikube and How to create a Kubernetes cluster (on Linux) using Minikube?
- Introduction to Ansible | High Level Understanding of Ansible
- Basics of automation using Ansible | Automate any task
- Automation of Java installation – using Ansible
- Automation of JBoss EAP installation – using ansible
- Jenkins Pipeline as code – High level information
- Jenkins pipeline script to build Java application and push artifacts into repository
- Jenkins pipeline script to build & deploy application on web server
- What is End-to-End Monitoring of any web application, and Why do we need it?
- What is “Monitoring” in DevOps? Why do we need to Monitor App/DB servers, Transactions etc.?
- DevOps Engineer or Software Developer Engineer which is better for you?- Let’s discuss
- How To Be A Good DevOps Engineer?
- How to do git push, git pull, git add, git commit etc. with Bitbucket