DevOps is a compound of development (Dev) and operations (Ops). It is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. This roadmap would help you as a developer to get started with your DevOps journey.
To make your journey easier, pick a path
C++
Mark as done
Done
C++
C++ is a cross-platform language that can be used to create high-performance applications. It is an extension of the C programming language. Learn more about this from the resources below.
C++ Programming Course
C++ Crash Course
Beginner Crash Course - C++ optional
Python
Mark as done
Done
Python
Python is a computer programming language often used to build websites and software, automate tasks, and conduct data analysis. Its design philosophy emphasizes code readability with the use of significant indentation. Learn more about this from the resources below.You can also get started with the Python roadmap as well.
Crash Course on Python
Python Crash Course for Non-Python Programmers
The Complete Vanilla Python Course
Learn Python 3 Programming
Python Roadmap optional
GoLang
Mark as done
Done
GoLang
Go, also known as GoLang, is an open-source, programming language focused on simplicity, reliability, and efficiency. Learn more about this from the resources below.
GoLang Tutorial for Beginners
Get Started with Go Programming
The Complete Beginner Go Course
Master the Go Programming Language
GoLang Crash Course optional
C
Mark as done
Done
C
C is a general-purpose programming language, which can be used to develop software like operating systems, databases, compilers, etc. Learn more about this from the resources below.
First Day Learning C Programming Language
Crash Course on Learning C Fast
C Programming Language Tutorial optional
Learn C Programming optional
Rust
Mark as done
Done
Rust
Rust is a statically-typed multi-paradigm programming language which is designed for performance and safety, especially safe concurrency and memory management. Learn more about this from the resources below.
Learn Rust Programming
Rust Tutorial: Learn Rust from Scratch
Rust Programming Full Course
Rust Programming Language optional
Ruby
Mark as done
Done
Ruby
Ruby is an open-source, object-oriented, general-purpose programming language which was designed with an emphasis on programming productivity and simplicity. Learn more about this from the resources below.
Ruby Programming Language Full Course
Ruby Crash Course optional
Ruby on Rails Crash Course
The Complete Vanilla Ruby Course
Node JS
Mark as done
Done
Node JS
Node JS is not a programming language. It is basically a JavaScript runtime environment and it is just as vital to learn more about it as are the other traditional programming languages. Use the resources below.
The Complete Node JS Course
Node.js Crash Course
Understanding Node.js
Node.js Crash Course optional
Linux
Mark as done
Done
Linux
Linux is an open source, community-developed operating system (OS) for computers, servers, mainframes, mobile devices and embedded devices. Learn more about this from the resources below.
What is Linux?
Introduction to Linux OS
Linux Tutorial for Beginners
Ubuntu
Mark as done
Done
Ubuntu
Ubuntu is a free-to-use and ad-free operating system. It is designed for computers, smartphones, and network servers. Learn more about this from the resources below
What is Ubuntu?
Ubuntu PC Operating System
Ubuntu Complete Beginners Guide
Ubuntu Overview optional
Unix
Mark as done
Done
Unix
Unix is a multiuser, multitasking operating system (OS) designed for flexibility and adaptability. Learn more about this from the resources below.
What is Unix Operating System
Unix Tutorial Introduction
Unix Operating System
Getting Started with Unix
Windows
Mark as done
Done
Windows
Windows, formally referred to as "Microsoft Windows", is a graphical operating system designed by Microsoft. It allows users to view and store files, run the software, etc. Learn more about this from the resources below.
Windows Basics: All About Windows
Windows Operating System: Functions of an OS
Windows Tutorial
Virtualization
Mark as done
Done
Virtualization
Virtualization is the process of running a virtual instance of a computer system in a layer separate from the actual hardware. Learn more about this from the resources below.
What is Virtualization
What is Operating System Virtualization?
Virtualization Explained
Operating System Based Virtualization optional
Basic Networking concepts
Mark as done
Done
Basic Networking concepts
Learn some basic networking concepts in Operating Systems and how they function. Use the resources below.
Networking Basics: What You Need To Know
Learn Networking Concepts
Basics, Uses and Components - Computer Networking
Introducing Basic Networking Concepts optional
I/O Management
Mark as done
Done
I/O Management
I/O Management which stands for "Input/Output Management". It is a major component of operating system design and operations and you can learn more about this from the resources below.
I/O Management - Operating System Notes
I/O Management Course optional
Introduction to I/O Management of Operating System
Sockets
Mark as done
Done
Sockets
Sockets allow communication between two different processes on the same or different machines. In simpler terms, when two systems want to communicate with each other, sockets are the endpoint on either end of the communicating processes. Learn more about this from the resources below.
What is Socket?
Operating System Concepts - Sockets
Sockets in Operating Systems
Understanding Sockets in OS optional
Process Management
Mark as done
Done
Process Management
A process is a program in execution. Operating systems allocate resources that allow the process to exchange information. It synchronizes among processes and safeguards the resources of other processes. Learn more about this from the resources below.
What is Process Management in OS?
Process Management in OS
Operating System Process Management
Introduction to Process Management optional
File Systems
Mark as done
Done
File Systems
A file system is a major component of the operating system (OS). It is how files are named, stored, and retrieved from a storage device. Learn more about this from the resources below.
File Systems in Operating System: Structure, Attributes, Types
What is a File System?
OS File System Tutorial
Memory/Storage
Mark as done
Done
Memory/Storage
Learn about Memory Management and storage in operating systems including their differences and similarities. See the resources below.
Memory Storage and Management
Memory Management in Operating Systems
Basics of OS: Storage Structure optional
Memory Management Tutorial optional
Threads and concurrency
Mark as done
Done
Threads and concurrency
A thread is an active entity which executes a part of a process. Multiple threads execute simultaneously with each other. Concurrency is the execution of multiple instruction sequences at the same time. Learn more about these concepts from the resources below.
Introduction to Threads
Concurrency in Operating Systems
Notes on Thread and Concurrency in OS
Concurrency in Operating Systems
Thread and Concurrency optional
Startup and Service Management
Mark as done
Done
Startup and Service Management
Learn about the concept of Startup Management and Service Management in Operating Systems. See the resources below.
The Startup Operating System
Operating System Services optional
POSIX Basics
Mark as done
Done
POSIX Basics
POSIX stands for Portable Operating System Interface. It's a family of standards, which are specified by IEEE (Institute of Electrical and Electronics Engineers) for maintaining compatibility among operating systems. Learn more about this from the resources below.
What is POSIX?
A Guide to POSIX
Getting Started with POSIX
Bash Scripting
Mark as done
Done
Bash Scripting
Bash Scripting is a powerful part of system administration and development used at an extreme level. It is used by the System Administrators, Network Engineers, Developers, Scientists, and everyone who uses the Linux/Unix operating system. Learn more about this from the resources below.
Bash Scripting Tutorial for Beginners
In Depth Tutorial on Bash Scripting
Bash Scripting Free Full Course
Understanding Bash Scripting
Text Manipulation
Mark as done
Done
Text Manipulation
Text manipulation, simply put, is the process of using computer automation to modify text files on a large scale to suit the needs of the user. Learn more about this from the resources below.
Basic Linux Commands for Text Manipulation
Text Manipulation Tools
Must-Know Commands for Text Manipulation in Linux
Text Manipulation in Linux optional
System Performance
Mark as done
Done
System Performance
System performance is the amount of useful work done by a system. Learn more about this from the resource below.
Unix/Linux System Performance
Process Monitoring
Mark as done
Done
Process Monitoring
Learn about Process Monitoring in Linux using the resources below.
What is Linux Process Monitoring?
Process Monitoring on Linux
Monitoring Linux Users and Processes in Real Time
How to Monitor and Manage Linux Processes
Compiling Apps From Source
Mark as done
Done
Compiling Apps From Source
Learn how to compile apps from their source in Linux. Use the resources below.
Simple Steps to Compile Linux
How to Install Software from Source Code for Linux
How to Compile and Install from Source on Ubuntu
Vim/Nano/Emacs/Powershell
Mark as done
Done
Vim/Nano/Emacs/Powershell
Learn about a couple of text editors in Linux, Windows and POSIX. Use the resources below.
How to use Vim Tutorial
Vim Cheat Sheet
Nano Text Editor
How to use Nano
The Basics of Emacs as a Text Editor
How to use the Emacs Editor in Linux
Powershell for Beginner optional
HTTPS
Mark as done
Done
HTTPS
Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol. It is used for secure communication over a computer network. Learn more about this from the resources below.
What is HTTPS?
Definition of HTTPS
The Definitive Guide of How HTTPS Works
HTTP
Mark as done
Done
HTTP
Hypertext Transfer Protocol (HTTP) is an application layer protocol designed to transfer information between networked devices. Learn more about this from the resources below.
HTTP Explained
What is HTTP?
Understanding HTTP
SSH
Mark as done
Done
SSH
SSH (Secure Shell) is a network protocol that gives users, particularly system administrators, a secure way to access a computer over an unsecured network. Learn more about this from the resources below.
How Does SSH Work
What is SSH and How Does it Work?
What is SSH?
How Secure Shell Works?
FTP
Mark as done
Done
FTP
File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. Learn more about this from the resources below.
What is File Transfer Protocol?
File Transfer Protocol Definition
FTP Explained
FTP Tutorial optional
SSL/TLS and AT-TLS
Mark as done
Done
SSL/TLS and AT-TLS
SSL stands for Secure Sockets Layer. A type of digital security that allows encrypted communication between a website and a web browser.TLS stands for Transport Layer Security and it ensures data privacy the same way that SSL does.AT-TLS stands for Application Transparent Transport Layer Security, which is an encryption solution for TCP/IP (Transmission Control Protocol/Internet Protocol) applications that is transparent to the application server and client.Learn more about these from the resources below.
SSL/TLS 101 For Beginners
SSL/TLS Demystified
Transport Layer Security Explained with Examples
Getting started with AT-TLS
Port forwarding
Mark as done
Done
Port forwarding
Port forwarding, which can also be referred to as port mapping, is a process that allows computers or services in private networks to connect over the internet with other public or private computers or services. Learn more about this from the resources below.
Port Forwarding Documentation
What is Port Forwarding?
What is Port Forwarding Used For? optional
Making Your Home A Cloud - Port Forwarding
Firewall
Mark as done
Done
Firewall
A firewall is a network security device that monitors incoming and outgoing network traffic and permits or blocks data packets based on a set of security rules. Learn more about this from the resources below.
What is a Firewall?
Different Types of Firewalls optional
Firewalls in Network Security: Functions and Features
Nginx
Mark as done
Done
Nginx
Nginx, pronounced "Engine-Ex", is an open-source web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. Learn more about this from the resources below.
NginX Official Documentation
A Basic Look at What Nginx is and How it Works
How to configure a Nginx Server
Use Cases of Nginx
IIS
Mark as done
Done
IIS
Internet Information Services is an extensible, flexible, general-purpose web server from Microsoft that runs on Windows systems. Learn more about this from the resources below.
Microsoft IIS Documentation
How Does IIS Work
Ultimate Guide to IIS Server
IIS Web Server Installation and Configuration
Caddy
Mark as done
Done
Caddy
The Caddy web server is an extensible, cross-platform, open-source web server written in Go. Learn more about this from the resources below.
Caddy Tutorial
How to Host a Website with Caddy in Ubuntu
Apache
Mark as done
Done
Apache
Apache HTTP Server is a free and open-source cross-platform web server software for modern operating systems including UNIX and Windows. Learn more about this from the resources below.
An In Depth Overview of Apache Web Server
Apache Basics Tutorial
Apache Tutorial for Beginners optional
How to install Apache Web Server on Ubuntu
Tomcat
Mark as done
Done
Tomcat
Tomcat also known as Apache Tomcat is a popular open source web server and Servlet container for Java code. Learn more about this from the resources below.
What is Tomcat Web Server?
Apache Tomcat Tutorial optional
Introduction to Apache Tomcat
Apache Tomcat from Beginners to Advanced Tutorial optional
Apache Tomcat Server Tutorial optional
Containers
Mark as done
Done
Containers
Containers are packages of software that contain all of the necessary elements to run in any environment. Learn more about this from the resources below and also see the following sections for some container tools.
What Are Containers?
What is a Container? optional
Containers and Containerization
LXC
Linux Containers
Getting Started with LXC Containers
How to use Linux Containers with LXC
Docker
Docker Explained in Depth
Get Started with Docker
Dockers and Containers Explained
A Deep Dive into Docker optional
Configuration Management
Mark as done
Done
Configuration Management
Configuration management can be defined as the process for maintaining computer systems, servers, and software in a desired, consistent state. Learn more about this from the resources below. Also see the following sections after this for some of the tools for configuration management.
What is Configuration Management and why is it important
Configuration Management Explained
Understanding Configuration Management
Chef
Chef - Configuration Management System Software
What is Chef in DevOps
Chef - Tool Used for Configuration Management
Ansible
Ansible Tutorial for Beginners
Ansible Playbook Explained
Puppet
Puppet Tutorial for Beginners
Learning to use Puppet
Salt
SaltStack Tutorial for Beginners
Using Salt for Configuration Management
Container Orchestration
Mark as done
Done
Container Orchestration
Container orchestration can be defined as the automation process for the deployment, management, scaling, and networking of containers. Learn more about this and the tools for container orchestration from the resources and subsection below.
What is Container Orchestration?
Container Orchestration Explained
Mesos
What is Apache Mesos? optional
Getting Started with Apache Mesos
Kubernetes
Learn Kubernetes Basics
Kubernetes Official Webpage optional
Docker Swarm
Docker Documentation
Swarm Mode Overview
Nomad
Nomad Official Webpage
Nomad: A Simple Way to Orchestrate your Container
Infrastructure Provisioning
Mark as done
Done
Infrastructure Provisioning
Provisioning is the process of setting up IT infrastructure. Learn more about this from the resources below. See some of the tools for Infrastructure Provisioning in the subsection.
What is Infrastructure Positioning?
Understanding Infrastructure Positioning
Why is Infrastructure Positioning Important
CloudFormation
What is AWS CloudFormation?
AWS CloudFormation
Pros and Cons of AWS CloudFormation
Pulumi
Get Started with Pulumi
What is Pulumi?
Terraform
Terraform Tutorials
What is Infrastructure as Code with Terraform
Terraform Course
Service Mesh
Mark as done
Done
Service Mesh
A service mesh can be described as a dedicated infrastructure layer that controls service-to-service communication over a network. Learn more about this and find some of the tools for Service Mesh in the resource and subsection respectively.
What is a Service Mesh?
Demystifying Service Mesh
Understanding Service Mesh and Its Importance
Istio
The Istio Service Mesh
Istio and Service Mesh Simply Explained
How Does Istio Work?
Envoy
Building a Service Mesh with Envoy
Service Mesh Using Envoy on Windows
Linkerd
Introduction to Linkerd for Beginners
Linkerd: A Different Kind of Service Mesh
Consul
Service Mesh - Consul
Understanding Consul Connect Service Mesh
CircleCI
Mark as done
Done
CircleCI
CircleCI is a continuous integration and continuous delivery platform that can be used to implement DevOps practices. Learn more about this from the resources below.
CircleCI Official Website
CircleCI Tutorial for Beginners
AWS Marketplace - Circle CI optional
Travis CI
Mark as done
Done
Travis CI
Travis CI is a hosted continuous integration service used to build and test software projects hosted on GitHub and Bitbucket. Learn more about this from the resources below.
Travis CI Documentation
Travis CI Tutorial
Travis CI by Example
GitHub Actions
Mark as done
Done
GitHub Actions
GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. Learn more about this from the resources below.
GitHub Action - Features
Understanding GitHub Actions
GitHub Actions Tutorial
GitLab CI
Mark as done
Done
GitLab CI
GitLab CI/CD is a tool for software development using the continuous methodologies. Learn more about this from the resources below.
GitLab CI/CD Documentation
Set Up Automated CI Systems with GitLab
GitLab CI/CD Tutorials for Beginners
Bamboo
Mark as done
Done
Bamboo
Bamboo is a continuous integration and deployment tool that ties automated builds, tests and releases together in a single workflow. Learn more about this from the resources below.
Bamboo Tutorial
Step-by-step Bamboo Tutorial
Understanding Bamboo Integration for CI CD Pipeline
Azure DevOps
Mark as done
Done
Azure DevOps
Azure DevOps provides developer services for allowing teams to plan work, collaborate on code development, and build and deploy applications. Learn more about this from the resources below.
Azure DevOps Service
Azure DevOps Tutorial for Beginners
Introduction to Azure DevOps
Jenkin
Mark as done
Done
Jenkin
Jenkin is an open source Continuous Integration tool with tons of plugins that enhance its functionality. Learn more about this from the resources below.
Jenkin Overview
Step-by-step guide for Beginners
Jenkin Full Course
TeamCity
Mark as done
Done
TeamCity
TeamCity is a continuous integration software designed to help users perform automated tests and deploy applications, packages, and containers. Learn more about this from the resources below.
TeamCity CI/CD Guide
CI/CD with Jetbrains TeamCity
Getting Started with TeamCity
TeamCity: continuous integration & DevOps with Java and .NET optional
Prometheus
Mark as done
Done
Prometheus
Prometheus is an open-source, free software application used for event monitoring and alerting. Learn more about this from the resources below.
An Introduction to Monitoring with Prometheus
How Prometheus Monitoring Works
What is Prometheus Monitoring? optional
Grafana
Mark as done
Done
Grafana
Grafana is the open source analytics & monitoring solution for every database. Learn more about this from the resources below.
Grafana Documentation
Grafana Tutorial
A Detailed Guide to Understanding Grafana
Continuous Monitoring with Grafana optional
Nagios
Mark as done
Done
Nagios
Nagios is an open source computer-software application that monitors systems, networks and infrastructure. Learn more about this from the resources below.
Nagios Documentation
What is Nagios Tool? optional
Network Monitoring with Nagios
Nagios Tutorial for IT Monitoring
Monit
Mark as done
Done
Monit
Monit is a free, open-source process supervision tool for managing and monitoring processes, files, directories and filesystems on a Unix system. Learn more about this from the resources below.
Monit Manual
Getting Started with Monit for Server Monitoring
A simple way to monitor and restart service using Monit
Monitoring Linux Systems and Services using Monit optional
Datadog
Mark as done
Done
Datadog
Datadog is a SaaS-based (Software as a service based) monitoring and analytics platform for large-scale applications and infrastructure. Learn more about this from the resources below.
Getting Started with Datadog
Datadog Advanced Tutorial for Beginners
Datadog: Monitoring, Analysis and Implementation
Zabbix
Mark as done
Done
Zabbix
Zabbix is an open-source tool and monitoring solution for network monitoring and application monitoring of millions of metrics. Learn more about this from the resources below.
Zabbix Manual
Zabbix Tutorial for Beginners
How To Install and Configure Zabbix
Jaeger
Mark as done
Done
Jaeger
Jaeger is open source software for tracing transactions between distributed services. Learn more about this from the resources below.
Jaeger Official Webpage
What is Jaeger?
OpenTracing
Mark as done
Done
OpenTracing
OpenTracing is a set of standards and techniques that allow for distributed tracing in a way that's free of vendor lock-in. Learn more about this from the resources below.
OpenTracing Documentation
Performance Monitoring with OpenTracing optional
New Relic
Mark as done
Done
New Relic
New Relic is a web application performance service designed to work in real-time with a live web app. Learn more about this from the resources below.
Getting Started with New Relic APM
Learn How to Use New Relic to Perform Application Monitoring
Application performance monitoring with New Relic
Introducing New Relic's Network Performance Monitoring optional
AppDynamics
Mark as done
Done
AppDynamics
AppDynamics is a software tool that enables the observation and visualization of a full technology stack, from database and server to cloud-native and hybrid environments. Learn more about this from the resources below.
Introduction to AppDynamic
How Does AppDynamic Work?
Instana
Mark as done
Done
Instana
Instana is a software solution intended for use in monitoring and managing the performance of softwares. Learn more about this from the resources below.
Instana Official Website
IBM Observability with Instana
How to Integrate Instana APM optional
Elastic Stack (AWS)
Mark as done
Done
Elastic Stack (AWS)
Elastic Stack is a group of products that can reliably and securely take data from any source, in any format, then search, analyze, and visualize it in real-time. Learn more about this from the resources below.
What is ELK Stack?
Ultimate Guide to using ELK for Log Analysis
Centralized Log Management with ELK
Modern Log Management optional
Splunk
Mark as done
Done
Splunk
Splunk is a software used for searching, monitoring, and examining machine-generated Big Data through a web-style interface. Learn more about this from the resources below.
Splunk Tutorial for Beginners
Log Analysis with Splunk
Splunk Observability optional
Papertrail
Mark as done
Done
Papertrail
Papertrail is a cloud-hosted log management tool designed for faster troubleshooting of infrastructure and application issues. Learn more about this from the resources below.
Papertrail official website
How to manage log files in the cloud with Papertrail
SolarWinds Papertrail Overview optional
Graylog
Mark as done
Done
Graylog
Graylog is a centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data. Learn more about this from the resources below.
Graylog Official Webpage
Getting Started with Graylog
A Graylog Tutorial for Centrally Managed IT Logs
Graylog Documentation optional
Microsoft Azure
Mark as done
Done
Microsoft Azure
Azure is a cloud computing platform and an online portal that allows the access and management of cloud services and resources provided by Microsoft. Learn more about this from the resources below.
Azure Tutorial
Get Started with Azure
Microsoft Azure Tutorial optional
AWS
Mark as done
Done
AWS
Amazon Web Service is an online platform that provides scalable and cost-effective cloud computing solutions. Learn more about this from the resources below.
AWS Tutorial for Beginners
AWS Cloud Practitioner Tutorial
Learn Amazon Web Service
Google Cloud
Mark as done
Done
Google Cloud
Google Cloud is a provider of computing resources for developing, deploying, and operating applications on the Web. Learn more about this from the resources below.
Get Started with Google Cloud
Google Cloud Platform
From Zero to Hero with GCP
Introduction to GCP
Google Cloud Platform Concepts optional
Heroku
Mark as done
Done
Heroku
Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud. Learn more about this from the resources below.
Getting Started on Heroku
Heroku Tutorial
How to deploy an application to Heroku
DigitalOcean
Mark as done
Done
DigitalOcean
DigitalOcean is a cloud computing vendor that offers an Infrastructure as a Service (IaaS) platform for software developers. Learn more about this from the resources below.
Full DigitalOcean Crash Course
DigitalOcean Tutorial, Questions and Resources
Vultr
Mark as done
Done
Vultr
Vultr is a Cloud Hosting provider that provides VPS hosting, bare metal servers and other Web/ Application hosting products. Learn more about this from the resources below.
Vultr Documentation
Vultr - How to Deploy a Cloud Hosted Server
Linode
Mark as done
Done
Linode
Linode is a cloud hosting provider that focuses on providing Linux powered virtual machines to support a wide range of applications. Learn more about this from the resources below.
Linode Documentation optional
Linode Getting Started Guide
Linode Guides and Tutorials
Event Sourcing
Mark as done
Done
Event Sourcing
Event sourcing is an architectural pattern in software/web development that records all changes made to an application's state, in the sequence in which the changes were originally applied. Learn more about this from the resources below.
Event Sourcing Documentation
Event Sourcing Explained with Examples
Beginners Guide to Event Sourcing
Pattern: Event Sourcing optional
API Gateway, Gateway Aggregation
Mark as done
Done
API Gateway, Gateway Aggregation
An API gateway is an API management tool that sits between a client and a collection of backend services. Gateway Aggregation pattern uses a gateway to aggregate many individual requests into a single request. Learn more about these from the resources below.
What is an API Gateway?
Why are API Gateway Important?
API Gateway Pattern
Gateway Aggregation Documentation
Understanding Gateway Aggregation Pattern
Pipes and Filters
Mark as done
Done
Pipes and Filters
The Pipe and Filter is an architectural design pattern that allows for stream/asynchronous processing. Learn more about this from the resources below.
Pipes and Filter Patterns Documentation
Pipes and Filter Design Patterns
Our Pattern Language: Pipes and Filters
Pipes and Filters Architectural Style optional
Gateway Routing
Mark as done
Done
Gateway Routing
Gateways serve as the entry and exit point of a network; all data routed inward or outward must first pass through and communicate with the gateway in order to use routing paths. Learn more about this from the resources below.
Gateway Routing Pattern Documentation
Understanding Gateway Routing
External Config Store
Mark as done
Done
External Config Store
External configuration store pattern is an architecture pattern or cloud design pattern that decouple the configuration details from an application. Learn more about this from the resources below.
CQRS stands for Command and Query Responsibility Segregation, a pattern that basically divides a system's actions into commands and queries. Learn more about this from the resources below.
CQRS Pattern Documentation
A Beginner's Guide to CQRS Pattern
AWS Prescriptive Guidance - CQRS
Event Driven CQRS Pattern
Compute Resource Consolidation
Mark as done
Done
Compute Resource Consolidation
Compute Resource Consolidation Pattern is used to reduce costs by consolidating tasks when computational units are charged uniformly. Learn more about this from the resources below.
Compute Resource Consolidation Documentation
Understanding Compute Resource Consolidation
Anti-corruption Layer
Mark as done
Done
Anti-corruption Layer
An Anti-Corruption Layer (ACL) can be defined as a set of patterns placed between the domain model and other bounded contexts or third party dependencies. Learn more about this from the resources below.
Anti Corruption Layer Documentation
Cloud Design Pattern - Understanding Anti Corruption Layer
What is Anti Corruption Layer ?
Ambassador Pattern
Mark as done
Done
Ambassador Pattern
An ambassador pattern is the interactions between the application container and external services, which is managed by an ambassador container. Learn more about this from the resources below.
Ambassador Pattern Documentation
Ambassador Pattern Explained
Sidecar
Mark as done
Done
Sidecar
Sidecars are supporting processes or services or patterns that are deployed with the primary application. Learn more about this from the resources below.
Sidecar Pattern Documentation
What is Sidecar Pattern and Why is it Heavily Used?
Understanding Sidecar Pattern optional
Reverse Proxy
Mark as done
Done
Reverse Proxy
A reverse proxy is a server that sits in front of web servers and forwards client (e.g. web browser) requests to those web servers. Learn more about this from these resources below.
What is Reverse Proxy?
What is a Reverse Proxy Server?
Caching Server
Mark as done
Done
Caching Server
A cache server is a dedicated network server or service acting as a server that saves Web pages or other Internet content locally. Learn more about this from the resources below.
What is a Cache Server ?
Network Encyclopedia - Cache Server
Understanding what a cache server does optional
Load Balancing
Mark as done
Done
Load Balancing
Load balancing refers to the process of distributing a set of tasks over a set of resources, with the aim of making their overall processing more efficient. Learn more about this from the resources below.
What is a Load Balancer?
Load Balancing 101
Types of Load Balancers
Forward Proxy
Mark as done
Done
Forward Proxy
A forward proxy provides proxy services to a client or a group of clients. It can be considered as an intermediary between a computer and the internet. Learn more about this from the resources below.
What is Forward Proxy?
Forward Proxy vs Reverse Proxy
Forward Proxy Explained
Test Your Knowledge
Mark as done
Done
Test Your Knowledge
There is no better way to consolidate your knowledge besides testing yourself. So, if you have made it this far, well done! Here's a chance to see how much you have learned. Take a DevOps test below.