The following are the terms and tools within the overall principles described above that successful DevOps engineers need to know
2019 DevOps RoadMap
DevOps is really hot at the moment and most of my friends, colleagues, and senior developers I know are working hard to become a DevOps engineer and project themselves as DevOps champion in their organization.
Today, I will share with you the wonderful resources that will help you become a DevOps engineer for the 2019 DevOps RoadMap.
This RoadMap is amazing in any sense because it doesn't just emphasize what the character is.
Not only engineers at DevOps, but also tools and techniques to cover the field.
1. Learn a Programming Language
2. Understand different OS concepts
You at least need to know about Process Management, Threads and Concurrency, Sockets, I/O Management, Virtualization, Memory storage and File systems as suggested in the roadmap.
3. Learn to Live in terminal
For a DevOps guy, it’s important to have a good command in command line, particularly if he is working in Linux. Knowing some Linux shell like Bash, or Ksh and tools like find, grep, awk, sed, lsof, and networking commands like nslookup and netstat is mandatory.
4. Networking and Security
Gone are the days of isolation, in today’s world, everything is connected to everything which makes networking and security very important.
In order to become a good DevOps engineer, you must know about basic networking and security concepts like DNS, OSI Model, HTTP, HTTPS, FTP, SSL, TLS etc.
5. What is and how to setup
you should know what is set up in your machine and how you can set that up, only that you can think about automating it.
In general, a DevOps engineer should know how to set up a Web Server like IIS, Apache, and Tomcat.
He should also know about Caching Server, Load balancer, Reverse Proxy, and Firewall etc.
6. Learn Infrastructure as code
This is probably the most important thing for a DevOps engineer and this is a very vast area as well. As a DevOps engineer, you should know about containers like Docker and Kubernetes, Configuration management tools like Ansible, Chef, Salt, and Puppet, Infrastructure Provisionings like Terraform and Cloud formation.
7. Learn some Continuous Integration and Delivery (CI/CD) tools
This is another very important thing for DevOps gurus and champion, i.e. to set up a pipeline for continuous integration and delivery. There are a lot of tools in the CI/CD area e.g. Jenkins, TeamCity, Drone etc. Jenkins is most widely used and probably the most mature CI/CD tool in the market.
8. Learn to monitor software and infrastructure
Apart from setup and deployment, monitoring is another important aspect of DevOps and that’s why it’s important for a DevOps engineer to learn about Infrastructure and application monitoring.
There are a lot of tools in this space e.g. Nagios, Icing,
Datadog, Zabbix, Monit, AppDynanic, New Relic etc.
9. Learn about Cloud Provides
Cloud is the next big thing and sooner or later you have to move your application to the cloud, hence it’s important for a DevOps engineer to at least know about some of the popular Cloud Providers and their basics.
AWS is clearly a leader in cloud computing, Google Cloud and Azure are catching up gradually. Then there are other players such as Heroku, Cloud Foundry, Digital Ocean.