In this post you will learn the prerequisites to learn DevOps. DevOps, as you know is Dev+Ops. So, technically you must know how Development and Operations work.
However, if you look at a bigger picture, DevOps is not just automating Ops to help Dev. Its more about adding value to the organization, by means of adopting “DevOps Culture”
DevOps is basically a culture. You can say software engineering culture. Aim or objective of DevOps is unifying software development (Dev) and software operation (Ops). DevOps is a broad area and it involves many tools at different stages/phases. This culture minimizes the gap between developers and business operations by providing collaboration layers to both. Developers in DevOps want continuous innovation and product enrichment whereas Ops department oversees costing and delivery. It is basically a way of implementing the development and operations together. There is a single team that is collaborating with each other at every phase whether it is development, testing, deployment or operations. Prerequisites to learn DevOps involve:
This way, there are certain per-requisites to become a DevOps.
- Knowing your Tech-stack, be it OS, DB, Middleware etc which includes Linux/Windows, Tomcat/Weblogic, Apache/Nginx etc.
- Having know-how of Build and Deployment process. What to build, how to build, how to deploy etc.
- Some knowledge about daily Ops activities such as restarts, maintenance, backups etc
- From tool/technology point of view, there are no “defined per-requisites”.
- However, in most of the cases, basic knowledge of Jenkins, Ant/Maven, Java, Shell/Python/Ruby is required and some knowledge about Docker/Cloud (AWS), Chef/Puppet etc is an added plus.
- Non-technically speaking, you must know how to add value. How to speed up release cycle from Dev to QA to Prod. Yes, this involves automation at each and every level. What you should know is the final goal and how you divide it into pieces is more important. Thats why it is essential to know end-to-end release cycle of you organization which includes personnel from various teams/departments such as Dev, QA, Project Mgmt, Prod Support and many more.
- Familiarity of concepts like CI, CD, Release Engineering are a pre-requisite. And so, should have experience on tools like Jenkins, Bamboo, CircleCI, etc.
A DevOps person should not only be technical-oriented. As you add more value to organization, you must posses some qualities such as good communication skills, a good vision to plan and execute, leadership qualities and what not.
No comments:
Post a Comment