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

Getting Into the Zero Downtime Deployment World

Getting Into the Zero Downtime Deployment World

NDC Oslo 2016 (Oslo, Norway)

Tugberk Ugurlu

June 10, 2016
Tweet

More Decks by Tugberk Ugurlu

Other Decks in Programming

Transcript

  1. Getting Into the Zero Downtime Deployment World Tugberk Ugurlu Redgate

    Software @tourismgeek tugberkugurlu.com #ndcoslo https://flic.kr/p/fNTDM1
  2. #ndcoslo Example HTTP APIs v1 Example Android iPhone Example Android

    Client Example Web Client Example HTTP APIs v1.1
  3. LB zleek-0 zleek-1 zleek-n mongodb neo4j elasticsearch rabbitmq recipe-generation-worker-0 recipe-sync-worker-0

    food-sync-worker-0 store-sync-worker-0 recipe-generation-worker-1 recipe-generation-worker-n recipe-sync-worker-n recipe-sync-worker-0
  4. SemVer Your Software • See semver.org • Support 2 Major

    versions of the HTTP Service, not 1, not 3. • Define a support policy for support lifetime for versions #ndcoslo
  5. Type of Changes • Patch: No user facing changes, all

    internal. • Minor: Add functionality in a backwards-compatible manner • Major: Introducing incompatible changes • See semver.org for more information #ndcoslo
  6. example-api-v0-6327638 example-api-v0-7814219 example-api-v0-9528392 LB v0.example.com example-api- process example-api- process example-api-

    process example-api-v0-6786234 example-api-v0-3266280 example-api-v0-8429842 example-api- process example-api- process example-api- process
  7. Internal LB-1 LB-1 Internal LB-2 server1 server2 server3 server4 server5

    server6 server7 server8 server9 server10 client client client client client client #ndcoslo
  8. example-api-v0-6327638 example-api-v0-7814219 example-api-v0-9528392 LB v0.example.com example Products example Products example

    Products example-api-v1-2276168 example-api-v1-5677802 example Products example Products LB v1.example.com example-api-v1-7182721 example Products
  9. #ndcoslo Id Make M 1 Renault Cl 2 Mercedes GL

    3 Volkswagen Po 4 Toyota Ya v1 v2 Id Make Model Colour 1 Renault Clio Red 2 Mercedes GLA Black 3 Volkswagen Polo White 4 Toyota Yaris Yellow Id Make Model Colour 1 Renault Clio Red 2 Mercedes GLA Black 3 Volkswagen Polo White 4 Toyota Yaris Yellow
  10. Helpful Tools • Git (https://git-scm.com) • Travis CI (https://travis-ci.org) •

    Octopus Deploy (https://octopus.com) • HAProxy (http://haproxy.org) • node-semver CLI (http://bit.ly/1PO6hvR) • Docker (https://docker.com) • Docker Cloud (a.k.a. Tutum, http://bit.ly/1RYYtl2) • SQL Server Data Tools (SSDT, http://bit.ly/1P7qETh) • DLM Automation Tools from Redgate (http://bit.ly/1VQ2rDm) #ndcoslo