Tools
52 tools for cloud and automation, from Terraform, Ansible and Kubernetes to Docker, Prometheus, Grafana and PostgreSQL: what each one does and the tutorials to install and use it.
Looking for definitions of ideas and AWS services? See the glossary.
Infrastructure as Code (8) See all
Infrastructure as Code
Packer
Packer is a HashiCorp tool that builds identical machine images, such as AWS AMIs and Docker images, from a single configuration file.
Infrastructure as Code
HCP Terraform
HCP Terraform (formerly Terraform Cloud) is the HashiCorp managed service that stores state, runs plans remotely and applies policies for teams.
Infrastructure as Code
Pulumi
Pulumi is an infrastructure as code tool where you describe cloud resources in general-purpose languages such as TypeScript, Python and Go.
Infrastructure as Code
OpenTofu
OpenTofu is the open-source, Linux Foundation fork of Terraform for Infrastructure as Code, compatible with Terraform providers and HCL.
Infrastructure as Code
TFLint
TFLint is a linter for Terraform and OpenTofu that finds errors, deprecated syntax and invalid provider values before you run plan or apply.
Infrastructure as Code
Infracost
Infracost estimates the monthly cost of Terraform and OpenTofu changes and shows the difference in pull requests before you deploy.
Infrastructure as Code
Terragrunt
Terragrunt is a thin wrapper for Terraform and OpenTofu that keeps configuration DRY across many environments, accounts and regions.
Infrastructure as Code
Terraform
Terraform is an infrastructure as code tool by HashiCorp that creates and changes cloud resources from declarative configuration files.
Configuration and Automation (3) See all
Configuration and Automation
Vagrant
Vagrant is a HashiCorp tool that creates reproducible local virtual machines from a Vagrantfile, usually on VirtualBox.
Configuration and Automation
Ansible
Ansible is an agentless automation tool that configures servers and deploys applications over SSH using YAML playbooks.
Configuration and Automation
Cloud-init
Cloud-init is a multi-distribution package that handles the early initialization of cloud instances.
Containers and Orchestration (15) See all
Containers and Orchestration
Dockerfile
A Dockerfile is a text file with the instructions to build a container image: base image, files, commands, user and the command to run.
Containers and Orchestration
Docker Compose
Docker Compose defines and runs multi-container applications from a single YAML file: services, networks and volumes started with one command.
Containers and Orchestration
Rancher Desktop
Rancher Desktop is a free open source app with a container engine (containerd or dockerd) and a local K3s Kubernetes cluster for Linux, macOS and Windows.
Containers and Orchestration
Docker
Docker is a platform to build, ship and run applications in containers: lightweight, isolated processes created from portable images.
Containers and Orchestration
Podman
Podman is a daemonless, rootless container engine that runs OCI containers with a command line compatible with Docker.
Containers and Orchestration
Helm
Helm is the package manager for Kubernetes: it installs and upgrades applications from versioned charts with configurable values.
Containers and Orchestration
BuildKit
BuildKit is the modern build engine of Docker: parallel, cache-aware and able to build multi-platform images with docker buildx.
Containers and Orchestration
K3s
K3s is a lightweight, certified Kubernetes distribution packaged as a single binary, ideal for development, edge and small clusters.
Containers and Orchestration
Kubernetes
Kubernetes is an open source platform that deploys, scales and operates containerized applications across a cluster of machines.
- Containers and Orchestration
Kubernetes Dashboard
The Kubernetes Dashboard is the official web interface to view and manage the workloads, services and configuration of a cluster.
- Containers and Orchestration
kubectl
kubectl is the command line client of Kubernetes: it sends requests to the API server to create, inspect, change and debug cluster resources.
Containers and Orchestration
nerdctl
nerdctl is a Docker-compatible command line client for containerd, with support for Compose, image building and lazy pulling.
Containers and Orchestration
containerd
containerd is the industry standard container runtime that pulls images and manages the lifecycle of containers for Docker and Kubernetes.
Containers and Orchestration
Kustomize
Kustomize customizes Kubernetes YAML without templates: a base of manifests plus overlays that patch them for each environment.
Containers and Orchestration
kind
kind (Kubernetes in Docker) creates local Kubernetes clusters using Docker containers as nodes, ideal for development and CI.
CI/CD and GitOps (5) See all
CI/CD and GitOps
GitHub
GitHub is the most popular platform to host Git repositories, review code and automate delivery with pull requests and CI/CD.
CI/CD and GitOps
Argo CD
Argo CD is a declarative GitOps continuous delivery tool for Kubernetes that keeps a cluster in sync with the manifests stored in Git.
CI/CD and GitOps
LocalStack
LocalStack is a local emulator of AWS services that runs in a container, so you can test Terraform and applications without an AWS account.
CI/CD and GitOps
Git
Git is the distributed version control system that stores the history of your code and infrastructure files and lets teams work on them together.
CI/CD and GitOps
GitHub Actions
GitHub Actions is the CI/CD service of GitHub that runs workflows defined in YAML files when events happen in a repository.
Observability (2) See all
Observability
Prometheus
Prometheus is an open source monitoring system that scrapes metrics from your services, stores them as time series and fires alerts.
Observability
Grafana
Grafana is an open source platform to build dashboards and alerts from metrics, logs and traces stored in many data sources.
Security (5) See all
Security
HashiCorp Vault
HashiCorp Vault is a secrets manager that stores, generates and encrypts credentials, tokens and keys with fine-grained access control and audit logs.
- Security
Checkov
Checkov is an open source static analysis tool that scans Terraform, Kubernetes and Dockerfile code for security and compliance misconfigurations.
Security
Trivy
Trivy is an open source security scanner that finds vulnerabilities, misconfigurations and secrets in container images, code and infrastructure files.
Security
cert-manager
cert-manager is a Kubernetes add-on that issues and renews TLS certificates automatically, for example from Let's Encrypt.
Security
GnuPG
GnuPG (GPG) is the free implementation of OpenPGP used to sign and encrypt files, emails and software packages with key pairs.
Data and Storage (6) See all
- Data and Storage
NFS
NFS (Network File System) shares a directory over the network so several machines or Kubernetes pods can mount the same files.
Data and Storage
PostgreSQL
PostgreSQL is a powerful open source relational database known for its standards compliance, extensions and reliability.
Data and Storage
MySQL
MySQL is a widely used open source relational database, available as a managed engine in Amazon RDS and Aurora.
- Data and Storage
rsync
rsync is a command line tool that copies and synchronizes files locally or over SSH, sending only the differences between source and destination.
Data and Storage
Redis
Redis is an open source in-memory data store used as a cache, message broker and fast key-value database.
Data and Storage
MariaDB
MariaDB is an open source relational database forked from MySQL, offered as a managed engine in Amazon RDS.
Networking and Delivery (3) See all
Networking and Delivery
NGINX
NGINX is a fast web server, reverse proxy and load balancer used to serve sites and route traffic to applications.
Networking and Delivery
Istio
Istio is an open source service mesh for Kubernetes that adds traffic routing, security and observability between services without changing the code.
Networking and Delivery
Traefik
Traefik is a cloud native reverse proxy and ingress controller that discovers services automatically and routes HTTP traffic to them.
Operating Systems and Virtualization (5) See all
- Operating Systems and Virtualization
jq
jq is a command line JSON processor that filters, transforms and formats the output of APIs and CLIs such as the AWS CLI and kubectl.
Operating Systems and Virtualization
VirtualBox
VirtualBox is a free, open source hypervisor from Oracle that runs virtual machines on a desktop or laptop.
- Operating Systems and Virtualization
Cron
Cron is the Unix scheduler that runs commands at fixed times, defined with five-field cron expressions in a crontab file, also used by Kubernetes and AWS.
Operating Systems and Virtualization
Ubuntu
Ubuntu is a popular Debian based Linux distribution used on laptops, servers and as the base of many cloud and container images.
Operating Systems and Virtualization
SSH
SSH, which stands for Secure Shell, is a cryptographic network protocol that allows for secure communication and data transfer between two computers over an…