5. Team setup
❖ SysEng (virtual) team
➢ 1 SysEng - part of n (virtual) DevOps teams, 1≤n≤5
➢ Sharing tools/practices/stories
➢ On-call support
❖ DevOps team
➢ Cross-functional
➢ Maintain Project(s)
11. x-Environment Standardization
❖ Puppet code
❖ Thor configuration layout
❖ Infrastructure as code
➢ Repeatable, versionable environments (end-to-end)
➢ Easy to scale
➢ Great on AWS/CloudFormation
12. Infrastructure as code
❖ CloudFormation primer
➢ Stack = JSON template + parameters
❖ Supports most of AWS
➢ EC2, RDS, Route53, etc.
❖ In-place update
❖ Try it!
13. First steps
❖ Thor/AWS
❖ Manual CloudFormation management
➢ Same (evolving) template
➢ Stored in git
➢ Parameters - but who cared?
❖ Fast
➢ Dev <3
➢ Environment explosion
15. A week later...
❖ First mass template update
➢ about 1 day of (boring) work
16. A few days later...
Again…
… and again...
Too many wasted days...
19. ❖ HDD - hate-driven development *
❖ Goals
➢ All in SCM
➢ Trivial (mass) stack updates
➢ Clone stacks
➢ Multi-AWS-account use
Let there be clouds!
*) by @jordansissel
20. Using clouds
❖ git-like CLI
➢ clouds {clone,update,edit...} stack...
❖ Stacks
➢ dumped in current directory
➢ including parameters
❖ Use your own favorite tools
21. Clouds internals
❖ Ruby/AWS SDK (it rocks!)
➢ Research week project
➢ 3 days of work
➢ 350 LOC (half for CLI)
22. Clouds benefits
❖ Easy to promote patches
➢ Mass updates take minutes
❖ New environment in minutes
➢ Dev self-service
❖ And more...