Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Stretching the Service Mesh Beyond the Clouds

Stretching the Service Mesh Beyond the Clouds

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.

Rosemary Wang

June 16, 2021
Tweet

More Decks by Rosemary Wang

Other Decks in Technology

Transcript

  1. 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 SOME INFRASTRUCTURE LAYER HERE SOME AUTOMATION HERE
  2. More Service Mesh, More Problems? Some added complexity ▪ Yet

    another agent ▪ More to debug ▪ More to operate ▪ Point of failure
  3. No Service Mesh, More Problems Operational responsibility for multiple clouds

    ▪ Minimal automation ▪ Multiple sources of truth ▪ Multiple sources of control ▪ Multiple metrics approaches
  4. 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
  5. 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
  6. 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
  7. 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
  8. Network Automation Demo github.com/joatmon08/cloud-migration Note: • Deployed in AWS •

    Datacenter uses virtual machines in us-east-2 • Cloud uses Kubernetes in us-west-2 • Network automation configures an application load balancer
  9. DATACENTER (SERVICE MESH) 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 FEDERATION BETWEEN SERVICE MESHES CLOUD (SERVICE MESH)
  10. 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
  11. 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
  12. 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
  13. Federation Demo github.com/joatmon08/cloud-migration/tree/federated Note: • Deployed in AWS • Datacenter

    uses virtual machines in us-east-2 • Cloud uses Kubernetes in us-west-2 • Federation sets cloud as primary
  14. Summary Choose your topology Network Infrastructure Automation Use what already

    exists. Adds layer of automation. Service Mesh Federation Abstract environment, application framework, and runtime. Adds layer of control.