DevOps Engineer = Operation Engineer + automation, this may seem incorrect, but according to IT market’s job description of DevOps Engineer, it is correct. We will see it in this article.
Fundamentally, “DevOps” is not a name of role. It is the name of a culture where dev guys & ops guys comes together and work. This way of working ensures dev guys and ops guys are in same page which leads to faster issue resolution, delivers the projects quickly etc.
With this culture implemented there is one role which came into picture is “DevOps Engineer”. This designation is little confusing. I think every engineer who is following DevOps culture/practices is a DevOps Engineer. But if we see the job description of this “DevOps Engineer” role we can easily understand DevOps Engineers are nothing but Operation Engineers with little modification. Here the modification is, “DevOps Engineer” uses automation.
Roughly according to IT market, we can say,
In other words, we can say,
Automation Technologies used by DevOps Engineer
There are many automation technologies/tools available in market. But here I will mention few of them which are mostly used.
Infrastructure as Code (IaC)
Using IaC we can maintain infra as code which is great thing. It enables us below
- “On demand” infra availability within short span of time.
- “On demand” existing infra modification within short span of time.
- “On demand” unused infra deletion within short span of time.
- Code reusability, using IaC once code is developed we can reuse code for other projects.
Popular tools/technologies are –
Software provisioning, configuration management
This is another section, where automation is used. Most popular tools are –
- Ansible – it can be used on both Linux & Windows
- PowerShell – only for Windows.
- Bash script – only for Linux.
Application Deployment – automation
This is one of the most important task taken care by “DevOps Engineer”. The process is known as CI/CD (Continuous Integration/ Continuous Deployment or Delivery). In this case DevOps Engineers create pipeline which perform the CI/CD.
Popular tools are –
- Jenkins – one of most powerful/popular CI (Continuous Integration) tool.
- Spinnaker – one of the most powerful CD (Continuous Deployment/ Delivery) tool.
There are many more technologies available. But these are 3 mostly used automation domain/technologies used by DevOps Engineer.
Task which are in the bucket of DevOps Engineer
There are many tasks which are carried out by DevOps engineer. Below are the few –
- Infrastructure creation & maintaining them.
- Configuring CI/CD pipeline and maintaining it.
- Application deployment on VM
- Application deployment on K8s, OCP, AKS, EKS etc.
- Dependency software installation etc.
So we can conclude that, A “DevOps Engineer” (as per job description in IT industry) is an Operation engineer who uses automation technologies.
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
- 10 frequently used ansible modules with example
- Jenkins Pipeline as code – High level information
- 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?
- Network Connectivity Troubleshooting Guide for Beginners
- How to do git push, git pull, git add, git commit etc. with Bitbucket