Clouds
Accelerating DevOps
with AWS CloudFormation
Cristian Măgherușan-Stanciu
@magheru_san
Berlin AWS Meetup, 17.06.2014
Contents
❖ About me
❖ Challenges
❖ Solutions
❖ The clouds tool
❖ Demo
About me
❖ System Engineer @ HERE - here.com
❖ 2+ years of AWS
Challenges
Team setup
❖ SysEng (virtual) team
➢ 1 SysEng - part of n (virtual) DevOps teams, 1≤n≤5
➢ Sharing tools/practices/stories
...
Projects
❖ Software development and delivery
❖ Multiple environments/AWS accounts
❖ Documentation
❖ Monitoring
Requirements
❖ Fast project bootstrap
❖ Easy/fast environment creation
❖ On call for a different project ( @5 AM )
Solutions
High availability
❖ Redundancy
➢ Multi-DC/-AZ/-Region deployments
❖ Self-healing systems
➢ AutoScaling
❖ Automation
x-Project Standardization
❖ CentOS
❖ Thor - configuration management & more
➢ Puppet + custom ENC
➢ Cloud-agnostic
❖ Monit...
x-Environment Standardization
❖ Puppet code
❖ Thor configuration layout
❖ Infrastructure as code
➢ Repeatable, versionable...
Infrastructure as code
❖ CloudFormation primer
➢ Stack = JSON template + parameters
❖ Supports most of AWS
➢ EC2, RDS, Rou...
First steps
❖ Thor/AWS
❖ Manual CloudFormation management
➢ Same (evolving) template
➢ Stored in git
➢ Parameters - but wh...
Too good to be true...
A week later...
❖ First mass template update
➢ about 1 day of (boring) work
A few days later...
Again…
… and again...
Too many wasted days...
❖ HDD - hate-driven development *
❖ Goals
➢ All in SCM
➢ Trivial (mass) stack updates
➢ Clone stacks
➢ Multi-AWS-account u...
Using clouds
❖ git-like CLI
➢ clouds {clone,update,edit...} stack...
❖ Stacks
➢ dumped in current directory
➢ including pa...
Clouds internals
❖ Ruby/AWS SDK (it rocks!)
➢ Research week project
➢ 3 days of work
➢ 350 LOC (half for CLI)
Clouds benefits
❖ Easy to promote patches
➢ Mass updates take minutes
❖ New environment in minutes
➢ Dev self-service
❖ An...
Demo
Conclusions
❖ Scaling DevOps
➢ Standardization
➢ Automation quickly pays off
DO IT!
Thank you!
Join us!
❖ Getting clouds
gem install clouds
❖ Suggestions & patches
https://github.com/cristim/clouds
Clouds presentation, aws meetup   v2
Clouds presentation, aws meetup   v2
Upcoming SlideShare
Loading in …5
×

Clouds presentation, aws meetup v2

461
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
461
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Clouds presentation, aws meetup v2

  1. 1. Clouds Accelerating DevOps with AWS CloudFormation Cristian Măgherușan-Stanciu @magheru_san Berlin AWS Meetup, 17.06.2014
  2. 2. Contents ❖ About me ❖ Challenges ❖ Solutions ❖ The clouds tool ❖ Demo
  3. 3. About me ❖ System Engineer @ HERE - here.com ❖ 2+ years of AWS
  4. 4. Challenges
  5. 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)
  6. 6. Projects ❖ Software development and delivery ❖ Multiple environments/AWS accounts ❖ Documentation ❖ Monitoring
  7. 7. Requirements ❖ Fast project bootstrap ❖ Easy/fast environment creation ❖ On call for a different project ( @5 AM )
  8. 8. Solutions
  9. 9. High availability ❖ Redundancy ➢ Multi-DC/-AZ/-Region deployments ❖ Self-healing systems ➢ AutoScaling ❖ Automation
  10. 10. x-Project Standardization ❖ CentOS ❖ Thor - configuration management & more ➢ Puppet + custom ENC ➢ Cloud-agnostic ❖ Monitoring tools ❖ Documentation format
  11. 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. 12. Infrastructure as code ❖ CloudFormation primer ➢ Stack = JSON template + parameters ❖ Supports most of AWS ➢ EC2, RDS, Route53, etc. ❖ In-place update ❖ Try it!
  13. 13. First steps ❖ Thor/AWS ❖ Manual CloudFormation management ➢ Same (evolving) template ➢ Stored in git ➢ Parameters - but who cared? ❖ Fast ➢ Dev <3 ➢ Environment explosion
  14. 14. Too good to be true...
  15. 15. A week later... ❖ First mass template update ➢ about 1 day of (boring) work
  16. 16. A few days later... Again… … and again... Too many wasted days...
  17. 17. ❖ HDD - hate-driven development * ❖ Goals ➢ All in SCM ➢ Trivial (mass) stack updates ➢ Clone stacks ➢ Multi-AWS-account use Let there be clouds! *) by @jordansissel
  18. 18. Using clouds ❖ git-like CLI ➢ clouds {clone,update,edit...} stack... ❖ Stacks ➢ dumped in current directory ➢ including parameters ❖ Use your own favorite tools
  19. 19. Clouds internals ❖ Ruby/AWS SDK (it rocks!) ➢ Research week project ➢ 3 days of work ➢ 350 LOC (half for CLI)
  20. 20. Clouds benefits ❖ Easy to promote patches ➢ Mass updates take minutes ❖ New environment in minutes ➢ Dev self-service ❖ And more...
  21. 21. Demo
  22. 22. Conclusions ❖ Scaling DevOps ➢ Standardization ➢ Automation quickly pays off DO IT!
  23. 23. Thank you!
  24. 24. Join us! ❖ Getting clouds gem install clouds ❖ Suggestions & patches https://github.com/cristim/clouds

×