Skalieren einer Web Anwendung
-
Upload
jonathan-weiss -
Category
Technology
-
view
3.606 -
download
1
description
Transcript of Skalieren einer Web Anwendung
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