+ All Categories
Home > Technology > Skalieren einer Web Anwendung

Skalieren einer Web Anwendung

Date post: 05-Jul-2015
Category:
Upload: jonathan-weiss
View: 3,605 times
Download: 1 times
Share this document with a friend
Description:
A presenation about scaling web applications with Amazon S3 and EC2, presented at the Linuxtag 2007 in Berlin, Germany
31
Wissensmanagementsystem Peritor Minea Skalieren einer Web Anwendung mit Amazon S3 und EC2 Jonathan Weiss, Peritor Wissensmanagement GmbH
Transcript
Page 1: Skalieren einer Web Anwendung

WissensmanagementsystemPeritor Minea

Skalieren einer Web Anwendung

mit Amazon S3 und EC2

Jonathan Weiss, Peritor Wissensmanagement GmbH

Page 2: Skalieren einer Web Anwendung

2

Ausgangslage

Eine Maschine:

• Apache

• Ruby / Perl / PHP / Java

• MySQL

Page 3: Skalieren einer Web Anwendung

3

Worst Case Popularität

Page 4: Skalieren einer Web Anwendung

4

Steiniger Weg

Page 5: Skalieren einer Web Anwendung

5

Problem: Backup

• Hochverfügbar

• Redundant

• Große Datenmengen

Page 6: Skalieren einer Web Anwendung

6

Problem: File System

• Wichtige Dateien müssen allen Systemen zugänglich sein

• NFS / Samba unpraktikable Lösungen

Page 7: Skalieren einer Web Anwendung

7

Problem: Plötzliche Lastspitzen

Page 8: Skalieren einer Web Anwendung

8

Problem: UngleichmäßigeBelastung

Page 9: Skalieren einer Web Anwendung

9

Don‘t reinvent the wheel!

Page 10: Skalieren einer Web Anwendung

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..

Page 11: Skalieren einer Web Anwendung

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

Page 12: Skalieren einer Web Anwendung

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

Page 13: Skalieren einer Web Anwendung

13

S3 mit AWS::S3 (Ruby)Upload

Download

Page 14: Skalieren einer Web Anwendung

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

Page 15: Skalieren einer Web Anwendung

15

EC2 ToolsVerfügbare Images auflisten

Neue Instanz starten

Einloggen per SSH

Instanz beenden

Page 16: Skalieren einer Web Anwendung

16

Und jetzt?

Wie löse ich meineProbleme damit?

Page 17: Skalieren einer Web Anwendung

17

S3 - Backup

• s3sync.rb

• Brackup

• Jungle Disk

• S3 FUSE

• s3DAV

• Duplicity

• S3Browser

• Firefox S3 Organizer extension

• …

Page 18: Skalieren einer Web Anwendung

18

s3sync.rb

Backup

Restore

Page 19: Skalieren einer Web Anwendung

19

S3 als asset host

Page 20: Skalieren einer Web Anwendung

20

S3 als asset host

Setup DNS

Setup Rails Konfiguration

Page 21: Skalieren einer Web Anwendung

21

S3 als asset host

welcome.rhtml Template

Output

Page 22: Skalieren einer Web Anwendung

22

S3 - User Data Speicher

Page 23: Skalieren einer Web Anwendung

23

attachment_fu Rails plugin

Setup

Page 24: Skalieren einer Web Anwendung

24

attachment_fu Rails plugin

Upload

Download

Page 25: Skalieren einer Web Anwendung

25

On-Demand Computing mit EC2

Zeitgesteuert, z.B. mit cron

Page 26: Skalieren einer Web Anwendung

26

On-Demand Computing mit EC2

Lastgesteuert, z.B. mit Monit

Page 27: Skalieren einer Web Anwendung

27

On-Demand Computing mit EC2

Page 28: Skalieren einer Web Anwendung

28

EC2 Helfer

Capazon / Elastic Rails

WeoCEO

Page 29: Skalieren einer Web Anwendung

29

EC2 Helfer

Rightscale

Page 30: Skalieren einer Web Anwendung

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/

Page 31: Skalieren einer Web Anwendung

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


Recommended