HashiConf Europe 2019
Having spent three days in Amsterdam attending HashiConf EU 2019 we were able to meet interesting people and learn loads of new features in the HashiCorp product suite. Some extracts and interesting facts to look into have been collected here for anyone who has not been able to participate in this event.
https://www.hashicorp.com/blog/hashicorp-consul-1-6 Consul 1.6 beta has been release with support of mesh gateways.
Mesh Gateways provide a way to connect multiple consul clusters running in different clouds, data centers or locations. They enable you to use service discovery and other consul features across multiple deployments and route traffic between clusters. Still a beta feature but certainly worth taking a look into if you ever wondered how to do federation without going too deep the rabbit hole.
Multi-Cloud Service Networking for Humans
Paul Banks, Engineering Lead for Consul at Hashicorp introduced the concept of the service mesh pattern in Consul Connect. In a video demonstration of Consul across Google Cloud and Microsoft Azure data centers he presented how Consul helps teams to test features with dynamic traffic routing (for instance during canary testing) and use mesh gateways to connect the different services across regions. With a Grafana Dashboard located in the Google Cloud he demonstrated how the roll-out of a new software version located on a remote Web service in Azure can be tested and implemented. The demo show-cased the fast feedback loop of Consul Connect (via API calls) enabling progressive delivery.
There was a great talk about terraform 0.12 and what will come in the future. Kristin Laemmert (Terraform Core Developer) showed some features and insights on the terraform version that was released last spring. The code of her talk is on github. The most notable changes in terraform 0.12 were machine-readable outputs, better module handling and of course the move to hcl2. All these are features we could see being adopted and loved by people using terraform.
Sarah Christoff introduced the core concepts of the Serf gossip protocol underlying Consul. In a very graphical and understandable way she explained how memberlist, Hashicorps implementation of the “Scalable Weakly-consistent Infection-style Process Group Membership Protocol” (SWIM) in Serf was developed and evolved over time. In comparison to heartbeat based protocols, SWIM depends on random peer-to-peer node probes featuring a constant messaging load on the nodes. memberlist implements Lifeguard, a set of extensions (not discussed here in detail) to detect failed nodes (e.g. Consul nodes) faster and more precisely (less false positives). Finally, the talk was concluded with interesting insights about the Vivaldi algorithm to optimize round trip times between the nodes (failover scenarios) and why the Raft consensus algorithm is still necessary to guarantee consistency for Consul.