SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Drupal 7 auf
Amazon Web Services
Drupal User Group Hamburg
2014-04-07
Sven Paulus
Warum?
Warum Drupal auf Amazon Web Services?
Warum?
Weil Cloud hip ist!
Warum?
Weil man sich mit ein paar Mausklicks ein
komplettes Rechenzentrum zusammenbauen
kann!
Warum?
• Weil Ressourcen unmittelbal bei Bedarf
unmittelbar zugreifbar sind
– keine Vertragsabschlüsse
– keine langen Laufzeiten
– Stunden- bzw. Verbrauchs-bezogene Abrechnung
– keine Wartezeiten bis Bereitstellung
– zeitnahe Kostentransparenz
– für Neunutzer 1 Jahr Nutzung einiger Dienste in
kleinsten Einheiten kostenlos
Warum?
• Und weil sich dadurch extrem schnell
skalieren lässt
– manuell, geplant
– automatisch, nach Bedarf
Warum?
• Weil Amazon verteilte und redundante
Infrastruktur bietet
– Ausfallsicherheit
– Skalierbarkeit
– geographische Nähe zu den Nutzern
Warum? - Regionen
• z.Z. acht globale Standorte (Regionen)
Warum? - Verfügbarkeitszonen
• und an jedem Standort mehrere räumlich
getrennte Rechenzentren (Verfügbarkeitszonen):
– Northern Virginia (us-east-1): vier
– Northern California (us-west-1): zwei
– Oregon (us-west-2): drei
– Ireland (eu-west-1): drei
– Sao Paulo (sa-east-1): zwei
– Tokyo (ap-northeast-1): drei
– Singapore (ap-southeast-1): zwei
– Sydney (ap-southeast-2): zwei
Warum?
• Weil viele komplex zu administrierende
Dienste als Services bereitgestellt werden
– z.B. schnell mal eine Datenbank anstarten, ohne
Installation
– oder Filme transcodieren, ohne vorher passende
Software zu suchen und zu lizensieren
• AWS nimmt Arbeit ab, befreit aber nicht von
der Notwendigkeit, Know-How zu den
einzelnen Services zu haben
Was ist AWS?
• EC2: Virtuelle Server
• S3: Redundanter, skalierbarer Objekt-Storage
• CloudFront: Content Delivery Network (CDN)
• Route 53: Domain Name Services
• Elastic Load Balancing: Lastverteilung
• RDS: Relational Database Services
• Elasticache: Verteilte Caches
• …
Was ist AWS?
• … und vieles mehr …
Wie werden AWS genutzt?
• Viele Funktionen der Webservices sind über
die Management Console steuerbar
Wie werden AWS genutzt?
• Für zig Programmiersprachen stehen fertige
SDKs bereit, ansonsten ist der Zugriff dank
REST auch leicht implementierbar
Wie werden AWS genutzt?
• Für PHP gibt es zwei SDKs:
– das alte 1.x-SDK, sehr gewachsen, für bestehende
Dienste
– moderne 2.x-SDK, Namespaces-basierend,
modular, ordentliches Objektmodell,
zukunftssicher
Dienste im Detail: EC2
• virtuelle Maschinen gibt es in verschiedensten
Größen, je nach Anwendungsfall
– winzig (z.B. Tests und Entwicklung)
– moderat (z.B. als genau skalierbare Server)
– mit viel CPU-Power (z.B. Numbercrunching)
– mit viel IO-Performance (z.B. Datenbanken)
– mit hohem Netzwerkdurchsatz
– und Kombinationen (z.Z. 34 Typen)
Dienste im Detail: EC2
Instanzentyp CPU RAM/GB HD/GB $/h $/mon
t1.micro/Linux 1 0.6 - 0.020 14.40
m1.small/Linux 1 1.7 240 0.044 31.68
m1.large/Linux 2 7.5 840 0.175 126.00
i2.8xlarge/Linux 32 244 6400 (SSD) 6.820 4910.40
m1.large/Windows 2 7.5 840 0.299 215.28
• Instanzen sind jederzeit stopp- und wieder startbar
• Start dauert ca. 5 Minuten
• nur reale Laufzeit wird bezahlt
• alternative Preismodelle:
• für 1 oder 3 Jahre im Voraus buchen (für langfristige Serveraufgaben)
• im Spotmarkt auf freie Instanzen bieten (für Batch-Jobs)
• zu obigen Kosten kommt Traffic
Dienste im Detail: EC2
• Verschiedene Basis-Images verfügbar
– Amazon Linux, Redhat-basierend
– Ubuntu Linux
– RHEL 7, SLES mit Lizenz
– Windows mit Lizenz
– … hunderte "Appliances" im Marketplace
• Login via SSH
• Administration als root wie auf normalem
Server
Dienste im Detail: EC2
• Eine einzelne Instanz kann jederzeit wegfallen
• Software auf Ausfall hin entwerfen
• Daten ausserhalb der Instanz speichern
(EBS/S3/RDS)
• Skalierungsmöglichkeit kann genutzt werden,
um auf "1" zu skalieren -> immer genau ein
Host ist verfügbar, auch wenn mal einer
wegkippt
Dienste im Detail: S3
• S3 ist ein Object Storage (Key-Value)
• S3 ist kein Filesystem, aber Keys können auch
Slashes ('/') enthalten, so sieht es nach außen
wie ein Filesystem aus
• individuelle S3-Instanzen sind Buckets, in
diese passen quasi unbegrenzt Objekte
• S3 kann sowohl als interner Storage für einen
Dienst dienen als auch seine gespeicherten
Inhalte direkt via HTTP ausliefern
Dienste im Detail: S3
• S3 ist lahm (GETs dauern im Schnitt 70msec,
können aber nach oben ausreißen)  für
performante Auslieferung immer ein CDN davor
• S3 wird automatisch über Verfügbarkeitszonen
repliziert
• S3 kann neben Daten an einem Objekt auch
Metadaten speichern, z.B. HTTP-Header, die bei
der Auslieferung via HTTP gesandt werden sollen
- wichtig z.B. für Cache-Parametrisierung
Dienste im Detail: S3
Dienste im Detail: Route 53
• Name Server, auch delegierbar für Zonen und
Subzonen
• Amazon selbst verkauft keine Domains
• Zoneninhalte nicht als Dateien (traditioneller
Nameserver), sondern via Management
Console oder SDK pflegbar, damit leicht
dynamisch updatebar
• Integriert in Amazon-Services-Welt
Dienste im Detail: Route 53
Dienste im Detail: CloudFront
• CloudFront ist ein CDN – ein globales Content
Delivery Network
• aber auch ohne globalen Anteil als
vorgeschalteter HTTP-Cache einsetzbar
– vor EC2-Instanzen
– vor S3-Buckets
• CloudFront kostet nur den Traffic
Drupal und AWS
Und was ist jetzt mit Drupal?
Drupal auf AWS: Use-Case Demo-Site
Szenario:
• Abnahme durch Kunden
• gemeinsame Entwicklung via Internet
Typische Lösung:
• EC2-Micro-Instanz mit allem "an Bord"
(Dateisystem, Datenbank, Storage)
• Bei Bedarf gestartet/gestoppt
• Drupal läuft einfach so "out of the box"
Einschub: Wie fester Hostname bei wechselnder IP?
• Route 53 to the rescue
#! /bin/sh
export AWS_USER=drupal
export AWS_ACCESS_KEY_ID="<IDENTIFIER_DES_SCHLUESSELS>"
export AWS_SECRET_ACCESS_KEY="<GEHEIMER_KEY>"
PUBLIC_IP=`ec2metadata | awk '/^public-ipv4/{print $2}'`
/usr/local/bin/cli53 rrcreate aws.wayforward.de '' A
$PUBLIC_IP --ttl 60 --replace
echo "Updated aws.wayforward.de to $PUBLIC_IP - $?"
echo "$PUBLIC_IP" | mail -s "[AWS] aws.wayforward.de is
now at $PUBLIC_IP" sven@karlsruhe.org
mit https://github.com/barnybug/cli53
Drupal auf AWS: Use-Case Demo-Site
Route 53
EC2-
Instance
Users
Drupal auf AWS: Use-Case Testballon
Szenario:
• Kleine Site, zunächt langsam startend
• Soll durchgehend laufen, aber gff. schnell wieder
gekillt werden
Typische Lösung:
• eine EC2-Instanz mit passendem Profil
• Entweder alles an Bord (Storage auf EBS)
• oder MySQL nach RDS ausgelagert
• mit Auto Scaling sichergestellt, dass permament
online
Drupal auf AWS: Use-Case Testballon
Route 53
EC2-
Instance
Auto scaling Group
Amazon RDS ElastiCache
Users
Drupal auf AWS: Use-Case skalierbare Site
Szenario:
• voll ausgebaute Site mit wechselndem Lastprofil
Typische Lösung:
• dynamische skalierendes Set von EC2-Small-
Instanzen mit vorgeschaltetem LoadBalancer und
CloudFront-CDN
• alle Storage-Dinge auf Services verlagert
– Datenbank: RDS
– Memcache: ElastiCache
– Dateien: S3
Drupal auf AWS: Use-Case skalierbare Site
Route 53
EC2-
Instances
Auto scaling Group
Amazon RDS
ElastiCache
Users
Security Group
Elastic Load
Balancing
CloudFront
Amazon S3
CloudFront
Drupal auf AWS: Storage auf S3
Dateien auf S3?
Aber S3 ist doch kein Dateisystem?
Drupal auf AWS: Storage auf S3
• Zum Glück abstrahiert Drupal 7 intern
Dateizugriffe über StreamWrapper-Klassen
Drupal auf AWS: Storage auf S3
• Und zum Glück hat sich schon jemand die
Arbeit gemacht, einen S3-StreamWrapper zu
bauen:
– https://drupal.org/project/amazons3
– aufbauend auf https://drupal.org/project/awssdk
• dies basiert auf der AWS SDK 1.x for PHP
Drupal auf AWS: Storage auf S3
• Installation ist straight forward:
– ggf. libraries-Modul 2.x installieren
– awssdk-Modul installieren
– unter sites/all/libraries/awssdk das AWS SDK for
PHP ablegen (z.B. in Version 1.6.2)
– amazons3-Modul installieren
– Module aktivieren
– Module konfigurieren
– ???
– PROFIT!!!
Drupal auf AWS: Storage auf S3
• awssdk-Modul konfigurieren
Drupal auf AWS: Storage auf S3
• amazons3-Modul konfigurieren
• In Configuration/Media/File System S3 als
Default-Speicherort wählen
(ach so, die untere Option ist ein Vorgriff um ca. 5 Folien, einfach ignorieren!)
Drupal auf AWS: Storage auf S3
• Lustige
Randgeschichte:
Bilderskalierung
im S3-Stream-
Wrapper
Drupal auf AWS: Storage auf S3
Reicht das? Das war's?
Drupal auf AWS: Storage auf S3
Nein!
Es werden noch immer Dinge ins lokale
Filesystem geschrieben aka hardgecodete
Annahmen in core sind doof.
Drupal auf AWS: Storage auf S3
• public-StreamWrapper umbiegen
– Es gibt einen Patch "Override the public file
stream with S3" für das amazons3-Modul:
https://drupal.org/node/2044509
– Damit landen auch minifyte und combinete CSS-
und JavaScript-Dateien brav auf dem S3
– Existierende Dateien aus sites/default/files
müssen manuell nach S3 übertragen werden!
Drupal auf AWS: Storage auf S3
• Was broken ist:
– nach Umbiegen des public-Streams auf s3
stimmen die relativen Pfade zu aus CSS-
referenzierten Icons nicht mehr (anderer Host),
d.h. die Icons im Admin-Mode sind fehlend
Drupal auf AWS: Storage auf S3
• Was noch unschön ist:
– awssdk-Modul möchte AWS-Key/Secret explizit
konfiguriert, aber besser gäbe man der EC2-
Instanz über Rollen die Servicezugriffsrechte
– awssdk- und amazons3-Module basieren auf der
ältlichen AWS SDK for PHP 1.x, nicht auf der 2.x
– das Umbiegen des public-Streams ist ein Patch auf
das amazons3-Modul
– kein Support für ggf. einen zweiten Bucket für den
private-Stream
Drupal auf AWS: Storage auf S3
• Alternative
– s3fs-Modul, basierend auf AWS SDK 2.x
https://drupal.org/project/s3fs
– Fork von amazons3-Modul, umgearbeitet auf AWS
SDK 2.x
– Verspricht mehr Performance
Zusammenfassung
• Nutzung von AWS kann je nach
Anwendungsfall sinnvoll sein, muss aber nicht
• AWS kann Arbeit abnehmen, nicht aber Know-
How
• Drupal lässt sich auf AWS in verschiedenen
Formen betreiben
Kontakt/Fragen/Kommentare
Sven Paulus
sven@karlsruhe.org

