Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine....

101
Immutable Infrastructure The New App Deployment AXEL FONTAINE @axelfontaine [email protected]

Transcript of Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine....

Page 1: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Immutable Infrastructure

The New App Deployment

AXEL FONTAINE@axelfontaine

[email protected]

Page 2: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

About Axel Fontaine

• Founder and CEO of Boxfuse

• Over 15 years industry experience

• Continuous Delivery expert

• Regular speaker at tech conferences

• JavaOne RockStar in 2014

@axelfontaine

Page 3: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

flywaydb.org

Page 4: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

boxfuse.com

Page 5: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Let’s start with a small story

Page 6: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

http://commons.wikimedia.org/wiki/File:Gluehlampe_01_KMJ.jpg

Incandescent Bulb60 W

LED Bulb10 W

Page 7: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Heater that gives offa little bit of light

Light that gives offa little bit of heat

Page 8: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???
Page 9: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Edison Screw

Page 10: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Simple, stable,standards-compliantinterfacewith a clear contract

Myresponsibility

The electricity company’sresponsibility

Page 11: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Simple, stable,standards-compliantinterfacewith a clear contract

RoomFor

Innovation

UndifferentiatedHeavy Lifting

Page 12: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

back to IT infrastructure …

Page 13: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

POLL:what type of infrastructure are you running on?

• On Premise

• Colocation

• Root Server

• Cloud

Page 14: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

How did this evolve ?

Page 15: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

sometime in the 20th century …

Page 16: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???
Page 17: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

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

Page 18: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???
Page 19: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

+=ONPREM

+

Challenges

• Power, Network, Cooling• Physical Security• Physical Space• Procurement, Vendor Management• Capacity Planning• Financing• OS + Patches• App + Updates

Page 20: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

+=ONPREM

+

Our responsibility

Page 21: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

+ +

Our responsibility

Their responsibility

=COLO

Page 22: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

+=COLO +

Simple, stable, standards-compliant

interface:

(19” Rack, AC Power, Ethernet, …)

Page 23: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Can change as long as it

complies with the interface

contract

+=COLO + UndifferentiatedHeavy Lifting

Our responsibility

Page 24: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

=ROOTSERVER

+ UndifferentiatedHeavy Lifting

Our responsibility

Can change as long as it

complies with the interface

contract

Page 25: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

=ROOTSERVER

+ UndifferentiatedHeavy Lifting

Simple, stable, standards-compliant interface

Software <-> Hardware

Page 26: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

RoomFor

Innovation+ Undifferentiated

Heavy Lifting

Could this be our industry’s Edison Screw?

Simple, stable, standards-compliant interface

Page 27: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Let’s talk about software

Page 28: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

POLL:which level of automation are you at?

• Build• Unit Tests• Continuous Integration• Acceptance Tests• Continuous Deployment (Code)• Continuous Deployment (Code + DB + Configuration)• Infrastructure

Page 29: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Build Test

Page 30: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

• One immutable unit• Regenerated after every change• Promoted from Environment to Environment

Classic Mistake: Build per Environment

Page 31: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

Page 32: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

Page 33: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

why aren’t we doing the samefor the layers this is running on ???

Page 34: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what could possibly go wrongin these other layers ???

Page 35: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

missing software

Page 36: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

wrong name

Page 37: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

bad version

Page 38: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

incorrect permissions

Page 39: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

http://www.flickr.com/photos/travelinlibrarian/2409633653/sizes/l/

critical resource in use

Page 40: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what aren’t we holding our servers to the same standards as our applications ???

Page 41: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???
Page 42: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

Build Test

Page 43: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

Build Test

App

Page 44: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

Multiple instances in multiple Environments

Page 45: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

Multiple instances in multiple Environments

• All instances should be as similar as possible(any difference is a potential source of errors)

• That also includes your local Dev environment!

• Must be able to reliably provision new ones(and recreate existing ones from scratch)

Page 46: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

Updates UpdatesUpdates

Sysadmin

Page 47: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

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

Henry Ford

Page 48: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

Updates UpdatesUpdates

Sysadmin

Page 49: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

Updates UpdatesUpdates

Automated Sysadmin

Page 50: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

fast forward to 2015 …

Page 51: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

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

Page 52: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

"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_Reactor.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_archive_341194_Kursk_Nuclear_Power_Plant.jpg

Control Plane Data Plane

Page 53: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Control Plane Data Plane

Page 54: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

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

• Clean Control Plane/Data Plane splitwith API-based provisioning

• Cost-based Architectureswith the ability to turn infrastructure off

Benefits of the cloud

Page 55: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

it is time to rethink the faster horse

Page 56: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

App

OS Kernel

Libraries

Language

