All about Devops Engineer (2 Part Series)
As a Devops Engineer for almost 8 years, I always see people frequently asking about Devops term. They are debating which one is right between Devops as a role or Devops as a principal movement.
At first, Devops as a movement introduced as a part of Agile System. After several time, this new system is considered as an answer for people who were tired with a top-down model which for some people, this old system doesn't suit with IT world who needs freedom, creativity, and time in the process.
By the time, Devops become de facto on the organization. Since not every place has same culture, thought and same maturity level, this condition enforces some organizations to made DevOps become a role since they need a person who can be responsible do the job.
On 80-90's era, Everybody in IT wants to create a product that can implement on client side. Some of them become so successful in this model. We know them today as Microsoft with their windows Product, SAP with all their variant, Apple with their macintosh, Oracle with their Databases, etc.
They also create a Team/environment (like third party) who will help their customer for migrating smoothly from an existing to the new one.
This condition creating a role like system engineer, external support, system administrator, network enginner, etc which always available for helping the process from their expertise standpoint.
And Cloud Computing era comes. All the product-centric become a service-centric. Changing the trend where people already convenient before.
End-of-life a product also changes. No retiring and promote the version of the product anymore, Only new feature, new navigation, and new experience.
Companies need more In-house developer than before. Deployment and release happen more frequently for the sake of having better services.
In this situation, we need a better approach that can accommodate this new demand. The old process that has much human intervention doesn't fit anymore. Segregation between the steps and role in the process makes it worse. A person who understands end to end process from development until operations are needed (we will talk more about this in the next chapter) for architecting a new plan which can integrate all the process smoothly and automated.
Many big companies try to answer these challenges and share their solution to the world. Some of them give more influence like a book with this title "The Phoenix Project" by Gene Kim, Kevin Behr, George Spafford give a new perspective. The others which give a big influence is a solution from Google.
Google believes everything will be better when a Developer who creates the services, involved in Operations also. They believe it will cover the gap and loophole of the missing information. Later, We know it as a Site Reliability Engineer (SRE).
The main Objective of SRE are more focus on SLA, SLI, and Service Level Objective (SLO). Where in the real task, they will more aware of the production metric.
Another idea comes with promises. A new discussion about the effectiveness also appeared. In some companies, sometimes this new role stacked up with Devops. The situation will end with both of the roles need to work together or just change the cover to do the same task.
Until a Process Cycle in IT Technology more mature, many roles will come and go for trying to answer the challenge.
I would say if scrum as an agile framework having a scrum master. Devops/SRE engineer becomes a role which will maintain the practice of devops methodology in a company is not bad either.
Doing with the right mindset more important since everything will change in the end.