Skip to content

TL;DR DevOps

DevOps is a set of practices, tools, and a cultural philosophy that automate and integrate the processes between software development and IT teams.

DevOps is a methodology that promotes collaboration and automation between development (Dev) and IT operations (Ops) teams. It aims to streamline software development and delivery, automate repetitive tasks, and enhance code quality through continuous integration, continuous delivery, and cultural shifts, ultimately resulting in faster, more reliable software releases.

DevOps lifecycle

  1. Plan
  2. Code
  3. Build
  4. Test
  5. Release
  6. Deploy
  7. Operate
  8. Monitor

IDEs / Editors

Source control

Command line

Programming languages

  • Python
  • Go
  • .NET / ASP.NET
  • JavaScript

CI/CD

Continuous Integration and Continuous Delivery (CI/CD) is the method to frequently deliver apps to customers by introducing automation into the stages of app development.

CI

  1. Automate the Build
  2. Introduce Automation test (units tests, integration, ...)
  3. Linting
  4. Security / Scanning

Based on the workflow (like GitHub Flow > Git Flow) add Pull/Merge Request to be reviewed and approved by other collaborators.

CD

  • Environments: Dev -> Staging -> Prod
  • User feedback (Blue/Green, Canary, ...)

Containers

Containers orchestation

Infrastructure as Code

Infrastructure as Code (IaC) is the managing and provisioning of infrastructure through code instead of through manual processes.

Tools:

Configuration as Code

Sometimes also called Software Configuration Management.

Networking

Cloud Computing

Documentation

Security

  • Checkov
  • CodeQL
  • HashiCorp Vault

Monitoring

  • Graphana
  • Prometheus
  • ELK Stack

Testing

Linting

Miscellany

Know more

Sponsorship

"Buy Me A Coffee"