DevOps

Let’s learn DevOps basics.

DevOps

There are many definition of DevOps. But the definition from Wikipedia is the easiest to understand.

DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle and provide continuous delivery with high software quality.

A simpler Devops defintion is: Engineering teams are responsible for developing and running the applications.

Benefits of Devops

  • Speed - innovate faster, more efficient at driving business result.
  • Rapid Delivery - increase frequency and pace of releases.
  • Reliability -ensure quality of application updates and infrastructure changes.
  • Scale - Operate and manage your infrastructure and development processes at scale.
  • Improved Collaboration - Build more effective teams under a DevOps cultural model
  • Security - move quickly while retaining control and preseving compliance.

Practices

  • Continuous Integration - developers regularly merge their code changes into a central repository.
  • Continuous Delivery - code changes are automatically built, tested, and prepared for a release to production.
  • Microservices - build a single application as a set of small services.
  • Infrastructure as Code - infrastructure is provisioned and managed using code and software development techniques
  • Continuous Monitoring and Logging - monitor metrics and logs. Use alarts to proactively monitor services.
  • Communication and Collaboration - use tools and automation to establish efficient communication and collaboration.

Remember, DevOps emphasize automation. Build, test, deploy and provisioning automation helps development teams to deliver features faster and allows team members to focus more on delivering business value.

Developer and Operations Responsibilities

Traditionally, Developers is responsible for making code changes. Operations team is responsible for keeping application available.

With Devops, the responsibilities are changed. Developers now take ownership of the application. They are now responsible for configure, develope and monitor the application. Operations team will assist with monitoring the system. And they are more focus on the ingrastructure and enforcing IT policies(backup, DR, security, compliance etc).

Reference

Good Reads