● [email protected] ● All things Automation ● Chef, Containers (OpenVZ/LXC/docker/rkt/ns pawn..) ● FOSS Enthusiast ● @RanjibDey About me Hashicorp User Group-SF, November 16th 2016
● Introduced early October, 2015 ● Agent is present in entire infrastructure ● Different features used in different parts of the system ● Almost 12-15% of the current infra is using consul in one or other way (mostly around containerized workload) ● Incremental deployment across mission critical services Hashicorp User Group-SF, November 16th 2016
producer service host consul-agent consul-master Hashicorp User Group-SF, November 16th 2016 health check consumer service host consul-agent service process DNS lookup
● Less frequent or one-off communication ● Example: Obtaining configuration endpoint or vault end point on application startup ● Bad for load balancing Hashicorp User Group-SF, November 16th 2016
producer service host consul-agent consul-master Hashicorp User Group-SF, November 16th 2016 health check consumer service host consul-agent service process HTTP API Helper library
producer service host consul-agent consul-master Hashicorp User Group-SF, November 16th 2016 consumer service host consul-agent service process Helper library
● Communication in between backends ● Can be of any protocol (binary or plain text alike) ● Actual performance and user experience will vary among the client libraries ● Most dynamic language based libraries are not very good in this. C, Java, go has some decent options, but limited to certain tech stacks Hashicorp User Group-SF, November 16th 2016
producer service host consul-agent consul-master Hashicorp User Group-SF, November 16th 2016 health check consumer service host consul-template haproxy
producer service host consul-agent consul-master Hashicorp User Group-SF, November 16th 2016 consumer service host consul-template haproxy producer service host consul-agent producer service host consul-agent
● Communication from app servers to DB ● Analytics stack (Haddop, Tez) ● Almost all low latency, binary protocol based stuff ● TCP based communications Hashicorp User Group-SF, November 16th 2016
● Front end load balancing ● Clients, customers, partners, channels to your software end points ● HTTP, websocket, spdy ● Fancier endpoint or host header based routing Hashicorp User Group-SF, November 16th 2016