Immutable Systems
in AWS Cloud
by Simone Soldateschi
@soldasimo
20160423
[https://goo.gl/XFae40]
“Let me tell you a story...”
Who I am
● Senior Service Engineer at Microsoft
● 13 years of experience as
○ Software Engineer
○ Systems Engineer
○ been DevOps'in for the last ~9 years
Simone Soldateschi
@soldasimo
simone.soldateschi@gmail.com
Saturday: 5.15pm-6.30pm
+ break time
● Configuration Management, a bit
● Containers/Microservices, ...you sure?
● Orchestration, defo
● CI/CD, abs
Outline
Why
“Meta” infrastucture
Complicated Vs Complex
● Simple
● Repeatable
● Versioned
Things should be
BAU
“The Truth lies somewhere in the
middle”
Possible solution
Start with
vanilla image
Customise
&
install app
Test
store
version
re-use
“What’s missing can’t break”
-- Henry Ford (maybe)
Trivial Issue
Trivial Issue
foo-1.2.3.pkg
foo-1.2.1.pkg
that’s an issue
Trivial Issue
foo-1.2.1.pkg
foo-1.2.1.pkg
that’s another issue
How to solve it
// aim for simplicity
Bake it
Spin EC2 up based off AMI
Service Discovery
Update strategy
Programmatically Just in time
Implementation
// wait for it...
Bake it
● Spin vanilla EC2 up
● Configure & Deploy app
● Export AMI
● Tear-down
See: bake-aws-ami on GitHub
Spin vanilla EC2 up
Configuration & Deployment
Create AMI & Tear-down
CI/CD Workflow
DEV UAT PPE PROD
?? ?
Recap
runbook
DEV
STG
PROD
Lesson Learned
● Horses for courses K.I.S.S.
● use right CfgMgmt/CI/CD right repeatable
● version, test, drop/promote it’s easy!
«All Configuration Management Systems suck,
Ansible just sucks less»
simone soldateschi
Saturday: 5.15pm-6.30pm
+ break time
@soldasimo
simone.soldateschi@gmail.com

Immutable Systems in the AWS Cloud