DevOps is less about doing things a specific manner, and more about moving the business ahead and giving it stronger technological benefits. There are many paths to become a DevOps professional.
It’s a continuous learning and consulting process. Each DevOps tasks and activities have been invented from different development, testing, ops team consulting through consultants and running pilots, therefore it’s hard to give a generic playbook for how to get it implemented. Everyone must start with learning about the principles, values, techniques, and practices of DevOps and trying to share it via any channel and keep learning.
Skills that DevOps engineer must have
If you are targeting to land a job as a DevOps engineer in 2019, it is not only about consuming a deep expertize skill but acknowledging how a variety of methodologies and skills come together. One of the aspects that prepare DevOps both challenging to divide into is that you have to be able to write code, and also to work across and embedded various systems and applications. Based on my experience and knowledge, I have finalized on the list of top 5 skill sets which you might require to be a successful DevOps engineer:
#1 – SysAdmin with Virtualization Experience
Deployment is a significant requirement in DevOps role and ops professionals are good at that. It is all which is needed in deployments automation engine (chef, puppet, ansible) knowledge and use-cases implementations. Nowadays, most the public clouds are running multiple flavors of virtualization so a must have 3 – 5 years of virtualization experience with VMware, KVM, Xen, Hyper-V is required along.
#2 – Solution Architect Role
Along with virtualization or deployments experience, understanding and execution of all the hardware technologies in extent is a must like storage and networking. Currently, there is a very high-demand for candidates who can design a solution that scales and performs with high availability and uptime with the minimum amount of resources to feed on (Max utilization).
#3 – A Passionate Programmer/API Expertise
#4 – Integration Skillset around CI-CD tool
A DevOps engineer must be able to use all his proficiency to incorporate all the open source tools and technique to make an atmosphere that is fully automated and embedded. The goal must be for zero manual interference from source code management to deployment phase, i.e. Continuous Integration, Continuous Delivery, and Continuous Deployment.
#5 – Bigger Picture & Customer Focus
While the strong concentration on coding part makes software engineering an expected path to a career in DevOps, the difficulty for candidates who are coming from this world is that they have to be able to prove that they should look outside their instant team and project. DevOps engineers are accountable for enabling communication and collaboration between the Development and IT teams within a company, so to pass in an interview, you will need to be able to express your knowledge of how dissimilar parts of the technical organization fit and work together.
In short, all you need are the list of tools and technologies mentioned below –
- Source Control (like Bitbucket, Git, Svn, VSTS, etc.)
- Continuous Integration (like Jenkins, Bamboo, VSTS)
- Infrastructure Automation (like Puppet, Chef, Ansible)
- Deployment Automation & Orchestration (like VSTS, Jenkins, Octopus Deploy)
- Container Concepts (LXD, Docker)
- Orchestration (Kubernetes, Mesos, Swarm)
- Cloud (like AWS, Azure, Google Cloud, OpenStack)