Weitere ähnliche Inhalte

Was ist angesagt?

Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling  am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling  am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von AngrybirdAOE
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Jürg Stuker
 
SimpleDB - Chancen einer Cloud Datenbank
SimpleDB - Chancen einer Cloud DatenbankSimpleDB - Chancen einer Cloud Datenbank
SimpleDB - Chancen einer Cloud DatenbankONE Schweiz
 
Azure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehouseAzure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehousepmOne Analytics GmbH
 
Startups in „Die Höhle der Löwen“ - SEODAY 2016
Startups in „Die Höhle der Löwen“ - SEODAY 2016Startups in „Die Höhle der Löwen“ - SEODAY 2016
Startups in „Die Höhle der Löwen“ - SEODAY 2016Dennis Oderwald
 
Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...
Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...
Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...Univention GmbH
 
Hadoop 2.0 - The Next Level
Hadoop 2.0 - The Next LevelHadoop 2.0 - The Next Level
Hadoop 2.0 - The Next LevelSascha Dittmann
 
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtArbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtAWS Germany
 
Migration einer Sun One Directory Server/Samba 3 Domäne auf UCS
Migration einer Sun One Directory Server/Samba 3 Domäne auf UCSMigration einer Sun One Directory Server/Samba 3 Domäne auf UCS
Migration einer Sun One Directory Server/Samba 3 Domäne auf UCSUnivention GmbH
 

