Cloud Computing à la Microsoft Karim El Jed – netcreate OHG
Cloud Computing à la Microsoft
Karim El Jed – netcreate OHG
Agenda
Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen
Was ist Cloud Computing?
?
Was ist Cloud Computing?
Was ist Cloud Computing?
Definition bei Wikipedia: „Cloud Computing umfasst On-Demand
Infrastruktur (Rechner, Speicher, Netze) und On-Demand-Software (Betriebssysteme, Anwendungen, Middleware, Management- und Entwicklungs-Tools), die jeweils dynamisch an die Erfordernisse von Geschäftsprozessen angepasst werden. Dazu gehört auch die Fähigkeit, komplette Prozesse zu betreiben und zu managen.“
Cloud Computing
Vorteile Teilweise erhebliche Kosteneinsparung Bessere Kostenkontrolle Einfaches Deployment Hohe Skalierbarkeit Hohe Zuverlässigkeit Hohe Sicherheit Keine Wartung & Updates Flexibilität
Cloud Computing
Nachteile Keine alleinige Kontrolle über die
eigenen Daten Rechtsicherheit bei der
Datenspeicherung Schnelle Internetverbindung notwendig Kein Datenzugriff bei Internet-Störung Abhängigkeit zum Anbieter
Windows Azure Data Center MS Data Center in Chicago
~220 Container ~2.000 Server / Container ~440.000 Server / Data Center
*Alle Angaben ohne Gewähr*
Agenda
Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen
Anwendungsszenarien
Start-Ups: Beispiel Social Community Problem:
Keine vorhersehbare Wachstumgeschwindigkeit
Fehlende Investoren für Hard- und Software Nutzen:
Geringe Anfangskosten für Infrastruktur Geringe Kosten für Betrieb und Wartung Konzentration auf Kernaufgaben Durch Skalierbarkeit schnelles Wachstum
möglich
Anwendungsszenarien
Software-as-a-Service (SaaS) Beispiel Online-Shop
Skalierbarkeit On-Demand zu Weihnachten
Storage Services Auslagerung von großen Datenmengen Daten sind von überall aus erreichbar Langsamerer Zugriff, dafür aber
günstiger skalierbarer zuverlässiger
Agenda
Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen
Microsoft Azure Platform
Platform as a Service (PaaS) Laufzeitumgebung für Entwickler Versteckt zugrundeliegende Infrastruktur
physikalische / virtuelle Maschinen Storage Netzwerk
Zugriff auf Infrastruktur nur über Schnittstellen
Windows Server 2008 & Internet Information Services (IIS) 7 Ermöglicht Anwendungen in .NET, PHP und
Native Code Wartung erfolgt durch die PaaS-Plattform
automatisch
Microsoft Azure Platform
AppFabric
Windows Azure
Compute
Fabric
Storage
Application
Config
Windows Azure
Azure - Fabric
Fabric Controller Steuert alle Ressourcen
Computer, Switches, Load Balancer, … Repliziert auf 5-7 Maschinen Kommuniziert mit Fabric Agents
Azure - Fabric
Fabric Controller Aufgaben Monitoring aller laufenden Applikationen Verteilung der Applikationen auf
physikalische Rechner XML-Konfigurations Datei der Anwendung
Patching der Windows Server 2008 Systeme
Azure – Compute Service
Azure Applikationen können mehrere Instanzen haben
1 Instanz = 1 Virtuelle Maschine (VM) 1 VM = 1 Web Role oder 1 Worker
Role
Azure – Compute Service
Web Role Instance Erreichbar über HTTP/HTTPS ASP.NET, WCF, PHP, … Keine feste Zuordnung Instance
User
Load Balancer
Web Role
Instance
IIS
Agent
HTTP / HTTPS Web
Role Instanc
e
IIS
Agent
Azure – Compute Service
Worker Role Instance Kein IIS Nicht erreichbar von außen (Netzwerk) Kann von sich aus Kontakt mit der
Außenwelt aufnehmen Kann über Queue mit Daten/Aufgaben
versorgt werden Vergleichbar mit Batch Job
oder Windows Service
Worker Role
Instance
Agent
Azure – Compute Service
Fabric Agent Bietet der Web/Worker Instance eine
simple API zur Interaktion mit der Fabric Logging Alerts …
Azure – Storage
Speichern von Daten in Blobs
bis zu 50 GB Metadaten möglich
Tabellen KEINE relationalen Tabellen, sondern Objekte mit
Eigenschaften Speicherung von mehreren Terrabytes möglich Zugriff via ADO.NET Services oder LINQ möglich
Warteschlangen (Queues) Kommunikation zwischen Web und Worker Role
Zugriff auf Daten per HTTP/HTTPS (REST) Alle Daten werden 3-fach repliziert
SQL Azure
„SQL Server in the cloud“ (Relationale) Tabellen Indexe Sichten Trigger …
Kosten fallen ebenfalls nur für den tatsächlichen „Verbrauch“ an
Kein Wartungsaufwand Logdateien, Speicherplatz, …
Reporting Services und Analysis Services sind in Planung
AppFabric
Für Azure und Windows Server erhältlich
„Application Server“ Erstellen, Skalieren und Managen von
(Azure-) Anwendungen Caching Workflow Management Service Management
(Momentane) Komponenten Service Bus Access Control
AppFabric – Service Bus
Verbinden von Windows Azure Anwendungen und SQL Azure Datenbanken mit bestehenden Anwendungen und Datenbanken
Überbrückung interner und externer Anwendungen
Komposition von Anwendungen
AppFabric – Service Bus
AppFabric – Access Control Erstellung von Benutzerkonten ,
basierend auf existierenden Standard Identity Management Systemen , wie z.B. Active Directory
Management der Zugriffsrechte von Benutzern und Gruppen innerhalb der eigenen Anwendung
Wiederverwendung der Sicherheitseinstellungen auf dem Service Bus
AppFabric – Access Control
Microsoft Azure Platform
AppFabric
Windows Azure - Preise
Compute: $0.12 / hour (~ $85 / month) ~ 1,7 GHz, 2 GB Ram, Single-Core Storage: $0.15 / GB stored / month Abrechnung Tagesgenau Storage transactions: $0.01 / 10K Read / Add / Update / Delete Data transfers: $0.10 in / $0.15 out / GB Asien: $0.30 in / $0.45 out / GB
Quelle: http://www.microsoft.com/windowsazure/pricing/
Windows Azure – Pro & Kontra Hängt vom jeweiligem Einsatzgebiet ab Meine Top 3
Pro .NET Gewohnte Entwicklungswerkzeuge & -Methoden Auswahl des Standortes des Datencenters soll
möglich sein Kontra
Ständige Internetverbindung nötig (Momentan) keine komplette Verlagerung der
Anwendung In-House möglich Abhängigkeit zu Microsoft
Agenda
Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen
Google App Engine
Platform as a Service (PaaS) Eigene Webanwendungen in Java oder
Python Storage
Database Datastore APIs Services
URL Fetch Mail Memcache Image Manipulation
Amazon Elastic Compute Cloud Infrastructure as a Service (IaaS)
Erlaubt das Hochladen eigener virtueller XEN Maschinen
Instanzierung und Managing über API Storage
Simple Storage Service (S3) Webservicebasierter Datenspeicher
SimpleDB Simple Queue Service (SQS)
Webservice für Kommunikation zwischen Anwendungen/Komponenten
Quellen
Windows Azure http://www.microsoft.com/windowsazure/
David Chapell – Introducing the Azure Services Platform http://download.microsoft.com/download/F/C/B/
FCB07D64-7D1F-4776-8C65-602C266F71C7/Introducing_Azure_Services_Platform_v1.pdf
Google App Engine http://code.google.com/intl/de-DE/appengine/
Amazon Elastic Compute Cloud http://aws.amazon.com/ec2/
Video - Was ist Cloud Computing? http://www.youtube.com/watch?v=xJCOzUk76GQ
Vielen Dank
Fragen?