Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1WlpXHF.
Axel Fontaine looks at what Immutable Infrastructure is and how it affects scaling, logging, sessions, configuration, service discovery and more. He also looks at how containers and machine images compare and why some things people took for granted may not be necessary anymore. Filmed at qconlondon.com.
Axel Fontaine is the founder and CEO of Boxfuse. Axel is also the creator and project lead of Flyway, the open source tool that makes database migration easy. He is a Continuous Delivery and Immutable Infrastructure expert, a Java Champion, a JavaOne Rockstar and a regular speaker at various large international conferences.
Testing tools and AI - ideas what to try with some tool examples
Immutable Infrastructure: Rise of the Machine Images
1. Rise of the Machine Images
Immutable
Infrastructure
@axelfontaine
2. InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/immutable-infrastructure
3. Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon London
www.qconlondon.com
4. About Axel Fontaine
• Founder and CEO of Boxfuse
• Over 15 years industry experience
• Continuous Delivery expert
• Regular speaker at tech conferences
• JavaOne RockStar
@axelfontaine
35. Every day, AWS adds
enough server capacity
to power the whole $7B
enterprise Amazon.com
was in 2004.
Weekends included.
36. Shift to a world of abundance
(no more resource scarcity)
37. "Advanced Test Reactor" by Argonne National Laboratory -
originally posted to Flickr as Advanced Test Reactor core,
Idaho National LaboratoryUploaded using F2ComButton.
Licensed under CC BY-SA 2.0 via Wikimedia Commons -
http://commons.wikimedia.org/wiki/File:Advanced_Test_Reac
tor.jpg#mediaviewer/File:Advanced_Test_Reactor.jpg
"RIAN archive 341194 Kursk Nuclear Power Plant" by RIA
Novosti archive, image #341194 / Sergey Pyatakov / CC-BY-SA
3.0. Licensed under CC BY-SA 3.0 via Wikimedia Commons -
http://commons.wikimedia.org/wiki/File:RIAN_archive_341194_
Kursk_Nuclear_Power_Plant.jpg#mediaviewer/File:RIAN_archi
ve_341194_Kursk_Nuclear_Power_Plant.jpg
Control Plane Data Plane
69. What about security ?
• Smallest possible attack surface
• Vastly reduced implications due to low
uptime and transient nature of instances
• Very difficult to exploit other systems
because essential tooling is missing
Bootable
App
70. • Bake as much configuration as
possible for all environments
directly in the Bootable App
• Use environment detection
and auto-configuration
what about configuration ???
71. Bootable
App
Key Value
JDBC_URL jdbc:…
ENV prod
what about configuration ???
• Bake as much configuration as
possible for all environments
directly in the Bootable App
• Use environment detection
and auto-configuration
• Pass remaining configuration
at startup and expose it as
environment variables
72. Instance
what about the database ???
• 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
73. what about the logs ???
LOG
file
LOG
file
LOG
file
ssh me@myserver1
tail -f server.log
ssh me@myserver2
tail -f server.log
ssh me@myserver3
tail -f server.log
75. what about sessions ???
Keep session in an encrypted and signed cookie
• avoids session timeouts
• avoids server clustering & session replication
• avoids sticky sessions & server affinity
Instance
90. • One immutable unit
• Regenerated after every change
• Promoted from Environment to Environment
Classic Mistake: Build per Environment
91. Bootable
App
• One immutable unit
• Regenerated after every change
• Promoted from Environment to Environment
• Use Minimal Images
• Focus on Cost in your architecture
Classic Mistake: Build per Environment