Was ist angesagt? (11)

Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling  am Beispiel von AngrybirdCloud Deployment und (Auto)Scaling  am Beispiel von Angrybird
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
 
Daos
DaosDaos
Daos
 
Top 10 Internet Trends 2005
Top 10 Internet Trends 2005Top 10 Internet Trends 2005
Top 10 Internet Trends 2005
 
SimpleDB - Chancen einer Cloud Datenbank
SimpleDB - Chancen einer Cloud DatenbankSimpleDB - Chancen einer Cloud Datenbank
SimpleDB - Chancen einer Cloud Datenbank
 
Azure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehouseAzure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data Warehouse
 
Startups in „Die Höhle der Löwen“ - SEODAY 2016
Startups in „Die Höhle der Löwen“ - SEODAY 2016Startups in „Die Höhle der Löwen“ - SEODAY 2016
Startups in „Die Höhle der Löwen“ - SEODAY 2016
 
Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...
Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...
Erfahrungsbericht über die Aktualisierung einer Consumer Mailplattform mit UC...
 
Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...
Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...
Platz schaffen auf dem Domino - Compact, Compress, De-Duplicate - Ulrich Krau...
 
Hadoop 2.0 - The Next Level
Hadoop 2.0 - The Next LevelHadoop 2.0 - The Next Level
Hadoop 2.0 - The Next Level
 
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrtArbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
Arbeiten Sie wo Sie wollen – Ihre Daten bleiben zentral und sicher verwahrt
 
