Testing in Production for the Bold and True

3353b76e1480888ea7a482ebaa883dcb?s=47 Rob Crowley
November 15, 2018

Testing in Production for the Bold and True

Microservices and containers have transformed application design and deployment patterns. Modern cloud native architectures - which underpin many of the world's ground-breaking tech companies such as Uber, Netflix and Airbnb - afford unparalleled levels of agility and scale but are not without trade-offs. Testing in particular poses a significant challenge. With a complex adaptive system that can fail in myriad different ways, what confidence can we really gain from proving it works in a test environment with a certain data set at one particular point in time? Faced with such challenges, "testing in production" has become an attractive approach for enabling the safe deployment and release of software systems at speed.

In this talk, we will explore the gamut of techniques that comprise testing in production including: traffic shadowing at deploy time; feature flags and canarying at release time; as well as chaos testing, A/B tests and tracing post release. Additionally, we will see through a series of live demonstrations how Kubernetes and Istio, a leading open source service mesh, can bring these advanced techniques within reach of mere mortals.

By the end of the session, you will not only understand the techniques involved in safely testing in production but also have the knowledge to put them into practice.

3353b76e1480888ea7a482ebaa883dcb?s=128

Rob Crowley

November 15, 2018
Tweet

Transcript

  1. None
  2. ▪ ▪ ▪ ▪

  3. None
  4. None
  5. Customers don’t measure you on how hard you tried. They

    measure you on what you deliver.
  6. None
  7. None
  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. None
  15. None
  16. If something goes wrong with the release now then at

    least we know that we’ve done everything we could.
  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. None
  29. None
  30. None
  31. None
  32. None
  33. None
  34. We shape our tools and thereafter our tools shape us.

  35. None
  36. None
  37. None
  38. Deploy Debug Write

  39. None
  40. None
  41. None
  42. None
  43. None
  44. None
  45. None
  46. None
  47. None
  48. None
  49. None
  50. None
  51. X

  52. None
  53. None
  54. X

  55. None
  56. None
  57. None
  58. ’ ’

  59. None
  60. None
  61. None
  62. ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