What is Devops?

DevOps is not a skill, but a working culture which combines software engineering with the
operations within IT in regards to websites, applications, software etc.

DevOps engineers originate from a Software Engineering background or an Infrastructure Engineering background, but also within the team you can find System Administrators, Business Analysts, Infrastructure Engineers, and Developers etc. These backgrounds combined with the leap into the cloud, working on serverless platforms, we have found DevOps !

DevOps is about improving the efficiency of the development and operations within IT by combining the planning, coding, building, testing, packaging, releasing and configurations with continuous deployment, operations and monitoring.

With that said, a typical DevOps set up does vary. This can be depending on the company and team size.

AWS is currently the global cloud dominator, followed by Microsoft Azure and now Google Cloud is also increasing its market presence.

In addition to these key technologies within DevOps, other important ones include; Docker, Jenkins, Ansible, Terraform, Chef, Puppet, Ruby, Bash, Linux, Octopus… The list is endless!

The top of the list of key skills, the most sought after ones are AWS/ Azure and Kubernetes. Kubernetes is an open-source system used for automating deployments, scaling containerisation.

DevOps in the market right now is great because engineers can work independently which helps to progress applications much quicker too. Continuous deployments and automations also reduce risk and improve quality, which ultimately saves the businesses money! DevOps is talking about many aspects of Development and Operations processes while trying to optimize the engineering organization for growth and infrastructure for scale.

DevOps culture is talking about:
  1. Engineers empowerment - by giving engineers more responsibility over the whole application lifecycle process. (dev -> test -> deploy -> monitor -> be on call)
  2. Test Driven Development - write tests before you write code. Unit tests, integration tests, system tests. This will help increase the quality of your service and give you more confidence to release faster and more frequent.
  3. Automation - automate everything that can be automated. Test automation, infrastructure automation (infrastructure as a code), deployment automation, etc..
  4. Monitoring - monitor your apps, build monitoring alerts well. It should save your time, don't flood with metrics and alerts.
  5. Self service - provide a self service for any framework that you build or anything that you do. Don't be a bottleneck.



Comments

Post a Comment

Popular posts from this blog

DevOps Interview Questions

Calico Certified Operator: AWS Expert Questions & Answers

CKAD Certification Exam Preparation Guide and Tips