What is DevOps?
Put simply, it’s a methodology to close the gap between Developers and Operators in IT Teams.
Historically, developers created artifacts (code, binaries, …) that operators had to deliver to the customer (as a Software Package, a Webservice, etc.). Ideally, developers define the technical dependencies their artifacts need to run in production and operators take care of the right environment, monitoring and so on.
Traditionally, this is a back and forth between two irresistable forces and, at scale, imposes more problems than it solves. That’s why at some point Devs and Ops sat down to discuss how to better manage their relationship and came up with a new concept of handling workloads and IT processes: DevOps.
Lately, DevOps seems to become a buzzword and almost a synonym for “Kubernetes”, “AWS” and “Pipelines”. Of course, there’s more to it.
DevOps is a methodology. It’s a certain way to think and it’s a special attitude and mentality one has when it comes to dealing with the unknown (i.e. “problems”). It certainly can’t be limited to a subset of tools that only solves a subset of problems.
A DevOps-minded engineer is a generalist. He knows enough about the artifact and the environment to be able to optmize both ends. That’s why a DevOps-minded engineer is often referred to as a Full Stack Developer. Not quite fitting, but it makes sense from the outside.
Typically, a DevOps engineer also has deep expertise in one of the professions his role came from – Dev or Ops. So he might be a Senior Java Developer or a Senior Linux Sysadmin, either building super efficient artifacts that can deal with commodity infrastructure or building modest code in highly optimized environments.
Either way, both commit to the solution of a business problem while sharing a common way to think and work. So a team of multiple generalists with strong expertise coupled with a few single-scoped experts makes for a dynamic problem-solving machine.
In the next weeks, I'll go over 3 core principles of DevOps that I believe are substantial to the role. Until then, have a fantastic week!
Kubernetes richtig einsetzen | Ich berate Teams mit strategischem Blick | Technisch stark, hands-on, einsatzbereit
7moYou define DevOps as "a special attitude and mentality" of individuals. Another common definition is that DevOps is a way to organize teams: "Fullstack-Teams" that both build it and run it. Do you think both definitions contrast or rather complement each other?
AWS Container hero & DevOps Acceleration Manager at LG U+
4yAwesome post! As a senior devops engineer, i totally agree with you.
Platform Advocate at vCluster | CNCF Ambassador | Google Venkat Scholar | CKA, KCNA, PCA | Gold Microsoft LSA | GitHub Campus Expert 🚩| 4X Azure | LIFT Scholar '21|
4yFabian Peter I am going to be honest with you regarding this. I am a beginner and not aware of DevOps, while you're a expert in the following. we see things very differently. I would loved it more if you explain more about devops in the following post because if the person is a beginner he wont be aware of what “Kubernetes”, “AWS” and “Pipelines” do. A example would also be valuable as I would easily understand what devops is. This post is awesome if you are aware of what Sysadmin, Kubernetes is but not so much if you're not aware of the following, like me 😓 I am waiting for the next 3 posts eagerly, don't forget to add how to become better at the following principles at the end of each post 😄