Basics about DevOps.

Basics about DevOps.

A beginner friendly of know-hows of the essentials.

ยท

6 min read

Image Source

  • What DevOps Stands for?

  • What is the role of a DevOps Engineer?

  • What are the prerequisites to be a DevOps Engineer?

  • What are the technologies you should know well?

What DevOps Stands for?

DevOps is an amalgamation of the words "Development" and 'Operations" Which essentially deals with application development and some operations concerning it, in short.

To term it simply, we may say DevOps is the way to eliminate the barricade between development and IT Operations. A practice and tools to automate and integrate the processes in between the development of applications and deployment for an organization to speed up their delivery of software applications and in-service optimizations. It can be defined as effective collaborations and communication of development and Operations.

What is the role of a DevOps Engineer?

More often than not, we get to hear that DevOps is more of a mindset or cultural philosophy and things suchlike this. Yes, that's true to a fair extent and sounds great. But Practically if we see then "People write code on a local host and rest is the job of DevOps Engineer to move that code into the production and ensure it is always available to the clients.

It includes a lot of things in the middle like maintenance, Updates and Integration of some sort. But the journey of a DevOps engineer essentially is from the local host to the production environment, in general.

Image Source:

What are the prerequisites to be a DevOps Engineer?

Here comes the major question for a starter What should we know to be a DevOps Engineer?

Do we need a ton of a lot of programming or coding in it?

The answer is NO.

Fun fact for you and a lot of people love that DevOps does not require you to have too much understanding of Programming. Provided that you should be able to read the code and can draw a fair understanding of code as to what it is going to get resulted in, and what a particular code suggesting to. That's all.

You don't need to write business logic and all as that's the Job of Developers, not of DevOps. You as a DevOps need to move applications, spin up a few machines and put up a database behind it. But if you have a reasonable understanding of code and programming, undoubtedly you can thrive better in the DevOps world.

Although It has not been strictly mandated.

What are the prerequisites to be a DevOps Engineer?

Have Hands-on Linux

Well, the first step to becoming a DevOps is to learn and have a good amount of spent on Linux. Spend dedicated 2-3 months on Linux at least regardless of which cloud infrastructure you're choosing to move your production house to, it may be AWS, GCP or Azure for that matter.

One thing that is common in all DevOps Engineer's skillset is they know "Linux". The more you know about it, the better it would be for you. Understand the commands of it, know the basic networking it, about the disK management and how it works and know-how of namespaces working in Linux.

(Spoiler Alert!)

Namespaces are a great concept that somewhat introduces How Containerization and Docker work?

Suggestion: Install Linux rather on your main machine if You're serious concerning DevOps. It won't be easy in the start but keep on it, will get handy for you a day believe me. ATB!

Learn about Git/GitHub/GitLab:

Once you are done with Linux and feel comfortable or friendly with its environment. Then Go ahead and move on with Git. It doesn't matter if it is Gitlab or GitHub, the concepts are important. Therefore being a comfortable life with Git & Github will make your life easier as a DevOps.

Learn YAML

Once you are done learning Git and Git concepts. Go ahead and learn YAML, It is an instructional set language. It doesn't include any hefty programming of such sort. It is just an instruction that eventually you will have to use as a DevOps Engineer. These instructions are given to the computers as per the requirement to set up a database.

It is just merely a matter of dedicating 2-3 days to master it as YAML is a language I would suggest you master at the very start of your journey to be a DevOps Engineer.

Well, Now that you are done with them. A great start as DevOps. Now life as a DevOps Engineer revolves around a lot of clouds. Yes, there are dedicated cloud engineers and DevOps. People consider them different altogether. Therefore the chances are high that You need to know.

Now Pickup your Favorite Cloud for me it's AWS but it's equally the same for Azure and GCP. Since Aws offers a lot of services and a lot of startups use them, also the demand for AWS and Azure are kinda growing at the same time. Well, you may use any of these servers but the machine would cost the same in all regardless. I prefer AWS because along the line you can learn and earn a lot of certifications which does have a lot of advantages ahead.

Suggestion: Learn AWS in the real Environment.

Now then comes to the most widely used applications Docker & Kubernetes.

Docker is the way how you containerize your application and put that onto the server. To make these containers always up and running and if any go down there is something to monitor and make sure that all these containers are available all the time. The Load of the machine is not too much and You can distribute the load on different machines with different containers that is where Kubernetes comes into the picture. It makes you Cloud independent, you can use the same servers and same configurations, the same containers in AWS and GCP and you can move on freely and that is why people love Kubernetes so much.

By this, you are on the journey of 60-70 percent into DevOps.

Now a step forward comes learning about Tools and the terraform(Infrastructure as a code). The Tools like Ansible, Github action, Argo CD, Circle CI, and Jenkins.

Image Source:

Don't get into tool hell much as learning unlimited tools won't help you much but learning what a DevOps engineer's Day-to-Day work looks like and knowing if simulate that or not. Just make or take a dummy application and take it on the cloud and think how can u make that scalable onto the cloud server and how can you monitor it effectively.

That'll make you a better DevOps Engineer.

Thank you, If you have come this far. Make sure you follow me for more.

Any Suggestions, Incorporation and Feedback are welcome. Please drop them in a comment I shall appreciate it and get back better next time.

ย