Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Skalieren einer Web Anwendung

4,011 views

Published on

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

Published in: Technology
  • Be the first to comment

Skalieren einer Web Anwendung

  1. 1. Skalieren einer Web Anwendung mit Amazon S3 und EC2 Wissensmanagementsystem Peritor Minea Jonathan Weiss, Peritor Wissensmanagement GmbH
  2. 2. Ausgangslage Eine Maschine: • Apache • Ruby / Perl / PHP / Java • MySQL 2
  3. 3. Worst Case Popularität 3
  4. 4. Steiniger Weg 4
  5. 5. Problem: Backup • Hochverfügbar • Redundant • Große Datenmengen 5
  6. 6. Problem: File System • Wichtige Dateien müssen allen Systemen zugänglich sein • NFS / Samba unpraktikable Lösungen 6
  7. 7. Problem: Plötzliche Lastspitzen 7
  8. 8. Problem: Ungleichmäßige Belastung 8
  9. 9. Don‘t reinvent the wheel! 9
  10. 10. 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 per GB Traffic $0,10 - $0,20 pro GB Traffic 10
  11. 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 11
  12. 12. 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
  13. 13. S3 mit AWS::S3 (Ruby) Upload Download 13
  14. 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 14
  15. 15. EC2 Tools Verfügbare Images auflisten Neue Instanz starten Einloggen per SSH Instanz beenden 15
  16. 16. Und jetzt? Wie löse ich meine Probleme damit? 16
  17. 17. S3 - Backup • s3sync.rb • S3Browser • Brackup • Firefox S3 Organizer extension • Jungle Disk •… • S3 FUSE • s3DAV • Duplicity 17
  18. 18. s3sync.rb Backup Restore 18
  19. 19. S3 als asset host 19
  20. 20. S3 als asset host Setup DNS Setup Rails Konfiguration 20
  21. 21. S3 als asset host welcome.rhtml Template Output 21
  22. 22. S3 - User Data Speicher 22
  23. 23. attachment_fu Rails plugin Setup 23
  24. 24. attachment_fu Rails plugin Upload Download 24
  25. 25. On-Demand Computing mit EC2 Zeitgesteuert, z.B. mit cron 25
  26. 26. On-Demand Computing mit EC2 Lastgesteuert, z.B. mit Monit 26
  27. 27. On-Demand Computing mit EC2 27
  28. 28. EC2 Helfer Capazon / Elastic Rails WeoCEO 28
  29. 29. EC2 Helfer Rightscale 29
  30. 30. Ressourcen • Amazon Web Services http://aws.amazon.com • s3sync.rb http://s3.amazonaws.com/ServEdge_pub/s3sync/s3sync.tar.gz • 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/ 30
  31. 31. Internet: www.peritor.com E-Mail: kontakt@peritor.com Telefon: +49 (0)30 69 40 11 94 Telefax: +49 (0)30 69 40 11 95 © Peritor Wissensmanagement GmbH 31

×