Your SlideShare is downloading. ×
AWS Customer Presentation: 6Wunderkind - Berlin Summit 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

AWS Customer Presentation: 6Wunderkind - Berlin Summit 2012

1,318
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Wunderful InfrastructureAlex Koppell & Mark Bate, 6Wunderkinder
  • 2. Alex KoppelWunderkind, Development
  • 3. Mark BateWunderkind, Operations
  • 4. Wunderlist• Cloud-based task manager• Cross-platform (11 so far)• Friendly, intuitive design• Easy sharing w/ friends & coworkers
  • 5. Wunderkit• Ruby on Rails (single app)• MongoDB• Redis• Hosted on PaaS
  • 6. Development
  • 7. Wunderlist• Code Igniter (PHP)• MySQL• Redis• Hosted in AWS
  • 8. Wunderkit• Cloud-based collaboration app• Cross-platform• Focus on teams and projects
  • 9. Operations
  • 10. Wunderlist Servers• Ubuntu on EC2 • Apache + PHP for sync • Nginx + FPM + PHP for web app• Redis on EC2 + EBS• MySQL on RDS
  • 11. Wunderlist Development• OS X Lion on MacBook Airs• Apache + PHP + MySQL + Redis• System? Homebrew? MAMP? Manual?
  • 12. Wunderkit Servers• Ubuntu on PaaS• Nginx + Passenger + Rails• Redis• MongoDB• Infrastructure built thru YAML & shell scripts
  • 13. Wunderkit Development• OS X Lion on MacBook Airs• Apache + Passenger + Rails• Homebrew? RVM? Rbenv?
  • 14. So that means...•2 Applications...•2 Languages...•2 Infrastructures...• Manually managed developer environments...• Crazy!!!
  • 15. Finding Wunderland
  • 16. Goals• Highly available• Ability to scale easily• Flexible
  • 17. Wonderful Code• Service-Oriented Architecture• Multiple specialised services • Rails and Node.js initially • MongoDB & Redis initially• Communication via asynchronous messaging
  • 18. Complicated!• SOA is complicated• Requires rock-solid setup • Consistency across environments • Sanely manageable
  • 19. The Way It Should BeServers Development• Ubuntu 12.04 LTS • Ubuntu 12.04 LTS• Nginx • Nginx• Unicorn • Unicorn• Ruby 1.9.2 • Ruby 1.9.2• Rails 3.1 • Rails 3.1• MongoDB • MongoDB• Redis • Redis
  • 20. Wunderful Infrastructure• Configuration Management - Chef• Infrastructure as Code• Virtualisation - VirtualBox + Vagrant
  • 21. CHEF• Deployment & configuration management• Write Recipes as part of Cookbooks, which are applied through Roles.• Ruby-based = Developers can write cookbooks ;)• Client-Server or Solo (standalone) modes• Similar to Elastic Beanstalk, Puppet, Babushka, CFEngine• http://www.opscode.com/chef
  • 22. Infrastructure as Code• Define packages & their configurations in code • Visibility • Editable • Testable • Version Controlled
  • 23. The Cloud! Ubuntu 12.04 AMI $ ec2-run-instances EC2(virtual machine image, (virtual machine instance stored on EBS) running on AWS hardware)
  • 24. Configuration Management (Servers) Librarian-Chef Librarian gem, used  as  a  “Bundler”  for   Chef cookbooks Download cookbooksfrom remote Upload cookbooks, roles & data bags Chef Server running on Developer’s  terminal EC2 + EBSmanages EC2 nodes & Chef repository
  • 25. Configuration Management (Servers) Boot EC2 instance(s) with role(s) EC2 instance(s) Developer’s  terminalmanages EC2 nodes & Chef repository EC2 server downloads & runs cookbooks required to fulfil role(s) Chef Server running on EC2 + EBS
  • 26. Virtualise!• VirtualBox • Oracle’s  open  source  VM  software,  similar  to  VMWare,  Parallels,  etc. • http://www.virtualbox.org• Vagrant • Ruby gem, adds in useful features on top of VirtualBox • http://vagrantup.com
  • 27. Virtualisation (Development) Vagrant Ruby gem, providesUbuntu 12.04 image VirtualBox useful extensions for Developer’s  MacBook  Air (stored in S3) instance provisioning and configuring
  • 28. Configuration Management (Servers) Librarian-Chef Librarian gem, used  as  a  “Bundler”  for   Chef cookbooks Download cookbooks from remote Developer’s  terminal manages EC2 nodes & Chef repository
  • 29. Configuration Management (Servers) Boot Vagrant instance(s) with role(s) Vagrant Vagrant / VirtualBox Developer’s  terminal instance(s)manages EC2 nodes & Chef repository Chef Solo uses cookbooks in  developer’s Vagrant installs Chef Solo repository and runs cookbooks required to fulfil role(s) Chef Solo running in the VM
  • 30. Results• Sane environments • No voodoo! • No  more  “it  worked  in  development”! • Maintainable • Aspirin budget drastically reduced!
  • 31. AWS Building Blocks• EC2 • Complete control from the OS up • Export AMI images to VMs (Windows only)• S3 • Store & serve cookbooks, VMs, etc• SNS • Notifications on success / failure• EBS • Store & snapshot operational data
  • 32. 6W Dev Blogdev.6wunderkinder.com

×