Please suggest me a right path to this DevOps career. From blogs Im not getting a well defined path. What all courses I have to take.
2 Answers
DevOps is not a role and in words of @Tensibai here:
DevOps is roughly an organization pattern aiming at breaking the silo between developers and sysadmins.
So, you could already be on the DevOps moto and if you don't think you are, you can probably just try to implement the DevOps pattern on your organization or move to another organization with that pattern already implemented.
You may want to become an Infrastructure Engineer, a SysAdmin Engineer, an Automation Engineer, a Site Reliability Engineer, a Performance Engineer... but surely you can not become a DevOps Engineer.
You can get a good sense of your path by reading some questions and answers on this site. Here are a few ones:
What is the difference between DevOps engineer Vs DevOps consultant Vs DevOps architect?
What is the difference between SRE and DevOps?
What could be a valid definition of DevOps to introduce it to a novice?
What is the difference between Sysadmin and DevOps Engineer?
-
-
1They are just taking advantage of the trendy name, that specific certification should be named "CI/CD Certification" or something like that (which is still a team, not exactly a single role). Apr 19, 2018 at 16:45
There is a nice hands-on path into the DevOps world:
- Read books to set the mental direction. Starting out with "The Phoenix Project" is not the worst bet. We can discuss the literary qualities of the story, but it gives a very sound idea on what are common pitfalls during software development (or in the larger IT world), and how to avoid. It is not too specific about a method (yes, it does use Kanban as a basic scheme, but Kanban itself is quite unspecific, compared to others like Scrum). If that book is too cheesy for you, take "The Devops Handbook" from the same authors.
- Learn basic tools. Build a basic DevOps toolset. You can start with Git, Gitlab, Docker, Ansible, Vagrant, to name a few concrete choices (except for Git, there are plenty of alternatives, but those are nice). This gives you Code Control, Pipelines, Containers, Configuration Management, VM Management.
- For your next application, setup a very basic CI/CD pipeline using Gitlab.
- Read more practical things like the "12-Factor Apps" article, and try to understand what all of the 12 factors are about.
- Learn orchestration. Install MiniShift on your own PC, use it to develop/locally deploy a few small applications. Try to apply the concepts from 12-Factor Apps to MiniShift. Learn more about OpenShift, play around with their free online demo area. Dive into Kubernetes.
- Get your CI/CD pipeline running in MiniShift/OpenShift. Think about how you would do certain things (e.g. what happens if you scale the Pod containing your database... etc.).
- Get an AWS demo/cheap account and play around with their offering. Look into all their parts that are not trivial VMs - play with Lambdas, etc.
All of this is easy and fun - each single step is more or less self contained, and if you understand what you are doing along the way, then you are a DevOps guy.
If you let it be known in the working environment that you have all this know-how, then DevOpsy work should come your way. If it doesn't, find a new employer and strongly emphasize your toolbox and pay attention during your interviews, whether they have CI/CD etc. in their process. No need to look for specific "DevOps Engineer" jobs.