Immutable Systemsin 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
[email protected]
Saturday: 5.15pm-6.30pm + break time
● Configuration Management, a bit● Containers/Microservices, ...you sure?● Orchestration, defo● CI/CD, abs
Outline
“Meta” infrastucture
Complicated Vs Complex
● Simple● Repeatable● Versioned
Things should be
“The Truth lies somewhere in the middle”
Possible solution
Start withvanilla image
Customise&
install appTest
store
version
re-use
“What’s missing can’t break”-- Henry Ford (maybe)
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
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
?? ?
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
[email protected]