We hear a lot about using service mesh with Kubernetes and public clouds, but what about outside the clouds? In this talk, you’ll learn creative ways to apply a service mesh across different platforms and environments to automate canary deployments, facilitate cloud migrations, and more. By combining HashiCorp Consul’s service mesh and Terraform’s infrastructure as code, you can build a more seamless operational experience across multiple environments.
12. More Service Mesh, More Problems?
Some added complexity
▪ Yet another agent
▪ More to debug
▪ More to operate
▪ Point of failure
13. No Service Mesh, More Problems
Operational responsibility for multiple clouds
▪ Minimal automation
▪ Multiple sources of truth
▪ Multiple sources of control
▪ Multiple metrics approaches
15. DATACENTER CLOUD
LOAD
BALANCER
MY-APPLICATION-0 MY-APPLICATION-1 MY-APPLICATION-2
MY-APPLICATION.CLOUD
LOAD BALANCER
MY-APPLICATION.DATACENTER
MY-APPLICATION-0 MY-APPLICATION-1 MY-APPLICATION-2
MY-APPLICATION.MY-COMPANY.NET
NETWORK AUTOMATION TO SYNCHRONIZE
SERVICE MESH
FOR CLOUD
DIRECT
CONNECT
16. Benefits
Network Automation + Service Mesh
▪ In service mesh:
– Control retries and error handling to non-service mesh
– Progressive delivery techniques (canary, A/B testing, feature flagging)
▪ In non-service mesh:
– Automated control
– No change to existing applications
17. DATACENTER
MY-APPLICATION-0 MY-APPLICATION-1 MY-APPLICATION-2
MY-APPLICATION.CLOUD
APPLICATION LOAD BALANCER
MY-APPLICATION.DATACENTER
MY-APPLICATION-0 MY-APPLICATION-1 MY-APPLICATION-2
MY-APPLICATION.MY-COMPANY.NET
DIRECT
CONNECT
CLOUD
(CONSUL SERVICE MESH)
💡 Private network connectivity
❗Separate network automation
❗Multiple metrics
CONSUL INGRESS
GATEWAY
CONSUL TERRAFORM SYNC
18. Consul Terraform
Sync (CTS)
DAEMON GETS EVENT
SERVICE CHANGED
TERRAFORM CONFIGURATION
REFERENCES MODULE
USE TEMPLATE TO
CREATE TERRAFORM
CONFIGURATION
RUNS TERRAFORM
TERRAFORM
MODULE
DOWNLOAD MODULE
AND APPLY CHANGES
21. Benefits
Federated Service Mesh
▪ One place to control retries and error handling
▪ Aggregated & standardized metrics
▪ Progressive delivery across all environments & frameworks
– Fully automated canary deployment
– A/B testing
22. DATACENTER
(CONSUL SERVICE MESH, SECONDARY)
LOAD
BALANCER
MY-APPLICATION-0 MY-APPLICATION-1 MY-APPLICATION-2
MY-APPLICATION.CLOUD
LOAD BALANCER
MY-APPLICATION.DATACENTER
MY-APPLICATION-0 MY-APPLICATION-1 MY-APPLICATION-2
MY-APPLICATION.MY-COMPANY.NET
CONSUL MESH
GATEWAY
CONSUL MESH
GATEWAY
CLOUD
(CONSUL SERVICE MESH, PRIMARY)
💡 Private/public network connectivity
❗Must retrofit service mesh
23. CONSUL SERVER (DATACENTER)
PROXY
PROXY
UI
MY-APPLICATION PROXY MY-APPLICATION
CONSUL SERVER (CLOUD)
PROMETHEUS
USE METRICS FOR
CANARY ANALYSIS
CONFIGURE CONSUL
SERVICE SPLITTER - 90%
CONFIGURE CONSUL
SERVICE SPLITTER - 10%
COLLECT
METRICS
COLLECT
METRICS