Awesome DevOps

Table of Contents
Terminology
- DevOps - A set of practices that combine IT and Software Engineering practices that assist in reducing the time required to reliably engineer and deploy code to production environments.
- Version Control - The process of tracking and managing the incremental changes of source code and configuration files, usually handled with various tools and utilities.
- Continuous Integration (CI) - The practice of merging the distributed copies of a development team's codebase into a centralized repository, usually several times a day.
- Continuous Delivery (CD) - The cycle of creating, building, testing and manually releasing software at a high frequency and with consistency.
- Continuous Deployment (also CD) - Almost identical to the Continuous Delivery process but with automated releases instead of manual releases.
- Infrastructure - A collection of logically architected systems and network resources that act as the communication backbone between users and services.
- Infrastructure as Code - The process of designing and engineering infrastructure using code within configuration files and running deployments using software tools.
- Configuration as Code - Defining the configuration of Computer and Network infrastructure using code and configuration files with a focus on speed and consistent reproducibility.
- Namespace - A label assigned to a set of resources and processes. Designed so that processes running in a specific namespace can only access other processes, files and resources that reside within that namespace. One process can be assigned several namespaces.
- Container - An entire operating system running within a virtual namespace on a host system while sharing that host's resources with varying degrees of restrictions. Containers are typically used to run a single target program with minimal overhead required from the host.
- Pod - A collection of inter-dependent containers, each running a single target program, that together run as a single application.
- Container Image - A compressed, frozen template of a pre-configured operating system. Used as the foundation to create containers.
- Container Orchestration - The process of creating, managing, and monitoring containers through software automation. Container Orchestration was founded by Google's Borg project (now Kubernetes).
- Identity Access Management - A system that provides sets of policies, profiles and roles that ensures entities with resource access are assigned the appropriate level of permissions within an environment.
Operating Systems
- Alpine Linux
- Fedora CoreOS
- Red Hat CoreOS
- Flatcar Linux
- NixOS
Programming Languages
- Python
- Go
- HCL
- Ruby
- YAML
- Bash
- Powershell
Source Code Management
- Subversion
- Git
- Gitflow
- Gitea
DevOps Platforms
- Github
- Gitlab
- Bitbucket
- Gitkraken
- Azure DevOps
- JFrog
CI/CD
- Jenkins
- Buildbot
- Drone
- Travis
- Circle
- Teamcity
Infrastructure as Code
- Terraform
- Vagrant
Configuration as Code
- Ansible
- Saltstack
- Puppet
- Chef
- Packer
Container Runtimes
- OCI Specifications
- RunC
- ContainerD
- Docker
- Podman/Buildah
- LXC/LXD
- Cri-O
- Crun
- Kata Containers
- GVisor
- systemd-nspawn
Container Orchestration
- Kubernetes (K8s)
- OKD
- Openshift
- K3s
- Minikube
- Kind
- MicroK8s
- Managed Kubernetes
Public Cloud Platforms
- Amazon Web Services
- Microsoft Azure
- Google Cloud Platform
- IBM Cloud
- DigitalOcean
Testing Frameworks
- Terratest
Security
- Lynis
- Apparmor
- SELinux
- Vault
Read other posts