Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Legacy to Cloud FairyTale - Continuous Lifecycle London June 2017

505 views

Published on

This is the true fairytale of a company who decided to end its death spiral of monthly release cycles, three hour deployment meetings, expensive hardware, and falling market share.

We describe how we went to near-real-time zero-downtime deployment with lower costs and happier customers. We explain our choices, tools, changes and expose our ugly “before” and “after” pictures. Most importantly, we show you our process of change, born into a new, exciting, competitive culture.

The frog of legacy became the princess of modern agile development+operations.

Contact us to help your transformation: http://blog.atomicinc.com/contact/

Published in: Technology
  • Be the first to comment

Legacy to Cloud FairyTale - Continuous Lifecycle London June 2017

  1. 1. From Legacy to Cloud A fairytale… in a few parts Avi Deitcher | @avideitcher | avi@atomicinc.com | https://blog.atomicinc.com
  2. 2. From Legacy to Cloud A fairytale… in a few parts Avi Deitcher | @avideitcher | avi@atomicinc.com | https://blog.atomicinc.com
  3. 3. From Legacy to Cloud A fairytale… in a few parts Avi Deitcher | @avideitcher | avi@atomicinc.com | https://blog.atomicinc.com
  4. 4. Who Am I? Avi Deitcher avi@atomicinc.com
  5. 5. Who Am I? Life in Tech Business Avi Deitcher avi@atomicinc.com
  6. 6. Who Am I? Life in Tech Business Mission-Critical IT 10 yrs Avi Deitcher avi@atomicinc.com
  7. 7. Who Am I? Life in Tech Business Mission-Critical IT Consulting 10 yrs 12+ yrs Avi Deitcher avi@atomicinc.com
  8. 8. Who Am I? Life in Tech Business Mission-Critical IT Consulting 10 yrs 12+ yrs S t a r t u p s Avi Deitcher avi@atomicinc.com
  9. 9. Who Am I? Life in Tech Business Mission-Critical IT Consulting 10 yrs 12+ yrs S t a r t u p s Avi Deitcher avi@atomicinc.com
  10. 10. Who Am I? Life in Tech Business Mission-Critical IT Consulting 10 yrs 12+ yrs S t a r t u p s Avid (if not very good) ice hockey player Avi Deitcher avi@atomicinc.com
  11. 11. Who Am I? Life in Tech Business Mission-Critical IT Consulting 10 yrs 12+ yrs S t a r t u p s Avid (if not very good) ice hockey player Long-time lover of great engineering… when used to make a real difference Avi Deitcher avi@atomicinc.com
  12. 12. Who Am I? Life in Tech Business Mission-Critical IT Consulting 10 yrs 12+ yrs S t a r t u p s Avid (if not very good) ice hockey player Atomic Inc: Generalist Practitioner | Product : engineering : operations | Incentives and culture Long-time lover of great engineering… when used to make a real difference Avi Deitcher avi@atomicinc.com
  13. 13. Avi Deitcher avi@atomicinc.com What Tales do We Weave?
  14. 14. Avi Deitcher avi@atomicinc.com What Tales do We Weave?
  15. 15. Avi Deitcher avi@atomicinc.com What Tales do We Weave? The definition of a fairy-story—what it is, or what it should be—does not, then, depend on any definition or historical account of elf or fairy, but upon the nature of Faërie: the Perilous Realm itself, and the air that blows in that country. -“On Fairy-Stories”, J.R.R. Tolkien
  16. 16. Avi Deitcher avi@atomicinc.com What Tales do We Weave? The definition of a fairy-story—what it is, or what it should be—does not, then, depend on any definition or historical account of elf or fairy, but upon the nature of Faërie: the Perilous Realm itself, and the air that blows in that country. -“On Fairy-Stories”, J.R.R. Tolkien A fairy tale is a story for children involving magical events and imaginary creatures; a highly improbable account. -Collins English Dictionary
  17. 17. Avi Deitcher avi@atomicinc.com What Tales do We Weave? The definition of a fairy-story—what it is, or what it should be—does not, then, depend on any definition or historical account of elf or fairy, but upon the nature of Faërie: the Perilous Realm itself, and the air that blows in that country. -“On Fairy-Stories”, J.R.R. Tolkien A fairy tale is a story for children involving magical events and imaginary creatures; a highly improbable account. -Collins English Dictionary
  18. 18. Avi Deitcher avi@atomicinc.com What Tales do We Weave? The definition of a fairy-story—what it is, or what it should be—does not, then, depend on any definition or historical account of elf or fairy, but upon the nature of Faërie: the Perilous Realm itself, and the air that blows in that country. -“On Fairy-Stories”, J.R.R. Tolkien A fairy tale is a story for children involving magical events and imaginary creatures; a highly improbable account. -Collins English Dictionary A quest in which hero/heroine overcomes external and internal challenges to achieve a goal of individual and societal growth, a happy ending. -Common definition
  19. 19. Avi Deitcher avi@atomicinc.com What Tales do We Weave? The definition of a fairy-story—what it is, or what it should be—does not, then, depend on any definition or historical account of elf or fairy, but upon the nature of Faërie: the Perilous Realm itself, and the air that blows in that country. -“On Fairy-Stories”, J.R.R. Tolkien A fairy tale is a story for children involving magical events and imaginary creatures; a highly improbable account. -Collins English Dictionary A quest in which hero/heroine overcomes external and internal challenges to achieve a goal of individual and societal growth, a happy ending. -Common definition
  20. 20. Avi Deitcher avi@atomicinc.com Our Heroine • <100 person company • “Customer Assistance” / “Customer Engagement” • IVR as a service (“core”) • Expanded into digital interaction (“messaging”), analytics, personalization, etc. • On-premise and SaaS
  21. 21. Avi Deitcher avi@atomicinc.com The Quest
  22. 22. Avi Deitcher avi@atomicinc.com The Quest Get baked goods to Grandma?
  23. 23. Avi Deitcher avi@atomicinc.com The Quest Get baked goods to Grandma? Not quite…
  24. 24. Avi Deitcher avi@atomicinc.com The Quest Get baked goods to Grandma? Not quite… Better goals
  25. 25. Avi Deitcher avi@atomicinc.com The Quest Get baked goods to Grandma? Not quite… Better goals Stability
  26. 26. Avi Deitcher avi@atomicinc.com The Quest Get baked goods to Grandma? Not quite… Better goals Stability Flexibility
  27. 27. Avi Deitcher avi@atomicinc.com The Quest Get baked goods to Grandma? Not quite… Better goals Stability Flexibility Velocity
  28. 28. Avi Deitcher avi@atomicinc.com Boil the Ocean?
  29. 29. Avi Deitcher avi@atomicinc.com Boil the Ocean? You have to start somewhere
  30. 30. Avi Deitcher avi@atomicinc.com Boil the Ocean? You have to start somewhere 1. Messaging
  31. 31. Avi Deitcher avi@atomicinc.com Boil the Ocean? You have to start somewhere 1. Messaging 2. Analytics
  32. 32. Avi Deitcher avi@atomicinc.com Boil the Ocean? You have to start somewhere 1. Messaging 2. Analytics 3. Core
  33. 33. Avi Deitcher avi@atomicinc.com Boil the Ocean? You have to start somewhere 1. Messaging 2. Analytics 3. Core 4. …
  34. 34. Avi Deitcher avi@atomicinc.com “You find yourself in a room…”
  35. 35. Avi Deitcher avi@atomicinc.com “You find yourself in a room…”
  36. 36. Avi Deitcher avi@atomicinc.com “You find yourself in a room…”
  37. 37. Avi Deitcher avi@atomicinc.com
  38. 38. Avi Deitcher avi@atomicinc.com
  39. 39. Avi Deitcher avi@atomicinc.com
  40. 40. Avi Deitcher avi@atomicinc.com
  41. 41. Avi Deitcher avi@atomicinc.com
  42. 42. Avi Deitcher avi@atomicinc.com
  43. 43. Avi Deitcher avi@atomicinc.com Balrog Processes
  44. 44. Avi Deitcher avi@atomicinc.com Balrog Processes • 4+ hour deployment meetings!
  45. 45. Avi Deitcher avi@atomicinc.com Balrog Processes • 4+ hour deployment meetings! • Deployment artifacts: war files, multi-page instructions • “edit application.properties line 25 to enter the IP of the environment-specific DB server” • “add the username and password on lines 26 and 28 of application.properties” • “restart app servers in the following order”
  46. 46. Avi Deitcher avi@atomicinc.com Balrog Processes • 4+ hour deployment meetings! • Deployment artifacts: war files, multi-page instructions • “edit application.properties line 25 to enter the IP of the environment-specific DB server” • “add the username and password on lines 26 and 28 of application.properties” • “restart app servers in the following order” • 3 sides * 3 sites = 9 deployments for prod alone! • QA, UAT, etc.?
  47. 47. Avi Deitcher avi@atomicinc.com Balrog Processes • 4+ hour deployment meetings! • Deployment artifacts: war files, multi-page instructions • “edit application.properties line 25 to enter the IP of the environment-specific DB server” • “add the username and password on lines 26 and 28 of application.properties” • “restart app servers in the following order” • 3 sides * 3 sites = 9 deployments for prod alone! • QA, UAT, etc.? • Anyone want to run it locally?
  48. 48. Avi Deitcher avi@atomicinc.com When Black Holes Collide Monolithic Software • Buggy deployments • Impossible to test • Slow development Manual Deployment • Errors • Long nights • Impossible to verify • Delayed and riskier deployments
  49. 49. Avi Deitcher avi@atomicinc.com When Black Holes Collide Monolithic Software • Buggy deployments • Impossible to test • Slow development Manual Deployment • Errors • Long nights • Impossible to verify • Delayed and riskier deployments Unsustainable!
  50. 50. Avi Deitcher avi@atomicinc.com Where is Neverland? • Independent services • Development • Deployment • Scale • Fully automated testing • Monthly Daily Hourly (lim → 1/∞) release cycle • Identical artifacts+config across all environments laptop through to prod • Self-healing
  51. 51. Avi Deitcher avi@atomicinc.com Where is Neverland? • Independent services • Development • Deployment • Scale • Fully automated testing • Monthly Daily Hourly (lim → 1/∞) release cycle • Identical artifacts+config across all environments laptop through to prod • Self-healing Mission: Customers work and employees sleep
  52. 52. Avi Deitcher avi@atomicinc.com Eden’s Geography Infrastructure Services Road Traveled Culture
  53. 53. Avi Deitcher avi@atomicinc.com Ownership
  54. 54. Avi Deitcher avi@atomicinc.com Ownership Infrastructure • Manage / maintain underlying infrastructure • AWS-centric • Infrastructure as Code… only • CLIs and consoles • No app deploys! • Expose app orchestration service to developers
  55. 55. Avi Deitcher avi@atomicinc.com Ownership Infrastructure • Manage / maintain underlying infrastructure • AWS-centric • Infrastructure as Code… only • CLIs and consoles • No app deploys! • Expose app orchestration service to developers Application Development • Engineer & operate services • Testing, config files • Individual services • Leverage app orchestration service provided by infrastructure • 99.99% agnostic where orchestration runs
  56. 56. Avi Deitcher avi@atomicinc.com Ownership Infrastructure • Manage / maintain underlying infrastructure • AWS-centric • Infrastructure as Code… only • CLIs and consoles • No app deploys! • Expose app orchestration service to developers Application Development • Engineer & operate services • Testing, config files • Individual services • Leverage app orchestration service provided by infrastructure • 99.99% agnostic where orchestration runs Clear lines of responsibility Everyone engineers and operates their parts
  57. 57. Avi Deitcher avi@atomicinc.com Process of Change
  58. 58. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology
  59. 59. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology Agree together on toolset and process
  60. 60. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology Agree together on toolset and process Build samples and templates
  61. 61. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology Agree together on toolset and process Build samples and templates Deploy proof of concept with zero usage of real services
  62. 62. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology Agree together on toolset and process Build samples and templates Deploy proof of concept with zero usage of real services Prototype small sub-project
  63. 63. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology Agree together on toolset and process Build samples and templates Deploy proof of concept with zero usage of real services Prototype small sub-project Convert larger project
  64. 64. Avi Deitcher avi@atomicinc.com Process of Change Learn the business and technology Agree together on toolset and process Build samples and templates Deploy proof of concept with zero usage of real services Prototype small sub-project Convert larger project Expand the beachhead
  65. 65. Avi Deitcher avi@atomicinc.com Proof of Concept
  66. 66. Avi Deitcher avi@atomicinc.com What’s in the Toolbox? Applications Infrastructure
  67. 67. Avi Deitcher avi@atomicinc.com
  68. 68. Avi Deitcher avi@atomicinc.com
  69. 69. Avi Deitcher avi@atomicinc.com Who’s Afraid of the Big Bad Wolf?
  70. 70. Avi Deitcher avi@atomicinc.com Who’s Afraid of the Big Bad Wolf? • When one project gets killed…
  71. 71. Avi Deitcher avi@atomicinc.com Who’s Afraid of the Big Bad Wolf? • When one project gets killed… … how happy are you that you designed it correctly?
  72. 72. Avi Deitcher avi@atomicinc.com Who’s Afraid of the Big Bad Wolf? • When one project gets killed… … how happy are you that you designed it correctly? … analytics to the rescue! (or the other way ‘round?)
  73. 73. Avi Deitcher avi@atomicinc.com Who’s Afraid of the Big Bad Wolf? • When one project gets killed… … how happy are you that you designed it correctly? … analytics to the rescue! (or the other way ‘round?) • Infrastructure • Modular infrastructure prep • 3 terraform modules – vpc, vpn, kubernetes • Makefiles and scripts to build/leverage CAs, ssh, keys, FQDNs • We had to change nothing
  74. 74. Avi Deitcher avi@atomicinc.com Who’s Afraid of the Big Bad Wolf? • When one project gets killed… … how happy are you that you designed it correctly? … analytics to the rescue! (or the other way ‘round?) • Infrastructure • Modular infrastructure prep • 3 terraform modules – vpc, vpn, kubernetes • Makefiles and scripts to build/leverage CAs, ssh, keys, FQDNs • We had to change nothing • Application • Same templates, same concepts • Same CI/CD
  75. 75. Avi Deitcher avi@atomicinc.com Proof is in the
  76. 76. Avi Deitcher avi@atomicinc.com Proof is in the
  77. 77. Avi Deitcher avi@atomicinc.com Proof is in the
  78. 78. Avi Deitcher avi@atomicinc.com Proof is in the Hard to deploy
  79. 79. Avi Deitcher avi@atomicinc.com Proof is in the Hard to deploy Hard to deploy in cluster
  80. 80. Avi Deitcher avi@atomicinc.com Proof is in the PodA PodB PodC PodD Hard to deploy Hard to deploy in cluster Hard to configure for cluster services
  81. 81. Avi Deitcher avi@atomicinc.com Proof is in the PodA PodB PodC PodD External R External S External T Hard to deploy Hard to deploy in cluster Hard to configure for cluster services Brutal to configure for simultaneous internal and external access
  82. 82. Avi Deitcher avi@atomicinc.com Proof is in the PodA PodB PodC PodD External R External S External T Hard to deploy Hard to deploy in cluster Hard to configure for cluster services Brutal to configure for simultaneous internal and external access Easier to deliver short-term as standalone
  83. 83. Avi Deitcher avi@atomicinc.com Proof is in the “I want just another cluster service!” PodA PodB PodC PodD External R External S External T Hard to deploy Hard to deploy in cluster Hard to configure for cluster services Brutal to configure for simultaneous internal and external access Easier to deliver short-term as standalone
  84. 84. Avi Deitcher avi@atomicinc.com Takeaways
  85. 85. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture
  86. 86. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture
  87. 87. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture • Number three thing you are changing is lives
  88. 88. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture • Number three thing you are changing is lives • Take your time, build your way up
  89. 89. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture • Number three thing you are changing is lives • Take your time, build your way up • Never expect your team to be where you are, or to be all on the same page
  90. 90. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture • Number three thing you are changing is lives • Take your time, build your way up • Never expect your team to be where you are, or to be all on the same page • Learn their pain, learn the existing technology and business, gain respect by respecting them
  91. 91. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture • Number three thing you are changing is lives • Take your time, build your way up • Never expect your team to be where you are, or to be all on the same page • Learn their pain, learn the existing technology and business, gain respect by respecting them • Involve the team in the process; it matters as much as the outcome • Make sure people really get the “why” (“First 90 Days”) • Get good sponsors • Find your champions (allies) • Choose your battles, accept that some things have to be “good enough”
  92. 92. Avi Deitcher avi@atomicinc.com Takeaways • Number one thing you are changing is culture • Number two thing you are changing is culture • Number three thing you are changing is lives • Take your time, build your way up • Never expect your team to be where you are, or to be all on the same page • Learn their pain, learn the existing technology and business, gain respect by respecting them • Involve the team in the process; it matters as much as the outcome • Make sure people really get the “why” (“First 90 Days”) • Get good sponsors • Find your champions (allies) • Choose your battles, accept that some things have to be “good enough” Technology takeaways? • Choose your toolset well • Expect issues; the technology is not turnkey or fully mature… but what technology is? • Architecture matters • Details?
  93. 93. Questions and assistance: @avideitcher avi@atomicinc.com

×