Upgrade from Ops to DevOps
Ever since the DevOps term has evolved in the IT industry, it's popularity is skyrocketing. Not only is it getting popular, organizations are also trying to adapt it as soon as possible to sustain themselves in this ever disruptive technology market. Hence there is a need of lots of DevOps engineer out there.
The DevOps Culture, principle and practices seems very easy to implement, however it is a very complex process in reality, as many tools have to be integrated together to create a Devops platform/pipeline. Transitioning to DevOps not only requires an open mindset to accept new culture but also needs highly technically skilled professionals.
DevOps is not just merging development and operations team together, it is much broader in culture and concept, i.e. the culture talks about the whole product delivery process until production deployment has been attained and the end user uses it. Having said that, the DevOps team needs each and every person (I would like say person rather than resources) responsible for the product development and delivery including the ux developer, the back end developer, the DB engineers, the QA (all types like functions/performance/security), the system administrators, the stake holders and also the end customer/user.
During my career within System Support/Monitoring/Infrastructure Engineering/SaaS/Platform Engineering, I have worked with teams of system admins, developers and quality assurance engineers in various projects. I was always disappointed with my role. However the day I heard the term "DevOps" and understood it I believed that I am future ready. I was super excited.
Its been couple of years now and DevOps has been evolved a lot since then. However there are so many people from Operations (The System Administrators) are yet to evolve. In this post, I will try to provide information and a learning path especially for the system administrators who wish to upgrade to become a devops engineer. Here are the top skills need to be learned to transit from Ops in DevOps.
We have landed in an era of doing things faster, smarter and more innovatively. It's high time to start learning the latest tools and technology to make yourself technically fit, so that your survival chances are higher.
I am trying to share the absolute points and the way to get into DevOps step by step. The only thing you must keep in mind is “Now or Never”.
Many of the administrators are confused or scared of the number of tools that has to be learned when they think of DevOps. First and foremost the fear has to be obliterated. To become a successful contributor in DevOps team a “T” shaped skill set should be acquired.
I hope if you are an experienced system administrator you must have expertise in Operating System Administration, Network Administration, Virtualization, Monitoring and some extent of the H/W Administration. These skills are your strong points to dive into the DevOps world.
Before we proceed further, Have a glance at the layers/categories of tools in DevOps that has to be learned.
Step 1: Cloud Computing
If you understand the stack above in the diagram, I am sure you are already have the initial skills i.e. the Infrastructure skills. If you are not familiar with the Cloud then that is your first step to get started towards the DevOps journey.
AWS being the top player in cloud providers, others like Microsoft Azure, Google Cloud, Oracle Cloud, IBM Cloud are the top notch competitors.
Step 2: Scripting
I came across many system administrators who are hesitant to learn scripting or do coding. I bet you have to bare a hefty loss unless start with scripting. At least knowledge of Bash scripting is mandatory for the stepping stone of DevOps. If you are good at Bash scripting Python would be the next best choice.
Refer the shellscrpit.sh to get started with shell scripting. For Python check Python for System Administrators
Step 3: Infrastructure As Code
As the number of servers are in rise the way it is being managed has changed. Infrastructure As Code is the technique to automate deployments, provisioning and managing the dynamic and disposable infrastructure required for the release pipeline. There are two types of tools gets used in IaC
· Configuration orchestration tools
· Configuration Management tools
Configuration orchestration tools which are very popular and in demand are HashiCorp’s Terraform, AWS Cloudformation.
Configuration Management tools are mostly used to maintain the state of the server post provision. Ansible being the trendy among all and having a quick learning curve takes the first place to be start with. Take glance Ansible documentation
Step 5: Container & Container Orchestration
Virtualization was the game changer of IT Infrastructure in previous decades. The evolution of the container technology is the add on for to it. Docker is the leading container software widely used. With high usage of Docker, the orchestration tools like Docker Swarm, Kubenetes has been evolved and they are the must to learn items.
A easy start can be done here Docker - get started. Learn the kubernetes-basics
Step 6: Code Repository & CI/CD
Apart from all the above tools Code repositories/source control/version control tools are also required to understand the entire DevOps release pipeline. Git is the widely used tool at the moment to commit and version control the code. Start with this quick guide “Getting-Started-About-Version-Control” to understand the process of adding, modifying, committing the code to a git repository.
CI/CD is the heart and soul of the release pipe line. All tools mentioned above has are to be integrated in this to make the DevOps successful. There are many Ci/CD tools out there like Jenkins, Bamboo, TeamCity, CircleCI etc. Among these Jenkins is one of the widely used as it is an open source. Get started with this Jenkins handbook
Conclusion:
I have just tried to provide the quick steps to understand the important tools used in devops culture. I hope this will help you to start get upgraded from system administrator to a successful devops engineer. Happy Learning.
Senior Data Scientist at Corteva Agriscience
5 年Very useful.