How do I learn DevOps?
DevOps (development and operations) is the philosophy of the efficient development, deployment, and operation, of the highest quality software possible, and when done correctly, it can greatly improve the overall quality, stability and security of your code.
The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units. In the enterprise, there is a need to break down silos, where business units operate as individual entities within the enterprise where management, processes, and information are guarded.
One main goal of DevOps is to deploy features into production quickly and to detect and correct problems when they occur, without disrupting other services. DevOps is not based on stringent methodologies and processes: it is based on professional principles that help business units collaborate inside the enterprise and break down the traditional silos.
You should have some following knowledge to learn DevOps
Version Control - What is it? Why is it? Different Kinds. Pros. Cons. Etc.
Builds - Again, What is it? Why do a build? Can it be faster? Tuning a build. Packaging. Etc.
CI/CD - Again, What is it? Why bother? Should packaging be done here or in builds? Etc.
Scripting - You better have scripting skills in at least 2 UNIX languages + Powershell.
Monitoring - What things get monitored? How? Why? What are failure ratios?
Clouds - What is a cloud anyways? What is scaling (Up, Down)? Security? Access? Metering?
DevOps is not a technology, therefore just learning the tools associated with it is not enough. You’ve to make sure that you learn the underlying concepts and fundamentals of DevOps, so as to implement and use those tools in the right way.
He/She shall work with software developers, system operators, and other production IT staff to administer code releases.
A DevOps engineer should have hard as well as soft skills to communicate and collaborate with development, testing, and operations teams.
Most of the people believe that DevOps was just developed because of isolation between developers/testers & IT operations. But I would rather say that due to the dissatisfaction of the waterfall model, DevOps was developed.
So the first step is to understand the theory behind Release Management, Change Management, Configuration Management, ITILv3, Branch and Merge, Release Cycles, etc. Without understanding these theories, it would be useless to jump directly to DevOps.
I would also recommend you to check out the following blogs on major DevOps tools which would help you in getting better insights:
To understand more about DevOps Culture and it’s Career Opportunities, please watch the videos in DevOps Resources section here: DevOps Best Videos (a curated list)
The goal of DevOps is to change and improve the relationship by advocating better communication and collaboration between these two business units. In the enterprise, there is a need to break down silos, where business units operate as individual entities within the enterprise where management, processes, and information are guarded.
One main goal of DevOps is to deploy features into production quickly and to detect and correct problems when they occur, without disrupting other services. DevOps is not based on stringent methodologies and processes: it is based on professional principles that help business units collaborate inside the enterprise and break down the traditional silos.
DevOps isn't just about the tools. More importantly are the working practices, the close working relationship between development and operations teams.
About DevOps Tools and necessary knowledge
DevOps is a mixture of automation tools and DevOps culture to deliver a good software quality product in minimum time. You need to understand what DevOps culture is, How it would help organizations to stand ahead and enhance the delivery times. Devops concentrates on various tools right from the planning phase till the delivery and maintenance phase. Since a large portion of the devices is open source, an ideal strategy is to comprehend.You should have some following knowledge to learn DevOps
- Fundamental knowledge of Linux, AWS.
- Knowledge of Scripting languages.Ex:- Python, Perl, Power Shell.
- Proficient knowledge of Text Editor and Command Line Interface.
Version Control - What is it? Why is it? Different Kinds. Pros. Cons. Etc.
Builds - Again, What is it? Why do a build? Can it be faster? Tuning a build. Packaging. Etc.
CI/CD - Again, What is it? Why bother? Should packaging be done here or in builds? Etc.
Scripting - You better have scripting skills in at least 2 UNIX languages + Powershell.
Monitoring - What things get monitored? How? Why? What are failure ratios?
Clouds - What is a cloud anyways? What is scaling (Up, Down)? Security? Access? Metering?
DevOps is not a technology, therefore just learning the tools associated with it is not enough. You’ve to make sure that you learn the underlying concepts and fundamentals of DevOps, so as to implement and use those tools in the right way.
Job Description
The person who has knowledge about DevOps can be called as a DevOps engineer.He/She shall work with software developers, system operators, and other production IT staff to administer code releases.
A DevOps engineer should have hard as well as soft skills to communicate and collaborate with development, testing, and operations teams.
Most of the people believe that DevOps was just developed because of isolation between developers/testers & IT operations. But I would rather say that due to the dissatisfaction of the waterfall model, DevOps was developed.
So the first step is to understand the theory behind Release Management, Change Management, Configuration Management, ITILv3, Branch and Merge, Release Cycles, etc. Without understanding these theories, it would be useless to jump directly to DevOps.
Wrapping Up
If you really want to pursue DevOps, it’s the best time for you to shift to DevOps culture.I would also recommend you to check out the following blogs on major DevOps tools which would help you in getting better insights:
- Git
- Jenkins
- Docker
- Puppet
- Chef
- Ansible
To understand more about DevOps Culture and it’s Career Opportunities, please watch the videos in DevOps Resources section here: DevOps Best Videos (a curated list)
No comments