Cloud Computing à la Microsoft MICROSOFT WINDOWS AZURE 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 OnDemand-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 Application Compute Config Storage Fabric 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 HTTP / HTTPS IIS IIS Load Balancer Web Role Instance Web Role Instance Agent 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 Worker Role Vergleichbar mit Batch Job Instance oder Windows Service 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-8C65602C266F71C7/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?