What is DevOps? Easy way.
I started my programming journey 5 years back. When I started learning to program Javascript is in heavy demand, and it still is but back then everybody was working on Javascript. And frameworks like AngularJs are in heavy demand. And React was still in its growing phase.
I have worked mostly on Frontend till now and I loved working on it. But I always had that curiosity about how things are working behind the scenes i.e. how things work on the backend.
So I wanted to work on the backend side as well and I picked NodeJs as the learning language cause why not it's based on Javascript so you don't have to learn any new syntax or any other new language.
So I started learning NodeJs and I quite enjoyed working on it. And when I deep-dive a little into NodeJs, I saw people automating stuff using it.
And as a curious young developer who has a lot of FOMO, I started doing some automation with Node. Then I came across some jargon words like Jenkins, DevOps, Kubernetes, Docker and many more. And I was very confused about what are those things and how they are connected to development. So I tried to read a little about these things and then I got to learn about the DevOps methodology.
And I was amazed at how many cool things we can do by adopting DevOps.
So as a FOMO guy, I started learning about DevOps and I learned about Jenkins a little and then I got distracted and started learning something else. That time I couldn't focus on one thing because I didn't know the practical use of DevOps that time, maybe because I was a novice developer or I didn't know how I can implement things that I'd learnt in my daily work or I don't know how we can get benefit from it.
But now I came across with DevOps again when my company also started adopting the DevOps culture. And when they talk about some things like Jenkins, Kubernetes, Docker etc. And when they talk about these things I realise that I've already known a couple of these things and now the things that I had learned earlier are started to make sense.
So I decided that I'll start learning about DevOps again but this time I'll give this a full go. No shortcuts this time or no distractions. I'll start from scratch this time like a complete beginner and take things one by one this time and will fully understand all the things related to DevOps.
I've come across a very helpful resource to learn DevOps from Michael Cade https://github.com/MichaelCade/90DaysOfDevOps
He shared his journey of learning DevOps in detail. Michael divided his learning journey into 90 days, which means we pick one topic from DevOps and will give one hour daily to it so after 90 days you have all the knowledge to be called as DevOps engineer.
You can take as much time as you want. And can go according to your understanding of things.
I'll start this journey and will try to document everything I'll learn in those 90 days so it can help others as well. Will share all the resources and my understanding of things as well. You can always go to Michael's GitHub repo to take references or if you only want to follow that one.
So, on the very first day, we will try to understand What is DevOps?
What is DevOps?
You'll see a lot of different definitions of what DevOps is by different people. And while they all are correct we must understand one definition and understand it fully.
"DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary to agile software development; several DevOps aspects came from the agile way of working."
So according to the above definition DevOps is a set of practices to merge the development and operations parts.
And this is the only thing you need to understand about DevOps. DevOps is a practice.
Most people link DevOps to automation. While DevOps helps in automating things but its abilities are not restricted to only automating things. You'll understand in the coming days what this is all about.
What DevOps is not?
Most people relate DevOps to Jenkins, but it's not true. So you need to understand what DevOps is not as well.
DevOps is not a tool, you cannot buy it.
DevOps is not a GitHub repository which you can download and start working on it.
It's not a programming language. You don't have to learn any specific language to be able to work on DevOps.
While there are many more things you can add to this list but those three are sufficient enough to give you a picture about What DevOps is not.
I can go on to mention a lot of things on What Devops is or What Devops is not. But that will only make this article big and I want to make this shorter and precise so if you want to deep dive on this topic, you can refer to the below links.
You can check these links to understand more on this topic. And I will also share my learning journey here on hasnode as well. So if you want you can check my articles as well.
You can reach me on twitter as well for more discussion. Twitter
P.S: - This is my personal view on the above topic. Please do not get offend if I said anything wrong. Please feel free to reach me on twitter and correct me .

