Your SlideShare is downloading. ×
0
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
Rails in the Cloud
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

Rails in the Cloud

2,668

Published on

Overview of how to manage deployments and clusters in the Amazon cloud. Introduction into Chef. Presented by Jonathan Weiss at RailsCamp DE in Cologne.

Overview of how to manage deployments and clusters in the Amazon cloud. Introduction into Chef. Presented by Jonathan Weiss at RailsCamp DE in Cologne.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,668
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
32
Comments
0
Likes
3
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. Rails in the Cloud Lessons learned from building a platform on EC2 Jonathan Weiss 04.07.2010
  2. Who am I? Working for Peritor in Berlin, Germany Written, maintain, or involved in   Webistrano   Capistrano   SimplyStored   Happening   The great fire of London http://github.com/jweiss @jweiss 2
  3. Scalarium EC2 Cluster Management   Auto-Config   Self-Healing   Auto-Scaling   One-click-deployment www.scalarium.com 3
  4. 4
  5. Amazon Elastic Compute Cloud Virtual Server via API call Pay per hour Different instance types in different regions 5
  6. EC2 Features Spot instances Elastic IP Elastic Load Balancing CloudWatch Auto Scaling Virtual Private Cloud  Elastic Block Storage 6
  7. Running on EC2 Setting up a Rails app 7
  8. Running on EC2 Steps to complete   Choose region and availability zone   Define architecture   Choose instance types and AMI   Boot & configure instances   Deploy application   …   Profit 8
  9. Region and Availability Zone Regions   Individual EC2 installations   Multiple datacenters a.k.a availability zones   Small differences in pricing   US-east gets features first Availability Zone   Datacenter of instances & volumes   Differently named for different accounts   Traffic within the same zone is free   Different Instance type availability 9
  10. Existing Availability Zones US-EAST-1 US-WEST-1 EU-WEST-1 AP-SOUTHEAST-1   us-east-1a   us-west-1a   eu-west-1a   ap-southeast-1a   us-east-1b   us-west-1b   eu-west-1b   ap-southeast-1b   us-east-1c   us-east-1d 10
  11. Single AZ Deployment Most common and simple setup Not very different from typical Rails setup 11
  12. Multi AZ Deployment 12
  13. Architecture 13
  14. Architecture 14
  15. Architecture 15
  16. Elastic IP   Static, public IP in contrast to instance IP   Associate to any instance (2-5min)   Paying when not in use   Use for DNS of load balancer 16
  17. Elastic Block Store EBS   Network based block device: 1GB – 1TB   Persistent & redundant   Can be used by one instance at a time   Incremental Snapshots   RAID for better performance 17
  18. Elastic Load Balancer ELB   Managed Load Balancer   Auto-Scales via Round Robin DNS   Can start/stop instances   Slower and not as flexible as instance + HAProxy The only way to scale past 1 Gbit/s! 18
  19. Relational Data Store RDS   Managed MySQL instance   Choose instance size, pay ~ 30% premium   Hot-Failover replication available   Define a 4h maintenance window   Better performance than single EBS- backed instance 19
  20. Instance Types Hourly Cost Monthly Cost RAM Cores x ECU Arch (US-East) (US-East) Standard Small 1.7 GB 1x1 32bit $0.085 $62 Large 7.5 GB 2x2 64bit $0.34 $248 Extra Large 15 GB 4x2 64bit $0.68 $496 High-Memory Extra Large 17.1 GB 2 x 3.25 64bit $0.50 $366 Double Extra Large 34.2 GB 4 x 3.25 64bit $1.20 $878 Quadruple Extra Large 68.4 GB 8 x 3.25 64bit $2.40 $1756 High-CPU Medium 1.7 GB 2 x 2.5 32bit $0.17 $124 Extra Large 7 GB 8 x 2.5 64bit $0.68 $496 1 ECU = 1.0 – 1.2 GHz Opteron/Xeon from 2007 20
  21. Recommendation Start with   Small for load balancer   Medium for App server   Large for DB server Grow to   XL-HighCPU for load balancer   XL-HighCPU for App server   XL-HighMemory for DB server 21
  22. Reserved Instances Pay amount upfront and you get: Hourly price ~ 33% Guaranteed availability 24/7 instance cost: ~ 55% Recommended! 22
  23. Running on EC2 Steps to complete  Choose region and availability zone  Define architecture  Choose instance types   Boot & configure instances   Deploy application   …   Profit 23
  24. Instance Configuration From blank Linux to your Rails app server 24
  25. Instance Bootstrap 2 Approaches Images Scripted   One image for every server type   One image to rule them all   All software pre-installed   Smallest common denominator   Few moving parts   Acquires configuration on start   Fast boot   Installs & configures during boot process to fit role   All parts moving   Slower boot 25
  26. Instance Bootstrap 2 Approaches Images Scripted   One image for every server type   One image to rule them all   All software pre-installed   Smallest common denominator   Few moving parts   Acquires configuration on start   Fast boot   Installs & configures during boot process to fit role   All parts moving   Slow boot 26
  27. Chef Open Source Provisioning Tool   Configures your servers   Cookbooks & recipes   Ruby DSL 27
  28. Chef 28
  29. Chef Solo 29
  30. MemcachedSolo 30
  31. Chef Solo Run Configuration JSON Run Chef Solo 31
  32. Deploying Deploy resource   Compatible with Capistrano layout   Supports Capistrano hooks via deploy/hook_name.rb   Async! 32
  33. Chef Experiences Great so far, but   Not idempotent   Unintuitive 2 phases   Documentation could be better   Example Cookbooks often so so 33
  34. Running on EC2 Steps to complete  Choose region and availability zone  Define architecture  Choose instance types  Boot & configure instances  Deploy application   …   Profit 34
  35. Q&A Peritor GmbH Blücherstr. 22, Hof III Aufgang 6 10961 Berlin Tel.: +49 (0)30 69 20 09 84 0 Fax: +49 (0)30 69 20 09 84 9 Internet: www.peritor.com E-Mail: info@peritor.com © Peritor GmbH - Alle Rechte vorbehalten

×