# Ops Tools My attempt to categorize many tools I've heard of within the [[Site Reliability Engineering]] structure. ^22a0da ## App definition and development ### [[Continuous Improvement|Continuous Integration and Delivery]] Tools that automate everything from committing code to deploying it into an environment, including testing. Some of them do CI, some of them do CD, and some of them do both. #### Open-source - [[Jenkins]] - [site](https://www.jenkins.io/) - [[GitLab CI]] - [site](https://docs.gitlab.com/ee/ci/) - [[ArgoCD]] - [site](https://argoproj.github.io/argo-cd/) ([[GitOps]]) - [[Spinnaker]] - [site](https://spinnaker.io/) (CD only) ### Proprietary - [[GitHub Actions]] - [site](https://github.com/features/actions) - [[Azure Pipelines]] - [site](https://azure.microsoft.com/en-us/services/devops/pipelines/) - [[CircleCI]] - [site](https://circleci.com/) - [[Travis CI]] - [site](https://travis-ci.org/) - [[Bitbucket Pipelines]] - [site](https://bitbucket.org/product/features/pipelines) ## Orchestration and management ### Scheduling and orchestration - [[Kubernetes]] - [site](https://kubernetes.io/) - [[Kubernetes distributions]] - [[Hashicorp Nomad]] - [site](https://www.nomadproject.io/) - [[Apache Mesos]] - [site](https://mesos.apache.org/) (deprecated) - [[Apache Marathon]] - [site](https://mesosphere.github.io/marathon/) (layer on top of Mesos) ## Runtime ### Container Runtime Tools that package and modularize code for easier and more consistent deployment. - [[Docker]] - [site](https://www.docker.com/) - [[Podman]] - [site](https://podman.io/) - [[CoreOS rkt]] - [site](https://www.openshift.com/learn/topics/rkt) (deprecated) - [[OpenVZ]] - [site](https://openvz.org/) - [[LXC Linux Containers]] - [site](https://linuxcontainers.org/lxc/) - [[Firecracker]] - [site](https://firecracker-microvm.github.io/) ### [[Container Orchestration Engines]] Tools for managing and deploying multiple containers. - [[Docker Swarm]] - [site](https://docs.docker.com/engine/swarm/) - [[Kontena]] - [site](https://kontena.eu/) - [[Managed Kubernetes Services]] - [[Serverless Kubernetes Services]] ### [[Server Virtualization]] Tools for running applications on machines that share hardware and software resources. - [[VMWare vSphere]] - [site](https://www.vmware.com/products/vsphere.html) - [[Citrix Hypervisor]] _(formerly XenServer)_ - [site](https://www.citrix.com/products/citrix-hypervisor/) ## Provisioning ### Automation and configuration Tools that build out an entire environment based on a set of configuration instructions. These tools define [[Infrastructure as code]] and use that code to deploy and maintain applications and components. - Config-focused - [[CFEngine]] - [site](https://cfengine.com/) - [[Ansible]] - [site](https://www.ansible.com/) - [[Chef]] - [site](https://www.chef.io/) - [[Puppet]] - [site](https://puppet.com/) - [[SaltStack]] - [site](https://www.vmware.com/products/vrealize-automation/saltstack-config.html) - Infra-focused - [[Hashicorp Terraform]] - [site](https://www.terraform.io/) - [[AWS CloudFormation]] - [site](https://aws.amazon.com/cloudformation/) - [[Pulumi]] - [site](https://www.pulumi.com/) - [[Crossplane]] - [site](https://crossplane.io) - [[Hashicorp Vagrant]] - [site](https://www.vagrantup.com/) - [[Juju]] - [site](https://juju.is/) ## Observability and analysis ### [[Observability Tools]] (Open observability) ![[Observability Tools]] ### [[Observability Platforms]] ![[Observability Platforms#Observability Platforms]] ## Testing - [[k6 (tool)|k6]] ## References - [Daniel González Lopes](https://www.gonzalezlopes.com/) helped me situate all these tools