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

Deployment Strategies with ISTIO

Deployment Strategies with ISTIO

In this presentation, we will talk about some Deployments Strategies and how to manage your release strategy


  1. Autor: Claudio E. de Oliveira | claudio.oliveira@sensedia.com | +55 19

    3705-5775 Data: 26/03/2019 Deployments Strategies
  2. whoami I am Claudio de Oliveira Book Author, Speaker ,

    Software Architect and Developer @sensedia Spring, Java, Microservices and Docker enthusiast
  3. sensedia.com 1 • Microservices • Deployments Vs Releases • Blue

    Green • Releases AGENDA
  4. sensedia.com Microservices

  5. “The goal of the microservice architecture is to accelerate software

    development by enabling continuous delivery/deployment.” https://microservices.io/patterns/decomposition/decompose-by-business-capability.html
  6. sensedia.com The term "Microservice Architecture" ... there are certain common

    characteristics around organization around business capability... https://martinfowler.com/articles/microservices.html
  7. sensedia.com “Why Microservices Are The New Innovation Enablers For Enterprises”

  8. Microservices architecture is not about technologies and frameworks is about

    How to Scale Business
  9. sensedia.com Customers want new features and cool stuff and to

    deliver it we need to plan carefully
  10. The first step is decoupling Deployments and Releases and understand

    the purposes of each one
  11. sensedia.com Deployments vs Releases

  12. sensedia.com Deployments

  13. Deployment mean to put the new code into an environment

    Changing production traffic to it! !=
  14. Deployment means Install new artifact into an environment

  15. sensedia.com Blue-Green Deployments

  16. Blue Green Deployment is a technique that primary goal is

    to reduce downtime during deployments https://martinfowler.com/bliki/BlueGreenDeployment.html
  17. https://martinfowler.com/bliki/BlueGreenDeployment.html

  18. enable rapid way to rollback

  19. but...

  20. None
  21. “Big Bang” deployments... the full solution is developed and tested

    and then replaces the current system at once.
  22. Nowadays, we need to think about something different

  23. sensedia.com Releases

  24. Releasing our code means bringing live traffic over to our

    new deployment https://www.manning.com/books/istio-in-action
  25. Decoupling deployment and release allows us to more finely control

    how and which users get exposed to the new changes. https://www.manning.com/books/istio-in-action
  26. Canary Release Dark Launches Graduated Rollouts A/B Testing Releases Strategies

  27. Dark Launches The main idea here is testing new features

    to a set of premium users and then measure the adoption or something important for your company. Canary Release Canary Release we want to test a new version of our deployment, see performance and system behavior.
  28. Use Case for Demos

  29. Use Case

  30. sensedia.com Traffic shifting using weights

  31. This technique allows us to split production traffic based on

    routing weights
  32. we can enable rapid rollback changing the new release to

    weight 0
  33. None
  34. We need to improve performance in register microservice then we’ll

    need to deploy the release v2 of this service Let’s do a canary RELEASE!!!
  35. None
  36. sensedia.com Route per Request

  37. This technique enables us to split production traffic using request

    attributes to change traffic to the desired deployment
  38. None
  39. can be an excellent option to test new deployments with

    our premium partner
  40. We added a new feature in register microservice then we’ll

    need to deploy the release v3 of this service Let’s do a dark launch RELEASE!!!
  41. None
  42. The two techniques mentioned earlier are fantastic but sometimes we

    need to go to “production” more confident
  43. sensedia.com Traffic Shadowing Traffic Mirroring

  44. This technique enables us to copy live production requests to

    a new deployment out of band of any customer traffic
  45. using this strategy, we can get real applications feedbacks without

    impact our users
  46. sensedia.com Service Mesh

  47. A service mesh is a distributed application infrastructure that is

    responsible for handling network traffic on behalf of the application in a transparent, out of process manner. https://www.manning.com/books/istio-in-action
  48. Service Mesh Capabilities Service resilience Observability signals Traffic control capabilities

  49. We’ve used Istio as Service mesh implementation

  50. None
  51. Contacts @claudioed http://claudioed.tech http://github.com/claudioed https://www.linkedin.com/in/claudioedoliveira/ claudio.oliveira@sensedia.com

  52. sensedia.com sensedia.com