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?

PPT - Karim El Jed