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

Supercharge Cloud Migration with Progressive Delivery

Supercharge Cloud Migration with Progressive Delivery

You’re ready to send some canary traffic to a newly refactored application in a new cloud provider while the former application resides in your current datacenter or cloud. However, you encounter a problem: you haven’t aggregated application metrics from both environments, and you’ll have to manually review a dashboard to determine whether or not to increase the percentage of canary traffic. Is there an automated way to do this? In this talk, Rosemary combines canary analysis with the powers of service mesh observability and traffic management to supercharge migrations in multiple environments with progressive delivery. She’ll demonstrate that setting up tools such as HashiCorp Consul, Prometheus, and Spinnaker can help scale the migration and support of refactored applications across multiple clouds or platforms while reducing their production risk.

Be8b596c46f4c9a1aec6a7586af33134?s=128

Rosemary Wang

June 23, 2021
Tweet

More Decks by Rosemary Wang

Other Decks in Technology

Transcript

  1. @JOATMON08 Supercharge Cloud Migration with Progressive Delivery cdCon | June

    2021 1
  2. Cloud Migration @JOATMON08 2

  3. Step 1 Refactor one application to cloud. @JOATMON08 3

  4. Step 2 Deploy and test new application in cloud. @JOATMON08

    4
  5. Step 3 Cut over traffic from old application to new

    one. @JOATMON08 5
  6. @JOATMON08 6 ME UPDATE PERCENT OF TRAFFIC APPLICATION ON DATACENTER

    75% APPLICATION ON CLOUD 25% 1 WEEK LATER… DASHBOARD WITH APPLICATION METRICS
  7. @JOATMON08 Rosemary Wang (she/her) Developer Advocate at HashiCorp joatmon08.github.io 7

  8. Wishlist ▪ Automate increase of traffic and analysis ▪ Use

    one source of truth to control ▪ Aggregate and standardize metrics ▪ Tag and identify applications on which cloud @JOATMON08 8
  9. @JOATMON08 9 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 DELIVERY AUTOMATION HERE
  10. Supercharge! 10

  11. Service Mesh An infrastructure layer to manage service-to-service communication. @JOATMON08

    11
  12. @JOATMON08 12 DATACENTER CONSUL SERVER (DATACENTER) PROXY PROXY UI MY-APPLICATION

    CLOUD PROXY MY-APPLICATION CONSUL SERVER (CLOUD)
  13. Progressive Delivery Offers control on how and when changes are

    delivered. @JOATMON08 13
  14. Benefits Combining service mesh and progressive delivery 💡 Agnostic to

    datacenter, cloud, VMs, or containers ✅ Standardized metrics ✅ One layer of control ✅ Canary deployments, feature flagging, A/B testing ❗Must retrofit service mesh @JOATMON08 14
  15. @JOATMON08 15 DATACENTER CONSUL SERVER (DATACENTER) PROXY PROXY UI MY-APPLICATION

    CLOUD 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
  16. References ▪ hashi.co/spinnaker-consul ▪ github.com/joatmon08/cloud-migration/tree/federated ▪ spinnaker.io/guides/user/canary/config/ ▪ consul.io/docs/connect/config-entries/service-splitter Find

    these slides at joatmon08.github.io. @JOATMON08 16