• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Skalieren von Rails Anwendungen mit Amazon S3 und EC2
 

Skalieren von Rails Anwendungen mit Amazon S3 und EC2

on

  • 5,733 views

A talk on how to leverage Amazon S3 and EC2 for your Rails applications. Presented at the German Rails Konferenz 2007 in Frankfurt, Germany.

A talk on how to leverage Amazon S3 and EC2 for your Rails applications. Presented at the German Rails Konferenz 2007 in Frankfurt, Germany.

Statistics

Views

Total Views
5,733
Views on SlideShare
5,606
Embed Views
127

Actions

Likes
4
Downloads
10
Comments
0

3 Embeds 127

http://blog.innerewut.de 122
http://www.slideshare.net 3
http://www.planetrubyonrails.org 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Skalieren von Rails Anwendungen mit Amazon S3 und EC2 Skalieren von Rails Anwendungen mit Amazon S3 und EC2 Presentation Transcript

    • Skalieren von Rails Anwendungen mit Amazon S3 und EC2 Jonathan Weiss, Peritor Wissensmanagement GmbH 22.06.2007, Rails Konferenz
    • Ausgangslage Eine Maschine: • Apache • Ruby / Rails • MySQL 2
    • Worst Case Popularität 3
    • Steiniger Weg 4
    • Problem: Backup • Hochverfügbar • Redundant • Große Datenmengen 5
    • Problem: File System • Wichtige Dateien müssen allen Systemen zugänglich sein • NFS / Samba unpraktikable Lösungen 6
    • Problem: Plötzliche Lastspitzen 7
    • Problem: Ungleichmäßige Belastung 8
    • Don‘t reinvent the wheel! 9
    • Amazon Web Services Simple Storage Service - S3 Elastic Compute Cloud - EC2 E-Commerce S.. Redundanter Speicherplatz Virtueller Server pro Stunde ……. $0,15 per GB Speicherplatz $0,10 pro CPU Stunde $0,10 - $0,20 pro GB Traffic $0,10 - $0,20 pro GB Traffic 10
    • S3 - Simple Storage Service • Beliebig viel redundanter, hochverfügbarer Speicherplatz • max. 5 GB pro Datei • Organisiert in „Buckets“ • Upload über Web Service API • Abruf über • Web Service • HTTP / HTTPS • BitTorrent 11
    • S3 - Buckets S3 • Unique über ganz S3 • Enthalten beliebig MyBucket_name www.peritor.com viele Key-Value-Metadata Tupel foto_5.jpg /site/screen.css • Enthalten keine Buckets! /backups/januar.tgz /site/script.js • Key kann „/“ enthalten /fotos/2007/001.png FreeBSD-6.2.iso 12
    • S3 mit AWS::S3 Upload Download 13
    • EC2 - Elastic Compute Cloud • XEN basiert • (Beliebig) viele virtuelle Server steuerbar über Web Service • 1,7 GHz • 1,75 GB RAM • 160 GB lokaler Speicherplatz (nicht persistent!) • Einsatz der Linux Distribution der Wahl (Linux 2.6.16), Verwaltung der Amazon Machine Images (AMI) auf S3 • ACLs regeln Zugriff auf Hosts / Ports 14
    • EC2 Tools Verfügbare Images auflisten Neue Instanz starten Einloggen per SSH Instanz beenden 15
    • Und jetzt? Wie löse ich meine Probleme damit? 16
    • S3 - Backup • s3sync.rb • S3Browser • Brackup • Firefox S3 Organizer extension • Jungle Disk •… • S3 FUSE • s3DAV • Duplicity 17
    • s3sync.rb Backup Restore 18
    • S3 als asset host 19
    • S3 als asset host Setup DNS Setup Rails Konfiguration 20
    • S3 als asset host welcome.rhtml Template Output 21
    • S3 - User Data Speicher 22
    • attachment_fu Rails plugin Setup 23
    • attachment_fu Rails plugin Upload Download 24
    • On-Demand Computing mit EC2 Zeitgesteuert, z.B. mit cron 25
    • On-Demand Computing mit EC2 Lastgesteuert, z.B. mit Monit 26
    • On-Demand Computing mit EC2 27
    • Load Balancer / Proxy Am Beispiel mod_proxy_blancer: • Ansprechen von multiplen Backend- Servern (Mongrel) • Zentrale Proxy/Load-Balancer Konfiguration mit Wissen über Nodes • Typischerweise Neustart des Proxy bei Veränderung der Backend-Server 28
    • Swiftiply Swiftiply Proxy: • Multiple Backend-Clients verbinden sich persistent zum Backendport • Proxy nimmt Anfragen über Clusterport entgegen und verteilt sie auf verbundene Clients Keine Re-Konfiguration nötig 29
    • Swiftiply Proxy Installation Konfiguration Start 30
    • Swiftiplied Mongrel • Gem plugin um Mongrel zu patchen • Wandelt Mongrel in Swiftiply-Client um • Noch experimentell Start oder 31
    • EC2 on Demand vor Swiftiply 32
    • EC2 on Demand mit Swiftiply 33
    • EC2 on Demand mit Swiftiply 34
    • Ressourcen • Amazon Web Services http://aws.amazon.com • Swiftiply http://swiftiply.swiftcore.org • Attachment_fu http://svn.techno-weenie.net/projects/plugins/attachment_fu/ • Elastic Rails http://www.elasticrails.com • Capazon http://capazon.rubyforge.org • RightScale http://www.rightscale.com • WeoCEO http://weoceo.weogeo.com/ 35
    • Peritor Wissensmanagement GmbH Lenbachstraße 2 12157 Berlin Internet: www.peritor.com Telefon: +49 (0)30 69 40 11 94 E-Mail: kontakt@peritor.com Telefax: +49 (0)30 69 40 11 95 © Peritor Wissensmanagement GmbH - Alle Rechte vorbehalten 36
    • jobs@peritor.com 37