 
                                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?