Skalieren einer Web Anwendung

Post on 05-Jul-2015

3.605 views 1 download

description

A presenation about scaling web applications with Amazon S3 and EC2, presented at the Linuxtag 2007 in Berlin, Germany

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: kontakt@peritor.com

Telefon: +49 (0)30 69 40 11 94Telefax: +49 (0)30 69 40 11 95

© Peritor Wissensmanagement GmbH