Migration einer Sun One Directory Server/Samba 3 Domäne auf UCS
Migration einer Sun One Directory Server/Samba 3 Domäne auf UCSMigration einer Sun One Directory Server/Samba 3 Domäne auf UCS
Migration einer Sun One Directory Server/Samba 3 Domäne auf UCS
 

Andere mochten auch

Finde Den Traumman 1
Finde Den Traumman 1Finde Den Traumman 1
Finde Den Traumman 1Wolle1
 
15 Web 2.0 Tools : einfach, praktisch und schnell
15 Web 2.0 Tools : einfach, praktisch und schnell15 Web 2.0 Tools : einfach, praktisch und schnell
15 Web 2.0 Tools : einfach, praktisch und schnellIsabelle Dremeau
 
Anonymisierte Lehrerdatenauswertun
Anonymisierte LehrerdatenauswertunAnonymisierte Lehrerdatenauswertun
Anonymisierte Lehrerdatenauswertunguest8d0124e
 
Deutsch heute Umfrage1
Deutsch heute Umfrage1Deutsch heute Umfrage1
Deutsch heute Umfrage1carla asquini
 
Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...
Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...
Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...Universität zu Köln
 
Kreativitaet in Teams
Kreativitaet in TeamsKreativitaet in Teams
Kreativitaet in Teamsintegro
 
Das Letzte Foto Www Witzige Pps De
Das Letzte Foto Www Witzige Pps DeDas Letzte Foto Www Witzige Pps De
Das Letzte Foto Www Witzige Pps DeWolle1
 
Helge David MAI-Tagung 2012
Helge David MAI-Tagung 2012Helge David MAI-Tagung 2012
Helge David MAI-Tagung 2012Helge_David
 
Frauamsteuer
FrauamsteuerFrauamsteuer
FrauamsteuerWolle1
 
Das Management des Projektmanagements - Intro by Jan A. Poczynek
Das Management des Projektmanagements - Intro by Jan A. PoczynekDas Management des Projektmanagements - Intro by Jan A. Poczynek
Das Management des Projektmanagements - Intro by Jan A. PoczynekJan A. Poczynek
 
Vortrag Haus der Wirtschaft IHK Karlsruhe
Vortrag Haus der Wirtschaft IHK KarlsruheVortrag Haus der Wirtschaft IHK Karlsruhe
Vortrag Haus der Wirtschaft IHK KarlsruheAndreas Mertens
 
Umfrage Projekt Beruf
Umfrage Projekt BerufUmfrage Projekt Beruf
Umfrage Projekt Berufcarla asquini
 
Nire aurkezpena
Nire aurkezpenaNire aurkezpena
Nire aurkezpenamusikatuz
 

Andere mochten auch (20)

Finde Den Traumman 1
Finde Den Traumman 1Finde Den Traumman 1
Finde Den Traumman 1
 
15 Web 2.0 Tools : einfach, praktisch und schnell
15 Web 2.0 Tools : einfach, praktisch und schnell15 Web 2.0 Tools : einfach, praktisch und schnell
15 Web 2.0 Tools : einfach, praktisch und schnell
 
Anonymisierte Lehrerdatenauswertun
Anonymisierte LehrerdatenauswertunAnonymisierte Lehrerdatenauswertun
Anonymisierte Lehrerdatenauswertun
 
Simmertal Unser Dorf
Simmertal Unser DorfSimmertal Unser Dorf
Simmertal Unser Dorf
 
Deutsch heute Umfrage1
Deutsch heute Umfrage1Deutsch heute Umfrage1
Deutsch heute Umfrage1
 