App Server

Build Test

Page 57: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

App

OS Kernel

Libraries

Language

App Server

Build Test

UndifferentiatedHeavy lifting

Page 58: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

App

OS Kernel

Libraries

Language

App Server

Build Test

Page 59: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

App

Machine Image

OS Kernel

Libraries

Language

App Server

Build TestMachine

Image

Page 60: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

OS Kernel

Libraries

Language

App Server

App

Updates

Page 61: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Machine Image

Machine Image

Machine Image

Updates

Page 62: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

but there is one big problem left …

Page 63: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Machine Image

Network Cable

Page 64: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Machine Image

Network CableMultiple

GB

Page 65: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

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

Page 66: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what is really adding business value ???

Page 67: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Machine Image

Network Cable

Page 68: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Editors

Daemons OS Kernel

Libraries

Utilities

Drivers

App

App Server

Package Mgr

Compilers

SSH

Firewall

Compatibility

Man Pages

Language

Log Files

Users

Shells

Network Cable

Page 69: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

App

App Server

Language

Bootable App

Page 70: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

MultipleGB

40 – 80 MB

Page 71: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Network CableBootable

App

Page 72: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

who is this for ???

Page 73: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

OS Kernel

Libraries

Language

App Server

App

12-factor app

Page 74: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

demo

Page 75: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

What are the implications ???

Page 76: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Focus shift

Individual instances become disposable

Instance Service

Page 77: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Treat servers like cattle instead of pets

Page 78: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

high uptime is a liability

The longer an instance is up,the harder it becomes to recreate exactly

(and it will fail eventually!)

Page 79: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

How to solve service discovery ?

Use a stable entry point with an internal registry

Bootable App

Bootable App

Bootable App

? ElasticLoad

Balancer

Page 80: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

What about security ?

When was the last time your toaster got hacked?

Page 81: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

What about security ?

• Smallest possible attack surface

• Vastly reduced implications due to low uptime and transient nature of instances

• Very difficult to exploit other systemsbecause essential tooling is missing

Page 82: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

• 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

what about configuration ???

Page 83: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what about the database ???

Page 84: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Bootable App

what about the database ???

Page 85: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what about the database ???

• Keep all persistent state, including the database, out of the instance

• Many good hosted solutions availablelike Amazon RDS or Google Cloud SQL

• Use a database migration tool like Flyway to update on application startup

Page 86: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Bootable App

what about the logs ???

Ship logs to a central log server

where they can be• aggregated• stored and backuped• indexed• searched through a nice web UI

Many good hosted solutions• Loggly• Logentries• Papertrail• …

Page 87: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what about sessions ???

Bootable App

Keep session in an encrypted and signed cookie

• avoids session timeouts• avoids server clustering & session replication• avoids sticky sessions & server affinity

Page 88: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what about rolling out new versions ???

Page 89: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Load Balancer

App v1

App v1

Logs

Availability Zone 1

Availability Zone 2

Page 90: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Load Balancer

App v2

App v1

App v2

App v1

Logs

Availability Zone 1

Availability Zone 2

Page 91: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Load Balancer

App v2

App v2

Logs

Availability Zone 1

Availability Zone 2

Page 92: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

what about containers ???

Page 93: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

understanding modern CPUs

Both Intel and AMD have hardware support for virtualization

• isolation• performance

Page 94: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Bootable App

Hardware

Hypervisor

Bootable App

Hardware

OS+ContainerRuntime

On PremOn Prem

Page 95: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Bootable App

Hardware

Hypervisor

Bootable App

Hardware

Hypervisor

OS+ContainerRuntime

Bootable App

Hardware

OS+ContainerRuntime

On PremOn Prem /Cloud

Cloud

Only makes sense if you cannot afford

$9.60/month granularity

Page 96: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Bootable App

Hardware

Hypervisor

Bootable App

Hardware

Hypervisor

OS+ContainerRuntime

Bootable App

Hardware

OS+ContainerRuntime

On PremOn Prem /Cloud

Cloud

Only makes sense if you cannot afford

1.3 cents /hour granularity

Page 97: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

summary

Page 98: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

• One immutable unit• Regenerated after every change• Promoted from Environment to Environment

Classic Mistake: Build per Environment

Page 99: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Bootable App

• One immutable unit• Regenerated after every change• Promoted from Environment to Environment

Classic Mistake: Build per Environment

Page 100: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

boxfuse.com

Page 101: Immutable Infrastructure - secure.trifork.com€¦ · •JavaOne RockStar in 2014 @axelfontaine. flywaydb.org. boxfuse.com. ... 12-factor app. demo. What are the implications ???

Thanks !

AXEL FONTAINE@axelfontaine

boxfuse.com