Upload
jonathan-weiss
View
3.610
Download
1
Embed Size (px)
DESCRIPTION
A presenation about scaling web applications with Amazon S3 and EC2, presented at the Linuxtag 2007 in Berlin, Germany
Citation preview
WissensmanagementsystemPeritor Minea
Skalieren einer Web Anwendung
mit Amazon S3 und EC2
Jonathan Weiss, Peritor Wissensmanagement GmbH
2
Ausgangslage
Eine Maschine:
• Apache
• Ruby / Perl / PHP / Java
• MySQL
3
Worst Case Popularität
4
Steiniger Weg
5
Problem: Backup
• Hochverfügbar
• Redundant
• Große Datenmengen
6
Problem: File System
• Wichtige Dateien müssen allen Systemen zugänglich sein
• NFS / Samba unpraktikable Lösungen
7
Problem: Plötzliche Lastspitzen
8
Problem: UngleichmäßigeBelastung
9
Don‘t reinvent the wheel!
10
Amazon Web Services
Simple Storage Service - S3
Redundanter Speicherplatz
$0,15 per GB Speicherplatz
$0,10 - $0,20 per GB Traffic
Virtueller Server pro Stunde
$0,10 pro CPU Stunde
$0,10 - $0,20 pro GB Traffic
Elastic Compute Cloud - EC2
…….
E-Commerce S..
11
S3 - Simple Storage Service
• Beliebig viel redundanter, hochverfügbarer Speicherplatz
• max. 2GB pro Datei
• Organisiert in „Buckets“
• Upload über Web Service API
• Abruf über
• Web Service
• HTTP / HTTPS
• BitTorrent
12
S3 - Buckets
• Unique über ganz S3
• Enthalten beliebigviele Key-Value-Metadata Tupel
• Enthalten keine Buckets!
• Key kann „/“ enthalten
MyBucket_name
S3
foto_5.jpg
/backups/januar.tgz
/fotos/2007/001.png
www.peritor.com
/site/screen.css
/site/script.js
FreeBSD-6.2.iso
13
S3 mit AWS::S3 (Ruby)Upload
Download
14
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
15
EC2 ToolsVerfügbare Images auflisten
Neue Instanz starten
Einloggen per SSH
Instanz beenden
16
Und jetzt?
Wie löse ich meineProbleme damit?
17
S3 - Backup
• s3sync.rb
• Brackup
• Jungle Disk
• S3 FUSE
• s3DAV
• Duplicity
• S3Browser
• Firefox S3 Organizer extension
• …
18
s3sync.rb
Backup
Restore
19
S3 als asset host
20
S3 als asset host
Setup DNS
Setup Rails Konfiguration
21
S3 als asset host
welcome.rhtml Template
Output
22
S3 - User Data Speicher
23
attachment_fu Rails plugin
Setup
24
attachment_fu Rails plugin
Upload
Download
25
On-Demand Computing mit EC2
Zeitgesteuert, z.B. mit cron
26
On-Demand Computing mit EC2
Lastgesteuert, z.B. mit Monit
27
On-Demand Computing mit EC2
28
EC2 Helfer
Capazon / Elastic Rails
WeoCEO
29
EC2 Helfer
Rightscale
30
Ressourcen
• Amazon Web Serviceshttp://aws.amazon.com
• s3sync.rbhttp://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz
• Attachment_fuhttp://svn.techno-weenie.net/projects/plugins/attachment_fu/
• Elastic Railshttp://www.elasticrails.com
• Capazonhttp://capazon.rubyforge.org
• RightScalehttp://www.rightscale.com
• WeoCEOhttp://weoceo.weogeo.com/
31
Internet: www.peritor.comE-Mail: [email protected]
Telefon: +49 (0)30 69 40 11 94Telefax: +49 (0)30 69 40 11 95
© Peritor Wissensmanagement GmbH