Overview
HashiCorp is an open-source software company that provides tools for provisioning, securing and running infrastructure for distributed applications. Their DevOps suite includes:
- Vault – for securing distributed applications
- Terraform – for provisioning infrastructure and application resources across public cloud, private cloud, and external services
- Nomad – a distributed, highly available, datacenter-aware cluster manager and scheduler for deploying applications on any infrastructure, at any scale.
- Consul – for discovering and configuring services in your infrastructure.
This course focuses on Consul. We go over the Consul’s architecture and features and carry out a live implementation and deployment of a Consul server.
Format of the Course
- Part lecture, part discussion, heavy hands-on practice and implementation, occasional quizzing to measure progress
Requirements
- System administration experience
- General understanding of clusters and distributed computing
- Familiarity with datacenter architecture
Audience
- Developers
- Operators
Course Outline
Introduction
- Why Consul?
- Consul vs ZooKeeper, Chef, Puppet, SkyDNS, SmartStack, Serf, Custom Solutions
Installation and Setup
Consul Architectural Overview
- Server and agents
- Consensus protocol, Gossip protocol, Network coordinates, Sessions, Anti-entropy, Security model, Jepsen testing
Using the Consul CLI
Using the Consul Web UI
Running the Agents
Creating a Cluster
Service Discovery
- Setting up Consul clients to discover services and databases
Health Checking
- Setting up Consul clients to provide health checks (webserver availability, memory utilization, etc.)
KV Store
- Setting up Consul’s hierarchical key/value store
Federation
- Configuring Consul to support multiple datacenters
Consul’s Access Control List (ACL)
- Controlling access to Consul resources
Autopilot
- Setting up automatic management of Consul servers
Adding and Removing Consul Servers
Bootstrapping a New Datacenter
DNS Forwarding
Outage Recovery
Performance Tuning
Upgrading Consul
Summary and Conclusion