Vortrag stARTconference
Vortrag stARTconferenceVortrag stARTconference
Vortrag stARTconference
 
Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...
Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...
Paye-"Mit_einem_Maulwerk_seltener_Art_in_beiden_Sprachen_ausgerüstet"?_Franzö...
 
Imagenes
ImagenesImagenes
Imagenes
 
Lehrer
LehrerLehrer
Lehrer
 
Meet Our Pugs
Meet Our PugsMeet Our Pugs
Meet Our Pugs
 
Kreativitaet in Teams
Kreativitaet in TeamsKreativitaet in Teams
Kreativitaet in Teams
 
Das Letzte Foto Www Witzige Pps De
Das Letzte Foto Www Witzige Pps DeDas Letzte Foto Www Witzige Pps De
Das Letzte Foto Www Witzige Pps De
 
Helge David MAI-Tagung 2012
Helge David MAI-Tagung 2012Helge David MAI-Tagung 2012
Helge David MAI-Tagung 2012
 
Frauamsteuer
FrauamsteuerFrauamsteuer
Frauamsteuer
 
Ven-Zelderheide
Ven-ZelderheideVen-Zelderheide
Ven-Zelderheide
 
Das Management des Projektmanagements - Intro by Jan A. Poczynek
Das Management des Projektmanagements - Intro by Jan A. PoczynekDas Management des Projektmanagements - Intro by Jan A. Poczynek
Das Management des Projektmanagements - Intro by Jan A. Poczynek
 
Vortrag Haus der Wirtschaft IHK Karlsruhe
Vortrag Haus der Wirtschaft IHK KarlsruheVortrag Haus der Wirtschaft IHK Karlsruhe
Vortrag Haus der Wirtschaft IHK Karlsruhe
 
Umfrage Projekt Beruf
Umfrage Projekt BerufUmfrage Projekt Beruf
Umfrage Projekt Beruf
 
iAd – Apples next Game Changer?
iAd – Apples next Game Changer?iAd – Apples next Game Changer?
iAd – Apples next Game Changer?
 
Nire aurkezpena
Nire aurkezpenaNire aurkezpena
Nire aurkezpena
 

Ähnlich wie Drupal 7 auf Amazon Web Services

Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...AWS Germany
 
Webinar Windows auf AWS (Deutsch)
Webinar Windows auf AWS (Deutsch)Webinar Windows auf AWS (Deutsch)
Webinar Windows auf AWS (Deutsch)AWS Germany
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft AzureCarola Pantenburg
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
 
Microsoft Azure Platform - System Management v.0.5
Microsoft Azure Platform -  System Management v.0.5 Microsoft Azure Platform -  System Management v.0.5
Microsoft Azure Platform - System Management v.0.5 Oliver Michalski
 
Amazon Lightsail Webinar
Amazon Lightsail WebinarAmazon Lightsail Webinar
Amazon Lightsail WebinarAWS Germany
 
Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS esentri AG
 
papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya
 
Webinar S3 für Fortgeschrittene
Webinar S3 für FortgeschritteneWebinar S3 für Fortgeschrittene
Webinar S3 für FortgeschritteneAWS Germany
 
Blogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk AG
 
Amazon Web Services: Flaggschiff des Cloud Computings
Amazon Web Services: Flaggschiff des Cloud ComputingsAmazon Web Services: Flaggschiff des Cloud Computings
Amazon Web Services: Flaggschiff des Cloud ComputingsLothar Wieske
 
Erweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud ServicesErweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud ServicesAWS Germany
 
Modernes Rechenzentrum - Future Decoded
Modernes Rechenzentrum - Future DecodedModernes Rechenzentrum - Future Decoded
Modernes Rechenzentrum - Future DecodedMicrosoft Österreich
 
Dateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud ComputingDateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud ComputingLothar Wieske
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open SourceDaniel Schneller
 
Devops ohne root
Devops ohne rootDevops ohne root
Devops ohne rootcusy GmbH
 
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau  | anyninesVorlesung - Cloud Infrastrukturen - Clusterbau  | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau | anyninesanynines GmbH
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielAWS Germany
 

Ähnlich wie Drupal 7 auf Amazon Web Services (20)

Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
Webinar Neues von der re:invent 2013 Teil 1: PostgreSQL RDS, CloudTrail, neue...
 
Webinar Windows auf AWS (Deutsch)
Webinar Windows auf AWS (Deutsch)Webinar Windows auf AWS (Deutsch)
Webinar Windows auf AWS (Deutsch)
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep Dive
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Microsoft Azure Platform - System Management v.0.5
Microsoft Azure Platform -  System Management v.0.5 Microsoft Azure Platform -  System Management v.0.5
Microsoft Azure Platform - System Management v.0.5
 
Amazon Lightsail Webinar
Amazon Lightsail WebinarAmazon Lightsail Webinar
Amazon Lightsail Webinar
 
Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS Do´s and Dont´s mit Oracle RDS
Do´s and Dont´s mit Oracle RDS
 
papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010papaya AWS Präsentation CeBIT 2010
papaya AWS Präsentation CeBIT 2010
 
Webinar S3 für Fortgeschrittene
Webinar S3 für FortgeschritteneWebinar S3 für Fortgeschrittene
Webinar S3 für Fortgeschrittene
 
Blogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate WebsiteBlogwerk WordPress für die Corporate Website
Blogwerk WordPress für die Corporate Website
 
Amazon Web Services: Flaggschiff des Cloud Computings
Amazon Web Services: Flaggschiff des Cloud ComputingsAmazon Web Services: Flaggschiff des Cloud Computings
Amazon Web Services: Flaggschiff des Cloud Computings
 
Erweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud ServicesErweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud Services
 
Modernes Rechenzentrum - Future Decoded
Modernes Rechenzentrum - Future DecodedModernes Rechenzentrum - Future Decoded
Modernes Rechenzentrum - Future Decoded
 
Dateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud ComputingDateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud Computing
 
Private Cloud mit Open Source
Private Cloud mit Open SourcePrivate Cloud mit Open Source
Private Cloud mit Open Source
 
Devops ohne root
Devops ohne rootDevops ohne root
Devops ohne root
 
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau  | anyninesVorlesung - Cloud Infrastrukturen - Clusterbau  | anynines
Vorlesung - Cloud Infrastrukturen - Clusterbau | anynines
 
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-GewinnspielSüßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
Süßwarenhersteller und Discounter launchen Webportal für EM 2016-Gewinnspiel
 

Drupal 7 auf Amazon Web Services

  • 1. Drupal 7 auf Amazon Web Services Drupal User Group Hamburg 2014-04-07 Sven Paulus
  • 2. Warum? Warum Drupal auf Amazon Web Services?
  • 4. Warum? Weil man sich mit ein paar Mausklicks ein komplettes Rechenzentrum zusammenbauen kann!
  • 5. Warum? • Weil Ressourcen unmittelbal bei Bedarf unmittelbar zugreifbar sind – keine Vertragsabschlüsse – keine langen Laufzeiten – Stunden- bzw. Verbrauchs-bezogene Abrechnung – keine Wartezeiten bis Bereitstellung – zeitnahe Kostentransparenz – für Neunutzer 1 Jahr Nutzung einiger Dienste in kleinsten Einheiten kostenlos
  • 6. Warum? • Und weil sich dadurch extrem schnell skalieren lässt – manuell, geplant – automatisch, nach Bedarf
  • 7. Warum? • Weil Amazon verteilte und redundante Infrastruktur bietet – Ausfallsicherheit – Skalierbarkeit – geographische Nähe zu den Nutzern
  • 8. Warum? - Regionen • z.Z. acht globale Standorte (Regionen)
  • 9. Warum? - Verfügbarkeitszonen • und an jedem Standort mehrere räumlich getrennte Rechenzentren (Verfügbarkeitszonen): – Northern Virginia (us-east-1): vier – Northern California (us-west-1): zwei – Oregon (us-west-2): drei – Ireland (eu-west-1): drei – Sao Paulo (sa-east-1): zwei – Tokyo (ap-northeast-1): drei – Singapore (ap-southeast-1): zwei – Sydney (ap-southeast-2): zwei
  • 10. Warum? • Weil viele komplex zu administrierende Dienste als Services bereitgestellt werden – z.B. schnell mal eine Datenbank anstarten, ohne Installation – oder Filme transcodieren, ohne vorher passende Software zu suchen und zu lizensieren • AWS nimmt Arbeit ab, befreit aber nicht von der Notwendigkeit, Know-How zu den einzelnen Services zu haben
  • 11. Was ist AWS? • EC2: Virtuelle Server • S3: Redundanter, skalierbarer Objekt-Storage • CloudFront: Content Delivery Network (CDN) • Route 53: Domain Name Services • Elastic Load Balancing: Lastverteilung • RDS: Relational Database Services • Elasticache: Verteilte Caches • …
  • 12. Was ist AWS? • … und vieles mehr …
  • 13. Wie werden AWS genutzt? • Viele Funktionen der Webservices sind über die Management Console steuerbar
  • 14. Wie werden AWS genutzt? • Für zig Programmiersprachen stehen fertige SDKs bereit, ansonsten ist der Zugriff dank REST auch leicht implementierbar
  • 15. Wie werden AWS genutzt? • Für PHP gibt es zwei SDKs: – das alte 1.x-SDK, sehr gewachsen, für bestehende Dienste – moderne 2.x-SDK, Namespaces-basierend, modular, ordentliches Objektmodell, zukunftssicher
  • 16. Dienste im Detail: EC2 • virtuelle Maschinen gibt es in verschiedensten Größen, je nach Anwendungsfall – winzig (z.B. Tests und Entwicklung) – moderat (z.B. als genau skalierbare Server) – mit viel CPU-Power (z.B. Numbercrunching) – mit viel IO-Performance (z.B. Datenbanken) – mit hohem Netzwerkdurchsatz – und Kombinationen (z.Z. 34 Typen)
  • 17. Dienste im Detail: EC2 Instanzentyp CPU RAM/GB HD/GB $/h $/mon t1.micro/Linux 1 0.6 - 0.020 14.40 m1.small/Linux 1 1.7 240 0.044 31.68 m1.large/Linux 2 7.5 840 0.175 126.00 i2.8xlarge/Linux 32 244 6400 (SSD) 6.820 4910.40 m1.large/Windows 2 7.5 840 0.299 215.28 • Instanzen sind jederzeit stopp- und wieder startbar • Start dauert ca. 5 Minuten • nur reale Laufzeit wird bezahlt • alternative Preismodelle: • für 1 oder 3 Jahre im Voraus buchen (für langfristige Serveraufgaben) • im Spotmarkt auf freie Instanzen bieten (für Batch-Jobs) • zu obigen Kosten kommt Traffic
  • 18. Dienste im Detail: EC2 • Verschiedene Basis-Images verfügbar – Amazon Linux, Redhat-basierend – Ubuntu Linux – RHEL 7, SLES mit Lizenz – Windows mit Lizenz – … hunderte "Appliances" im Marketplace • Login via SSH • Administration als root wie auf normalem Server
  • 19. Dienste im Detail: EC2 • Eine einzelne Instanz kann jederzeit wegfallen • Software auf Ausfall hin entwerfen • Daten ausserhalb der Instanz speichern (EBS/S3/RDS) • Skalierungsmöglichkeit kann genutzt werden, um auf "1" zu skalieren -> immer genau ein Host ist verfügbar, auch wenn mal einer wegkippt
  • 20. Dienste im Detail: S3 • S3 ist ein Object Storage (Key-Value) • S3 ist kein Filesystem, aber Keys können auch Slashes ('/') enthalten, so sieht es nach außen wie ein Filesystem aus • individuelle S3-Instanzen sind Buckets, in diese passen quasi unbegrenzt Objekte • S3 kann sowohl als interner Storage für einen Dienst dienen als auch seine gespeicherten Inhalte direkt via HTTP ausliefern
  • 21. Dienste im Detail: S3 • S3 ist lahm (GETs dauern im Schnitt 70msec, können aber nach oben ausreißen)  für performante Auslieferung immer ein CDN davor • S3 wird automatisch über Verfügbarkeitszonen repliziert • S3 kann neben Daten an einem Objekt auch Metadaten speichern, z.B. HTTP-Header, die bei der Auslieferung via HTTP gesandt werden sollen - wichtig z.B. für Cache-Parametrisierung
  • 23. Dienste im Detail: Route 53 • Name Server, auch delegierbar für Zonen und Subzonen • Amazon selbst verkauft keine Domains • Zoneninhalte nicht als Dateien (traditioneller Nameserver), sondern via Management Console oder SDK pflegbar, damit leicht dynamisch updatebar • Integriert in Amazon-Services-Welt
  • 24. Dienste im Detail: Route 53
  • 25. Dienste im Detail: CloudFront • CloudFront ist ein CDN – ein globales Content Delivery Network • aber auch ohne globalen Anteil als vorgeschalteter HTTP-Cache einsetzbar – vor EC2-Instanzen – vor S3-Buckets • CloudFront kostet nur den Traffic
  • 26. Drupal und AWS Und was ist jetzt mit Drupal?
  • 27. Drupal auf AWS: Use-Case Demo-Site Szenario: • Abnahme durch Kunden • gemeinsame Entwicklung via Internet Typische Lösung: • EC2-Micro-Instanz mit allem "an Bord" (Dateisystem, Datenbank, Storage) • Bei Bedarf gestartet/gestoppt • Drupal läuft einfach so "out of the box"
  • 28. Einschub: Wie fester Hostname bei wechselnder IP? • Route 53 to the rescue #! /bin/sh export AWS_USER=drupal export AWS_ACCESS_KEY_ID="<IDENTIFIER_DES_SCHLUESSELS>" export AWS_SECRET_ACCESS_KEY="<GEHEIMER_KEY>" PUBLIC_IP=`ec2metadata | awk '/^public-ipv4/{print $2}'` /usr/local/bin/cli53 rrcreate aws.wayforward.de '' A $PUBLIC_IP --ttl 60 --replace echo "Updated aws.wayforward.de to $PUBLIC_IP - $?" echo "$PUBLIC_IP" | mail -s "[AWS] aws.wayforward.de is now at $PUBLIC_IP" sven@karlsruhe.org mit https://github.com/barnybug/cli53
  • 29. Drupal auf AWS: Use-Case Demo-Site Route 53 EC2- Instance Users
  • 30. Drupal auf AWS: Use-Case Testballon Szenario: • Kleine Site, zunächt langsam startend • Soll durchgehend laufen, aber gff. schnell wieder gekillt werden Typische Lösung: • eine EC2-Instanz mit passendem Profil • Entweder alles an Bord (Storage auf EBS) • oder MySQL nach RDS ausgelagert • mit Auto Scaling sichergestellt, dass permament online
  • 31. Drupal auf AWS: Use-Case Testballon Route 53 EC2- Instance Auto scaling Group Amazon RDS ElastiCache Users
  • 32. Drupal auf AWS: Use-Case skalierbare Site Szenario: • voll ausgebaute Site mit wechselndem Lastprofil Typische Lösung: • dynamische skalierendes Set von EC2-Small- Instanzen mit vorgeschaltetem LoadBalancer und CloudFront-CDN • alle Storage-Dinge auf Services verlagert – Datenbank: RDS – Memcache: ElastiCache – Dateien: S3
  • 33. Drupal auf AWS: Use-Case skalierbare Site Route 53 EC2- Instances Auto scaling Group Amazon RDS ElastiCache Users Security Group Elastic Load Balancing CloudFront Amazon S3 CloudFront
  • 34. Drupal auf AWS: Storage auf S3 Dateien auf S3? Aber S3 ist doch kein Dateisystem?
  • 35. Drupal auf AWS: Storage auf S3 • Zum Glück abstrahiert Drupal 7 intern Dateizugriffe über StreamWrapper-Klassen
  • 36. Drupal auf AWS: Storage auf S3 • Und zum Glück hat sich schon jemand die Arbeit gemacht, einen S3-StreamWrapper zu bauen: – https://drupal.org/project/amazons3 – aufbauend auf https://drupal.org/project/awssdk • dies basiert auf der AWS SDK 1.x for PHP
  • 37. Drupal auf AWS: Storage auf S3 • Installation ist straight forward: – ggf. libraries-Modul 2.x installieren – awssdk-Modul installieren – unter sites/all/libraries/awssdk das AWS SDK for PHP ablegen (z.B. in Version 1.6.2) – amazons3-Modul installieren – Module aktivieren – Module konfigurieren – ??? – PROFIT!!!
  • 38. Drupal auf AWS: Storage auf S3 • awssdk-Modul konfigurieren
  • 39. Drupal auf AWS: Storage auf S3 • amazons3-Modul konfigurieren
  • 40. • In Configuration/Media/File System S3 als Default-Speicherort wählen (ach so, die untere Option ist ein Vorgriff um ca. 5 Folien, einfach ignorieren!)
  • 41. Drupal auf AWS: Storage auf S3 • Lustige Randgeschichte: Bilderskalierung im S3-Stream- Wrapper
  • 42. Drupal auf AWS: Storage auf S3 Reicht das? Das war's?
  • 43. Drupal auf AWS: Storage auf S3 Nein! Es werden noch immer Dinge ins lokale Filesystem geschrieben aka hardgecodete Annahmen in core sind doof.
  • 44. Drupal auf AWS: Storage auf S3 • public-StreamWrapper umbiegen – Es gibt einen Patch "Override the public file stream with S3" für das amazons3-Modul: https://drupal.org/node/2044509 – Damit landen auch minifyte und combinete CSS- und JavaScript-Dateien brav auf dem S3 – Existierende Dateien aus sites/default/files müssen manuell nach S3 übertragen werden!
  • 45. Drupal auf AWS: Storage auf S3 • Was broken ist: – nach Umbiegen des public-Streams auf s3 stimmen die relativen Pfade zu aus CSS- referenzierten Icons nicht mehr (anderer Host), d.h. die Icons im Admin-Mode sind fehlend
  • 46. Drupal auf AWS: Storage auf S3 • Was noch unschön ist: – awssdk-Modul möchte AWS-Key/Secret explizit konfiguriert, aber besser gäbe man der EC2- Instanz über Rollen die Servicezugriffsrechte – awssdk- und amazons3-Module basieren auf der ältlichen AWS SDK for PHP 1.x, nicht auf der 2.x – das Umbiegen des public-Streams ist ein Patch auf das amazons3-Modul – kein Support für ggf. einen zweiten Bucket für den private-Stream
  • 47. Drupal auf AWS: Storage auf S3 • Alternative – s3fs-Modul, basierend auf AWS SDK 2.x https://drupal.org/project/s3fs – Fork von amazons3-Modul, umgearbeitet auf AWS SDK 2.x – Verspricht mehr Performance
  • 48. Zusammenfassung • Nutzung von AWS kann je nach Anwendungsfall sinnvoll sein, muss aber nicht • AWS kann Arbeit abnehmen, nicht aber Know- How • Drupal lässt sich auf AWS in verschiedenen Formen betreiben