DevOps Matrix v2.0

Version 1 is the comprehensive approach to DevOps Matrix, now let's have a look at it in a different perspective using diagrams w/ simple and quick explanation.

This version's goal is to provide you with an overview of the matrix, showcase on how does it fit within the DevOps ecosystem, and give you insight on what these components are in a conceptual level. Unlike in version 1 the target audience for this version are beginners thus avoiding the usage of an overwhelming amount of keywords.

Diagram 1: overview of the DevOps ecosystem

Agile Adoption

In a nutshell, agile is just a way to execute (plan -> develop -> test -> deploy -> launch) repeatedly.

Developer Experience (DevEx)

DevEx is the overall feeling developers get when they use a technical product in their workflows. 

Example:

increase the ability to do tasks locally that are normally done in a server environment

increase defect detection rate while in a Local environment

increase coding speed through tooling like IntelliJ plugins, boiler-plates, and reusable components

provide refactoring guidelines to make LEGACY applications suitable for full DevOps Automation

Continuous Integration (CI)

CI is the practice of automating the integration of code changes from multiple contributors into a single software project. The benefit is that it enables teams to find and resolve issues early in the development process.

In a nutshell, (build -> test -> package) is the continuous integration part in a cicd pipeline.

Continuous Testing (CT)

CT is a software development process in which applications are tested continuously throughout the entire software development life cycle.

Continuous Deployment (CD)

Continuous Deployment is a software engineering approach in which software functionalities are delivered frequently and through automated deployments.

Important Notes:

Continuous Deployment is different from automated deployment

CD doesn't always refer to continuous deployment, it could also refer to continuous delivery which means release software to production any time instead of instantly unlike continuous deployment

Elastic Infrastructure

Elastric Infrastructure is what I call to setting up and managing resources in the cloud (AWS, Azure, GCP, etc.).

This concept is where we execute infrastructure provisioning and configuration management.

Continuous Monitoring

Continuous Monitoring aims to give enterprises near-instant feedback and insight into performance and interactions across servers, networks, and cloud environments. This is critical for improving operational, security, and business performance. 


Continuous Compliance

Continuous Compliance requires that DevOps teams start their design and development with compliance in mind. This includes having clarity on the exact requirements, down to the fine details. With this in mind, the team can move forward to build applications that meet these requirements.

Security

My approach to security can be categorized in two discipline. Detection and Prevention.

Detection

These are the technical debts generated from security scans. Security scans must be part of the CI/CD and peer review process on a regular basis.

Prevention

These are the security applied to IAC made by following best practices in the industry.