Successfully reported this slideshow.
Your SlideShare is downloading. ×

Polyglot infrastructure for Bycraft 2015

Polyglot infrastructure for Bycraft 2015

Download to read offline

Javascript or Ruby? Chef or Puppet? Containers or Virtual Machines? The bigger is the infrastructure of organization, the more there are chances that you have to support variety of options at the same time for every level of your software delivery and maintenance tooling. Should you make a choice or make a fight with the other part of your team? When ""it does not do what we need"" starts to get over ""it worked like that for years""? We live in interesting times. By now, human kind have created tremendous fleet of servers, containers, devices. Managing all of them becomes an art. Or does it? Let's see what are options are.

Javascript or Ruby? Chef or Puppet? Containers or Virtual Machines? The bigger is the infrastructure of organization, the more there are chances that you have to support variety of options at the same time for every level of your software delivery and maintenance tooling. Should you make a choice or make a fight with the other part of your team? When ""it does not do what we need"" starts to get over ""it worked like that for years""? We live in interesting times. By now, human kind have created tremendous fleet of servers, containers, devices. Managing all of them becomes an art. Or does it? Let's see what are options are.

More Related Content

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Polyglot infrastructure for Bycraft 2015

  1. 1. 01
  2. 2. About me 02
  3. 3. Andrey Adamovich Bio: Developer, coach, speaker, author Company: Aestas/IT (http://aestasit.com) • • 03
  4. 4. Contact details E­mail: andrey@aestasit.com Linkedin: http://www.linkedin.com/in/andreyadamovich Lanyrd: http://lanyrd.com/profile/andrey­adamovich GitHub: https://github.com/aadamovich SO: http://stackoverflow.com/users/162792/andrey­adamovich Twitter: @codingandrey, @aestasit • • • • • • 04
  5. 5. Let's start 05
  6. 6. Let's start People have different background, skills, interests and preferences Most of the problems have many (sub)optimal solutions People solve problems differently All that maps to a variety of solutions that actually work • • • • 06
  7. 7. All polyglot "Polyglot" software development is a reality Major ecosystems build loyal communities around them Communities accumulate reusable experience • • • 07
  8. 8. But... Software needs infrastructure to be DEVELOPED on Software needs infrastructure to be DEPLOYED on We need to be able to SUPPORT all of that! • • • 08
  9. 9. No surprise! 09
  10. 10. Ops hate Devs! 10
  11. 11. Destructive 11
  12. 12. The Unplanned 12
  13. 13. Unplanned vs. failed 13
  14. 14. Unplanned vs. unique 14
  15. 15. Late alignment issues 15
  16. 16. Stability vs. agility 16
  17. 17. Why "polyglot" then?17
  18. 18. You have no choice! It brings agility It brings innovation It may move you forward faster And beat your competition! • • • • 18
  19. 19. But... It needs to be under control! It needs to bring value! Not only immediate benefits needs to be considered, but also operational complexity! • • • • 19
  20. 20. Changing architecture 20
  21. 21. Local development 21
  22. 22. Splitting layers 22
  23. 23. Scaling out 23
  24. 24. Fail­over 24
  25. 25. Performance tuning 25
  26. 26. Maintaining system 26
  27. 27. Expanding system 27
  28. 28. What if? 28
  29. 29. Or even? 29
  30. 30. Splitting layers 30
  31. 31. Scaling out 31
  32. 32. Maintaining system 32
  33. 33. And so on... 33
  34. 34. What if you combine? 34
  35. 35. Polyglot infrastructure is inevitable!35
  36. 36. Infrastructure as code 36
  37. 37. Infrastructure as code Capture knowledge Reuse comminuty experience Automation over documentation • • • 37
  38. 38. Infrastructure as code Scripts (level 0) Provisioning tools (level 1) Images/Containers (level 2) • • • 38
  39. 39. Provisioning tools Puppet Chef Ansible Salt • • • • 39
  40. 40. Provisioning tools Exist for a long time Big library of modules Lets express your architecture changes • • • 40
  41. 41. Reuse 41
  42. 42. Virtualization VirtualBox AWS Azure Google cloud ... • • • • • 42
  43. 43. Containerization Docker Kubernetes Mesos ... • • • • 43
  44. 44. Organizations are complex 44
  45. 45. Infrastructure layers 45
  46. 46. Infrastructure layers Developer machines Development tooling Server/environment management Network management ... 1. 2. 3. 4. 5. 46
  47. 47. DevOps! 47
  48. 48. Sharing responsibility I 48
  49. 49. Sharing responsibility II The focus of DevOps is on automating the tasks performed during the build, QA and deployment stage The risk of deployment errors is reduced drastically by having a strong automated testing suite, automated deployment workflow, well defined/automated rollback process • • 49
  50. 50. Reduce failed changes 50
  51. 51. Reduce number of unique configs 51
  52. 52. Don't ignore operations! 52
  53. 53. Avoid ShadowOps DevOoops • • 53
  54. 54. Broken communication 54
  55. 55. Broken communication 55
  56. 56. Play on the same field 56
  57. 57. Port changes back to DEV! 57
  58. 58. The feedback loop Through configuration management and deploy automation, we can deploy more often and reduce risk The feedback loop gets shorter Functionalities are rolled out with higher frequency Systems are always in a known state Changes to the system can be simulated and impacts calculated • • • • • 58
  59. 59. Internal culture! 59
  60. 60. C.A.M.S Culture : People over processes and tools. Software is made by and for people. Automation : Automation is essential for DevOps to gain quick feedback. Measurement : DevOps finds a specific path to measurement. Quality and shared (or at least aligned) incentives are critical. Sharing : Creates a culture where people share ideas, processes, and tools. • • • • 60
  61. 61. Conclusion Polyglot infrastructure is a reality! Leverage DevOps principles Learn how to use provisioning tools! Virtualization/containerization • • • • 61
  62. 62. 62
  63. 63. Reading material 63
  64. 64. The Phoenix Project 64
  65. 65. Continuous Delivery 65
  66. 66. Release It 66
  67. 67. Inviting Disaster 67
  68. 68. Questions? 68
  69. 69. Шчыра дзякую! 69
  70. 70. Cпасибо! 70
  71. 71. Thank you! 71

×