What To Learn DevOps ?

What To Learn DevOps ?

DevOps tools are needed to streamline and optimize the software delivery process so that teams can deliver high quality products consistently. Though the vision is more or less same for most of the teams, the tools adoption may vary.

DevOps suggest the practices such as: Continuous Integration, Continuous Testing, Continuous Delivery and Continuous Deployment. The tools used to practice these can vary from team to team. The adoption of tools vary depending on the technical stack and the business needs.

Since DevOps is about streamlining and optimizing the software delivery, for someone looking at learning tools for adopting DevOps, I would suggest to follow the software delivery process to learn the tools:

No alt text provided for this image

Commit: This is the first stage of the software delivery process. People use Version control to save their changes and version them. The most used ones are:  Git, Perforce,  SVN and Mercury. Teams use tools such as Nexus and artifactory for artifactory management.

Build: In order to build the code changes committed, build scripts are used. In order to automate the build process, teams use Build tools such as: Maven, Ant and Shell scripts. Teams using Continuous Integration use Jenkins, Bamboo and TFS.

Testing: Teams use Cucumber for BDD. FitNesse for automated testing and tools such as JMeter for load testing, SonarQube for Static Analysis

Provision: Provisioning involves automated way of provisioning the environment. Tools such as Anisble, Terraform. These tools are also referred to as Configuration Management tools. Tools such as VirtualBox and VMWare are used for virtualization. Tools such as Vagrant are used to automate the provisioning of the virtual machines.

Deploy: Tools such as ContainersDockersKubernetes, AWS CodeDeploy and JuJu

Monitor: For teams to measure progress, they need to continuous monitor. Tools such as Nagios, WireShark, Splunk, New Relic and Zabbix are examples.

Apart from the tools mentioned above, there are cloud service providers which offers most of the tools as part of their suite. Amazon AWSMicrosoft Azure, Sales Force, Heroku and DigitalOcean are such examples.

The tools which you pick depends on the technical stack and the business needs. For example, if you are into SaaS based product delivery, then you would use the Amazon AWS and its various services for your complete software delivery cycle. If you are into system applications, then probably you will choose Linux , shell scripts, Jenkins, Containers and other tools which will help you in streamlining and optimizing your software delivery.

DevOps is not a single tool, it is a practice followed in conjunction with other tools & technologies.

There are various certifications involved in DevOps processes. I encourage people to write certification exams so that they will master and enhance their knowledge in the certification areas.

To start with, my picks would be one from each of the following areas:

  1. Operating System: Linux, Windows
  2. IaaS Providers: Amazon Web Services, Microsoft Azure, Google Cloud
  3. PaaS Providers: CloudFoundry, Pivotal Cloud Foundry(PCF), Heroku,Amazon Web Services, Microsoft Azure
  4. Virtualization Tools: VMWare, Oracle VirtualBox, Hashi stack
  5. Configuration Management & Provisioning Tools: Ansible , Terraform
  6. Continuous Integration/ Build Tools: Jenkins, Bamboo CI, Travis CI, Concourse CI, Harness, Spinnaker, GoCD
  7. Version Control Tools: GIT(GitHub, GitLab, BitBucket), SVN
  8. Containerization Tools: Docker, rkt
  9. Container Orchestration Tools: Kubernetes, OpenShift,Nomad,MiniKube, Marathon,Cloudify,Rancher,Containership
  10. Application Performance Monitoring(APM): AppDynamics, NewRelic, SignalFx, DataDog, Dynatrace
  11. Log Analysis & Monitoring: ElasticSearch, Logstash, Kibana(ELK), Splunk

On top of these tools, knowledge of the following is essential.

  • SQL/No-SQL databases
  • application/web servers
  • programming language knowledge(Java/C#)
  • scripting language knowledge(Bash Scripting/Python/Ruby)

NOTE: You will be interviewed on only one of the programming language/scripting language and databases. Usually it depends upon the software stack used by a particular organization.

Now all that is left to learn is to Challenge yourself with some difficult problems.??

Prasun Biswas

Open for a new opportunity, Immediate joiner

2 年

Thanking you for continuous sharing great resources to understand Devops tools in free of cost.

要查看或添加评论,请登录

Vijayabalan Balakrishnan的更多文章

  • Cancer Free Champs Foundation

    Cancer Free Champs Foundation

    ????I'm bursting with happiness and a sense of accomplishment. From a very early age, I had big dreams of making a…

    63 条评论
  • I am Desktop Engineer. How to Switch Cloud Engineer ?

    I am Desktop Engineer. How to Switch Cloud Engineer ?

    To make a switch from one job to another, you need to have the skill requisites needed for that new job. Since you are…

    6 条评论
  • Is focus the key to success ?

    Is focus the key to success ?

    Being successful at anything takes more intentional efforts than just luck; which is why you must intentionally create…

    12 条评论
  • IT Employee's Confusions

    IT Employee's Confusions

    Based on my experience and interaction with my colleagues, I would like to mention my views: People in any field fear…

    11 条评论
  • Stay humble when you are successful

    Stay humble when you are successful

    With time every human evolve, every person grow, every individual aspire and achieve something. It doesn't matter how…

    8 条评论
  • How important is it to have a Mentor?

    How important is it to have a Mentor?

    I know a few people who are not willing to work hard. Hard work in itself is not the problem.

    38 条评论
  • Is DevOps going to disappear because of AI ?

    Is DevOps going to disappear because of AI ?

    DevOps is a set of practices that help organizations develop, deploy, and manage software more efficiently. This…

    4 条评论
  • How to overcome the fear of coding?

    How to overcome the fear of coding?

    Overcoming the fear of coding can take time and effort, but there are some strategies that can help. Here are a few…

    6 条评论
  • Degree in Distance Education - Day 3

    Degree in Distance Education - Day 3

    1st point The problem a candidate makes is not highlighting his skills in resume and most of the initial screening for…

    5 条评论
  • How can we face defeat with courage?

    How can we face defeat with courage?

    You need to be self-motivated all the time. Nobody understands your dreams better than you.

    10 条评论

社区洞察

其他会员也浏览了