immut able infrastructure
play

Immut able Infrastructure Rise of the Machine Images About Axel - PowerPoint PPT Presentation

@axelfontaine Immut able Infrastructure Rise of the Machine Images About Axel Fontaine Founder and CEO of Boxfuse Over 15 years industry experience Continuous Delivery expert Regular speaker at tech conferences JavaOne


  1. @axelfontaine Immut able Infrastructure Rise of the Machine Images

  2. About Axel Fontaine • Founder and CEO of Boxfuse • Over 15 years industry experience • Continuous Delivery expert • Regular speaker at tech conferences • JavaOne RockStar @axelfontaine

  3. flywaydb.org

  4. boxfuse.com

  5. about questions

  6. sometime in the 20 th century …

  7. http://en.wikipedia.org/wiki/File:Tdkc60cassette.jpg

  8. Challenges = + + ON PREM  Power  OS Install  Procurement  Network  OS Patching  Vendor Mgmt  Cooling  App Install  Capacity Plan.  Phys. Security  App Updates  Financing  Phys. Space

  9. Challenges = + + ON PREM  Power  OS Install  Procurement  Network  OS Patching  Vendor Mgmt  Cooling  App Install  Capacity Plan.  Phys. Security  App Updates  Financing  Phys. Space

  10. Challenges = + + ON PREM  Power  OS Install  Procurement  Network  OS Patching  Vendor Mgmt  Cooling  App Install  Capacity Plan.  Phys. Security  App Updates  Financing  Phys. Space Hours Days or Weeks Months

  11. Challenges = + + COLO  Power  OS Install  Procurement  Network  OS Patching  Vendor Mgmt  Cooling  App Install  Capacity Plan.  Phys. Security  App Updates  Financing  Phys. Space Hours Days or Weeks Months

  12. Challenges = + + ROOT SERVER  OS Install  Procurement  OS Patching  Vendor Mgmt  App Install  Capacity Plan.  App Updates  Financing Hours Days or Weeks

  13. Let’s talk about software  OS Install  OS Patching  App Install  App Updates

  14. POLL: which level of automation are you at?  Build  Unit Tests  Continuous Integration  Acceptance Tests  Continuous Deployment (Code)  Continuous Deployment (Code + DB + Configuration)  Infrastructure

  15. Test Build

  16. Test Build

  17. • One immutable unit • Regenerated after every change • Promoted from Environment to Environment Classic Mis istake: Build per Environment

  18. App App Server Language Libraries OS Kernel

  19. App App Server Language Libraries OS Kernel

  20. why aren’t we doing the same for the layers this is running on ???

  21. App App Server Language Test Build Libraries OS Kernel

  22. App App App Server Language Test Build Libraries OS Kernel

  23. Any difference is a potential source of errors App App App App Server App Server App Server Language Language Language Libraries Libraries Libraries OS Kernel OS Kernel OS Kernel

  24. Sysadmin Updates Updates Updates App App App App Server App Server App Server Language Language Language Libraries Libraries Libraries OS Kernel OS Kernel OS Kernel

  25. If I had asked my customers what they wanted they would have said a faster horse. Henry Ford

  26. Sysadmin Updates Updates Updates App App App App Server App Server App Server Language Language Language Libraries Libraries Libraries OS Kernel OS Kernel OS Kernel

  27. Automated Sysadmin Updates Updates Updates App App App App Server App Server App Server Language Language Language Libraries Libraries Libraries OS Kernel OS Kernel OS Kernel

  28. fast forward to 2016 …

  29. Every day, AWS adds enough server capacity to power the whole $7B enterprise Amazon.com was in 2004. Weekends included.

  30. Shift to a world of abundance (no more resource scarcity)

  31. Control Plane Data Plane "RIAN archive 341194 Kursk Nuclear Power Plant" by RIA "Advanced Test Reactor" by Argonne National Laboratory - Novosti archive, image #341194 / Sergey Pyatakov / CC-BY-SA originally posted to Flickr as Advanced Test Reactor core, 3.0. Licensed under CC BY-SA 3.0 via Wikimedia Commons - Idaho National LaboratoryUploaded using F2ComButton. http://commons.wikimedia.org/wiki/File:RIAN_archive_341194_ Licensed under CC BY-SA 2.0 via Wikimedia Commons - Kursk_Nuclear_Power_Plant.jpg#mediaviewer/File:RIAN_archi http://commons.wikimedia.org/wiki/File:Advanced_Test_Reac ve_341194_Kursk_Nuclear_Power_Plant.jpg tor.jpg#mediaviewer/File:Advanced_Test_Reactor.jpg

  32. Control Plane Data Plane

  33. Automated Cost-driven Provisioning Architectures

  34. it is time to rethink the faster horse

  35. App App Server Language Test Build Libraries OS Kernel

  36. App App Server Language Test Build Libraries OS Kernel Undifferentiated Heavy lifting

  37. App App Server Language Test Build Libraries OS Kernel

  38. App App Server Machine Machine Language Test Build Image Image Libraries OS Kernel

  39. App App App App Server App Server App Server Machine Machine Machine Language Language Language Image Image Image Libraries Libraries Libraries OS Kernel OS Kernel OS Kernel

  40. Updates Machine Machine Machine Image Image Image

  41. but there is one big problem left …

  42. Machine Network Cable Image

  43. Machine Multiple Network Cable Image GB

  44. Running servers in production should be like going backpacking. You take the bare minimum with you. Anything else is going to hurt. A Wise Man

  45. what is really adding business value ???

  46. Machine Network Cable Image

  47. App Compatibility App Server Man Pages Package Mgr Language Machine Compilers Log Files Network Cable Editors Utilities Image SSH Users Shells Firewall Drivers Libraries Daemons OS Kernel

  48. App App Server Language Bootable App Libraries OS Kernel

  49. 15 MB

  50. Multiple 15 MB GB

  51. Bootable Network Cable App

  52. who is this for ???

  53. App App Server Language Libraries OS Kernel 12-factor app

  54. demo

  55. What are the implications ???

  56. Focus shift Instance Service Individual instances become disposable

  57. Treat servers like cattle instead of pets

  58. for servers is dead!

  59. high uptime is a liability The longer an instance is up, the harder it becomes to recreate exactly (and it will fail eventually!)

  60. How to solve service discovery ? ? Instance Elastic Load Instance Balancer Use a stable Instance entry point with an internal registry

  61. What about security ? When was the last time your toaster got hacked?

  62. What about security ? Complexity is the Enemy of Security

  63. What about security ? • Smallest possible attack surface • Vastly reduced implications due to low Bootable uptime and transient nature of instances App • Very difficult to exploit other systems because essential tooling is missing

  64. what about configuration ??? • Bake as much configuration as possible for all environments directly in the Bootable App • Use environment detection and auto-configuration

  65. what about configuration ??? • Bake as much configuration as Key Value possible for all environments JDBC_URL jdbc :… directly in the Bootable App ENV prod • Use environment detection and auto-configuration • Pass remaining configuration Bootable App at startup and expose it as environment variables

  66. what about the database ??? Instance • Keep all persistent state out of the instance, including the database • Use one of the many good hosted solutions available like Amazon RDS or Google Cloud SQL • Use a database migration tool to update the schema on application startup

  67. what about the logs ??? ssh me@myserver1 LOG tail -f server.log file ssh me@myserver2 LOG tail -f server.log file ssh me@myserver3 LOG tail -f server.log file

  68. LOG file LOG log server file where logs can be • aggregated • stored and backuped LOG • indexed file • searched

  69. what about sessions ??? Instance Keep session in an encrypted and signed cookie • avoids session timeouts • avoids server clustering & session replication • avoids sticky sessions & server affinity

  70. what about rolling out new versions ???

  71. Availability Zone 1 App V1 Load Balancer App V1 Logs Availability Zone 2

  72. Availability Zone 1 App V1 Load Balancer App V1 Logs Availability Zone 2

  73. Availability Zone 1 App V1 App V2 Load Balancer App V1 Logs App V2 Availability Zone 2

  74. Availability Zone 1 App V1 App V2 Load Balancer App V1 Logs App V2 Availability Zone 2

  75. what about containers ??? (as in OS-level virtualization)

  76. understanding modern CPUs Both Intel and AMD have hardware support for virtualization • isolation • performance penalty

  77. on prem Image Image your OS+Container responsibility Hypervisor Runtime Hardware Hardware VM Container

  78. cloud Image OS+Container Image Runtime Hypervisor Hypervisor Hardware Hardware VM Container

  79. cloud your responsibility container container containers container container volumes images networking scheduling clo loud responsibility instance machine instance instance instances volumes images networking scheduling

  80. 1.5 months of t2.nano

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend