Funktionsweise und Architektur der Amazon Cloud

Transcription

Funktionsweise und Architektur der Amazon Cloud
Funktionsweise und Architektur
der Amazon Cloud
Sven Ramuschkat
Wer ist Amazon Web Services?
Amazon ist der weltgrößte
Online Händler
Amazon betreibt auf
seiner Plattform auch B2B,
so dass andere
Unternehmen Amazons
Online Plattform bis hin zu
Distributionsressourcen
nutzen können.
Seit 2006 existiert
Amazon AWS als 100%
Tochtergesellschaft der
Amazon Inc.
Entstanden ist die Idee
aus den umfangreichen
Erfahrungen mit
Amazon.com und dem
eigenen Bedarf.
Wer ist tecRacer?
tecRacer, mit Sitz in Hannover, Deutschland, ist 2006 als Spin-Off der Herrlich &
Ramuschkat GmbH entstanden und beschäftigt 30 Mitarbeiter.
tecRacer verfügt über langjährige Erfahrungen im Bereich von webbasierten
Softwareentwicklungsprojekten auf Basis agiler Methoden für Unternehmen
wie Volkswagen, Deutsche Telekom, B.Braun, Grundfos und Faurecia.
Als autorisierter Amazon Web Services Solution Provider bietet tecRacer seit
2011 seinen Kunden Consulting, Training, Development und Managed Hosting
für Projekte in der Amazon Cloud an.
Was ist Cloud Computing
Cloud Computing ist eine Dienstleistung, die Ihnen Zugriff auf von Experten gemanagte
Technologieressourcen gibt.
Der Zugriff erfolgt über das Internet oder VPN, es gibt keine Investitionskosten, sondern
Ressourcen wie z.B. virtuelle Server, Datenbanken oder Speicherdienste werden nur nach in
Anspruchnahme abgerechnet.
Cloud Computing
Infrastructure as a Servce (Iaas)
Bedarfsorientiere Bereitstellung von Hardware- oder hardware-nahen ITRessourcen nach dem Konzept von Everything as a Service (EaaS). Diese ITRessourcen sind oft durch Hardware-Virtualisierung von der physikalischen
Hardware auf der sie betrieben werden entkoppelt.
• Amazon AWS EC2, VPC, S3, etc.
Platform as a Service (PaaS)
Unter PaaS versteht man den Ansatz, eine integrierte Laufzeit- (und evtl. auch
Entwicklungs-) -umgebung als einen Dienst zur Verfügung zu stellen, für den der
Nutzer on demand zahlen muss.
• Amazon AWS ElasticBeanstalk (TomCat, PHP, .NET, Phyton)
• Zahlreiche Drittanbieter wie z.B. Scalarium auf Basis von Amazon AWS
Wie kann mein Unternehmen
von der Amazon Cloud profitieren?
Cloud Computing Vorteile
Elastizität
Die Serverleistung passt sich perfekt den gerade
aktuellen Bedürfnissen an.
Sowohl was Rechenleistung, Storage und Bandbreite
betrifft.
Elastizität
6.00 Uhr
Elastizität
10.00 Uhr
25% Einsparung
Web Server
Elastizität
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Uhrzeit
Beispiel einer Wallstreet-Anwendung
3000 CPU’s for one firm’s risk management processes
Number of EC2 Instances
3000 -
300 CPU‘s on
weekends
300 -
Wednesday
4/22/2009
Thursday
4/23/2009
Friday
4/24/2009
Saturday
4/25/2009
Sunday
4/26/2009
Monday
4/27/2009
Tuesday
4/28/2009
Amazon S3 Wachstum
Wie groß ist Amazon AWS?
This was calculated by Huan Liu in his Blog , not Amazon AWS official!
Amazon actually has 1.982.384 IP4 Adressen in their Pool.
Data center
# of server racks
# of blade servers
US East (Virginia)
5,030
321,920
US West (Oregon)
41
2,624
US West (N. California)
630
40,320
EU West (Ireland)
814
52,096
AP Northeast (Japan)
314
20,096
AP Southeast (Singapore)
246
15,744
SA East (Sao Paulo)
25
1,600
Total
7,100
454,400
Amazon AWS
Building Blocks
AWS Plattform Überblick
AWS Globale Infrastruktur
Amazon AWS Regionen
Zur Zeit existieren 8 Amazon Rechenzentren (AWS Regions) in unterschiedlichen Regionen der Welt.
Bei jeder Amazon AWS Ressource kann ausschließlich durch den Kunden entschieden werden, wo diese verwendet
bzw. gespeichert wird.
Deutsche Kunden nutzen in der Regel das Rechenzentrum in Irland, das europäischem Recht
unterliegt.
Amazon AWS Availability Zones
Jedes Amazon Rechenzentrum (AWS Region) besteht
aus mindestens einer Availability Zone
Availability Zones sind eigenständige Unter-Standorte
die so entwickelt wurden, dass sie von Fehlern in
anderen Availability Zones isoliert sind (unabhängige
Strom- und Datenversorgung).
Bestimmte AWS Ressourcen wie z.B. Datenbank-Dienste
(RDS) oder Speicherdienste (S3) replizieren Ihre Daten
automatisch innerhalb der AWS Region auf die
unterschiedlichen Availability Zones.
Amazon AWS verfügt über entsprechende Zertifizierungen wie ISO27001 und hat ein umfassendes
Sicherheitskonzept für den Betrieb seiner Rechenzentrum implementiert.
Mehr Infos dazu finden Sie hier: http://aws.amazon.com/de/security/
www.yourApp.com
Multi-AZ Szenario
media.yourApp.com
(Static data)
Amazon Route 53
Hosted Zone
Elastic Load
Balancer mit Multi-AZ
Amazon SES
Email
EC2
Web
Server
EC2
Web
Server
EC2
Web
Server
EC2
Web
Server
Auto Scaling Group
SES ist ein sehr
kostengünstiger
SMTP-Service
Availability Zone
Assets
Amazon S3
Bucket
S3 ist stets
Multi-AZ
redundant
Availability Zone
MySQL RDS ist ein von
Amazon gemanagter MultiAZ Cluster
AWS weltweite Verteilung von Daten
Mit Amazon CloudFront können Sie Ihre statischen/dynamischen Inhalte und Streaming-Inhalte über ein globales
Netzwerk aus Edge-Standorten bereitstellen. Anfragen für Ihre Objekte werden automatisch an den nächsten
Edge-Standort durchgeleitet, sodass die Bereitstellung der Inhalte mit der bestmöglichen Leistung erfolgt.
AWS Network Services
Amazon VPS
Amazon VPS
AWS Compute Services
Amazon Elastic Compute Cloud (EC2)
 EC2 = Virtual Machine
 Amazon EC2: on-demand compute power
 Obtain and boot new server instances in minutes
 Quickly scale capacity up or down
 Servers from $0.02 (2 cents) per hour
 On Demand, Reserved, and Spot Pricing
 Key features:
 Support for Windows, Linux, FreeBSD, and OpenSolaris
 Supports all major web and application platforms
 Deploy across Availability Zones for reliability
 monitors status and usage
Amazon EC2
Eine EC2 Compute Unit (ECU) bietet die
entsprechende CPU-Kapazität eines 1,0- bis 1,2-GHzOpteron- oder -Xeon-Prozessors von 2007
Amazon EC2 Architektur
Amazon
Machine
Image (AMI)
Region
Availability Zone
EC2 Instance
CloudWatch
Ephemeral
Storage
Elastic
Block
Storage
Security Group(s)
Amazon S3
Auto Scaling
Elastic IP Address
Load Balancing
EBS
Snapshot
EBS
Snapshot
Amazon EC2
Amazon EC2 Instanz Preise
Viele Kunden nutzen das Konzept der Reserved Instances überhaupt nicht und
verzichten damit auf große Kosteneinsparungen …
Durch einen entsprechenden Rabattplan und einer Vorauszahlung lassen
sich bei den EC2 Instanzen bis zu 70% an Kosten sparen!
AWS Storage Services
Amazon Elastic Block Store (EBS)
 EBS Volumes werden als Laufwerk jeweils einer EC2 Instanz
zugewiesen.
 1 GB bis 1 TB per Volume
• EBS-Volumes sind gut geeignet für Boot-Volumes und Anwendungen
mit einem moderaten I/O Bedarf.
• Amazon EBS-Volumes schaffen im
Durchschnitt ungefähr 100 IOPS.
• Normale PC Festplatten mit 7.200 RPM
schaffen ungefähr 75 – 100 IOPS
• PC Festplatten mit 15.000 RPM liegen
ungefähr bei 175 bis 210 IOS.
Elastic Block Store (EBS) mit provisioned IOPS
 Ab sofort stellt Amazon AWS zusätzlich “Provisioned IOPS for EBS
Volumes” zur Verfügung.
 Dies sind spezielle EBS-Volumes, bei denen man die IOPS-Anzahl die
man benötigt, entsprechend definiert. Im Augenblick werden bis
zu 1.000 IOPS (für 16K Blöcke) angeboten.
 Somit sind diese neuen High-Speed EBS-Volumes super geeignet für
jegliche Form von Datenbanken …
• 200 GB EBS Volume mit 1.000 IOPS kostet:
• ($0.11 pro provisioned IOPS-Month * 1000 IOPS Provisioned ) + 200
GB * $0.138 = $137,60 im Monat.
• ein vergleichbares normales EBS-Volume würde $25 bis $30 je nach
Anzahl der Millionen I/Os im Monat kosten.
• Somit lohnen sich diese neuen High-Speed EBS-Volumes wirklich
nur für sehr performance kritische Anwendungen!
EBS Snapshots werden auf S3 gespeichert
Amazon Simple Storage Service (S3)
Bei Amazon S3 handelt es sich um einen mehrfach redundanten Speicher für das
Internet.
Objekte werden auf mehreren Geräten an mehreren Standorten einer Amazon S3
Region redundant gespeichert. Um die Beständigkeit zu gewährleisten, speichert
Amazon die Daten mittels S3 PUT- und COPY-Operationen synchron an mehreren
Standorten, bevor SUCCESS gemeldet wird.
Amazon Simple Storage Service (S3)
Amazon Simple Storage Service (S3)
Amazon Glacier für Langzeit-Archivierung
• Pro Gigabyte gespeicherter Daten verlangt Amazon je nach AWS-Region
zwischen 1 und 1,2 US-Cent im Monat
• Die Daten werden wie bei S3 multiredundant gespeichert, Amazon spricht von
einer Verfügbarkeit von 99.999999999%
• Innerhalb von Glacier sind die Daten mit 256-AES verschlüsselt, wobei Amazon
die Schlüssel selbst verwaltet
• Der Upload von Daten erfolgt über ein eigenes API bzw. über Tools von
Drittherstellen wie z.B. http://fastglacier.com/, wie bei Amazon AWS üblich, ist
der Traffic für eingehende Daten kostenlos
• Der Abruf der Daten ist allerdings nicht wie bei S3 sofort möglich, sondern es
muss ein Request für den Download erfolgen, innerhalb von 3-4 Stunden wird
dann ein Download-Link zu den Daten bereitgestellt. Der Download kostet,
sofern er ein definiertes Limit überschreitet extra Geld. Somit reduziert sich das
Einsatzszenario von Glacier auf Daten, die langfristig dauerhaft archiviert
werden müssen und nur gelegentlich abgerufen werden müssen.
Amazon Glacier für Langzeit-Archivierung
AWS Database Services
Amazon Relational Database Service (RDS)
 Amazon RDS = MySQL, Oracle 11g und SQLServer 2008R2
gemanagte Datenbanken
 Dieser Dienst stellt kosteneffiziente und individuell anpassbare
Kapazitäten zur Verfügung und erledigt gleichzeitig zeitraubende
Datenbank-Verwaltungsaufgaben, sodass Sie sich stärker auf Ihre
Anwendungen und Ihr Unternehmen konzentrieren können.
 Multi-AZ-Bereitstellung – mit der Sie die Datenbankverfügbarkeit
steigern und gleichzeitig Ihre jüngsten Datenbank-Updates gegen
ungeplante Ausfälle schützen können. Wenn Sie Ihre DB-Instance
zur Ausführung als Multi-AZ-Bereitstellung erstellen oder
modifizieren, erzeugt und wartet Amazon RDS automatisch
synchron eine "Standby"-Replika in einer anderen Availability Zone
Amazon Relational Database Service (RDS)
Viele Kunden nutzen das Konzept der Reserved Instances überhaupt nicht und
verzichten damit auf große Kosteneinsparungen …
Durch einen entsprechenden Rabattplan und einer Vorauszahlung lassen
sich bei den RDS Instanzen bis zu 70% an Kosten sparen!
AWS App Services
AWS App Services
AWS App Services
AWS Deployment & Administration
Wie wird Amazon AWS gesteuert und bedient?
Sofern erlaubt,
Windows RDP
oder Linux SSH Zugang
Zu Ihren Servern
Browser basierte Administration
Amazon AWS = Rechenzentrum mit einer API
API Zugriff oder Command Line
Gibt es in Amazon AWS ein User-Management
mit Rechteverwaltung?
Im Rahmen des (kostenlosen) Moduls
Amazon AWS IAM können User, Gruppen
und Rollen definiert werden.
Einem User können dort eigene AccessKeys, Zertifikate und auch ein MultiFactor Authentication Device (Apps
Mobile-Devices existieren) zugeordnet
werden .
Usern, Gruppen und Rollen können dann
dediziert Zugriffsrechte auf
entsprechende Amazon AWS Ressourcen
gewährt werden.
Können AWS Ressourcen Kostenstellen
zugeordnet werden?
•
•
Ab sofort bietet Amazon AWS über Tagging von Amazon AWS Ressourcen
Kostenstellenstellen Support an.
Über Tagging lann man den AWS Ressourcen beliebige Tags vergeben, also Kostenstelle,
Projekt, etc. … es ist dabei somit notwendig, ein eigenes sinnvolles Konzept für das Tagging
zu haben. Anschließend muss in den Stammdaten des Amazon AWS Accounts noch der Cost
Allocation Report mit den entsprechenden Tags aktiviert werden.
Platform as a Service (PaaS) mit ElasticBeanstalk
• Einfaches Deployment und Managen von Applikationen in AWS
• Du:
• Erstellen und Uploaden der Anwendung (Jar, Zip, Git)
• Elastic Beanstalk:
• Capacity provisioning (EC2)
• App Deployment
• Load balancing (ELB)
• Auto-scaling (Auto Scaling)
• Application health monitoring (CloudWatch)
Platform as a Service (PaaS) mit ElasticBeanstalk
Mit Elastic Beanstalk erhalten Entwickler volle Kontrolle über die AWS-Ressourcen hinter
Ihren Anwendungen. Somit können zahlreiche Funktionen ausgeführt werden, indem
einfach die Standardkonfiguration der Elastic Beanstalk Management Console geändert
wird. So z. B.:





Auswahl des passenden Amazon EC2-Instance-Typs, der zu den Anforderungen von
CPU und Speicher der jeweiligen Anwendung passt
Auswahl aus mehreren verfügbaren Datenbanken und Speicheroptionen wie Amazon
RDS
Erhöhung der Anwendungszuverlässigkeit durch den Betrieb in mehr als einer
Availability Zone
Anpassung der Anwendungsserver-Einstellungen (z. B. JVM-Einstellungen) und
Übermitteln der Umgebungsvariablen
Anpassung der Auto Scaling-Einstellungen zur Steuerung der Metriken und
Schwellenwerte, die verwendet werden, um festzulegen, wann Instances aus einer
Umgebung hinzugefügt oder entfernt werden sollen
AWS Elastic Beanstalk - Environments
PHP / Phyton
.NET
•
•
•
•
•
AWS SDK for .NET
Visual Studio Toolkit
Microsoft Web Deploy
Upload ZIP
Microsoft Windows + IIS
•
•
•
•
•
AWS SDK for PHP
Existing dev tools
Git-based deployment
GIT PUSH
Linux + Apache
Java
•
•
•
•
AWS SDK for Java
Eclipse Toolkit
Upload WAR file
Linux + Tomcat + Apache
Fragen …
http://www.aws-blog.de
http://www.tecracer.de
Ihr Ansprechpartner: Herr Sven Ramuschkat
Haben Sie Fragen?
Gerne stehe ich Ihnen unter +49 (0) 511-59095-942 telefonisch
zur Verfügung, oder senden Sie mir eine Email
an [email protected]