Blauer Himmel – Teil 1 Einführung in Windows Azure Rainer Stropek time cockpit / cubido business solutions gmbh [email protected] www.timecockpit.com, www.cubido.at Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! On-Premise Lizenzen Einnahmequelle Netzwerk Flexibel Zutritt Hardware ist spannend SLAs Daten unter Kontrolle Skalierbarkeit Applikation Hardware Kühlung Datenbank Ausfallssicherheit Load Balancing Backup Betriebssystem Strom Katastrophenschutz Hosted Lizenzen Einnahmequelle Flexibel Hardware ist spannend SLAs Daten unter Kontrolle Skalierbarkeit Applikation Datenbank Ausfallssicherheit Load Balancing Backup Betriebssystem Cloud Einnahmequelle Flexibel SLAs Daten unter Kontrolle Applikation Backup Arten von Cloud Computing • Infrastructure as a Service (IaaS) • Mieten einer virtuellen Maschine + grundlegender Services • Netzwerk, Hardware, etc. abstrahiert • Platform as a Service (PaaS) • Mieten von Rechenkapazitäten für auszuführende Anwendungen • Sogar die virtuellen Maschinen sind abstrahiert • Software as a Service (SaaS) • Zugang zu einer fertigen Anwendung mieten Cloud Computing optimal für jeden? Auf keinen Fall zusätzliche Option Pro Cloud Contra Cloud Starke Schwankungen Last/Ressourcen Strenge Datenschutzbedingungen Zukünftige Kapazität schwer abschätzbar Geringe Kosten bei Ausfall Fehlendes Infrastrukturwissen Hohe Preissensitivität Warum? Pay-Per-Use Elastizität, dynamische Ressourcen Infrastruktur-Outsourcing Warum? • Daten nicht im eigenen Rechenzentrum • Daten eventuell nicht im Land • Wenig Kontrolle über Infrastruktur Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! Windows Azure-Plattform Power Usage Efficiency (PUE): 1.22 2.500 Server/Container Ca. 400.000 Server/Container-Farm Austausch bei ca. 60% Ausfall / Container http://news.cnet.com/8301-10805_3-10020902-75.html http://www.datacenterknowledge.com/inside-microsofts-chicago-data-center/microsoft-chicago-center-aisle-container/ http://www.datacenterknowledge.com/inside-microsofts-dublin-mega-data-center/microsofts-dublin-data-center-server-pods/ Windows Azure – Verfügbarkeit N. Central – US Sub-region N. Europe Sub-region W. Europe Sub-region S. Central - US Sub-region E. Asia Sub-region S.E. Asia Sub-region Was braucht eine „Cloud-Plattform“? UI (Web) HTTP/HTML UI (AJAX, RIA, Client) HTTP/XML (SOAP, REST…) Anwendungslogik, Geschäftslogik Alles Mögliche Zugriff auf Ressourcen/Datenquellen (ADO.NET EF, nHibernate, System.IO...) TCP/TDS Stream HTTP/XML (SOAP, REST…) Dienste von anderen Anwendungen und Organisationen Was braucht eine „Cloud-Plattform“? UI (Web) HTTP/HTML UI (AJAX, RIA, Client) HTTP/XML (SOAP, REST…) Anwendungslogik, Geschäftslogik Alles Mögliche Rechenleistung Zugriff auf Ressourcen/Datenquellen (ADO.NET EF, nHibernate, System.IO...) TCP/TDS Relationale Datenbank Stream (skalierbarer) Store Storage HTTP/XML (SOAP, REST…) Dienste von anderen Anwendungen und Organisationen Sichere Integration Azure – Ihre Entwickler-Maschine Windows Azure Tools für Visual Studio (inkl. SDK) • Enthält lokale Simulationsumgebung • Developer Fabric, kurz DevFabric Windows 7, Windows Server 2008, Windows Vista mit SP1 installiert IIS 7.x mit ASP.NET, WCF HTTP, CGI Microsoft Visual Studio • Visual Studio 2008 mit SP1 • Visual Web Developer 2008 Express mit SP1 • Visual Studio 2010 SQL Server 2005 Express Edition oder höher Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! Hello World in der DevFabric demo DevFabrik Local Machine Windows Azure Simulation Environment Development Fabric Development Storage Unterschied DevFabrik / Azure • DevFabrik • Debugging möglich • Zugriff auf lokale Ressourcen des Computer (z.B. GAC, Filesystem, SQL Server, etc.) • Logging im DevFabrik UI sichtbar • Azure • App läuft nicht als Admin • Änderung der Anzahl an Instanzen oder Servicerestart möglich Cloud Service hinzufügen Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! Windows Azure Umgebung einrichten demo Azure Testen Windows Azure Management-Portal Windows Azure Portal Deploymentprozess Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! Windows Azure Roles > > > > > > > > > > > > Rollen • Mind. eine Rolle pro Service • Web Role • IIS 7, ASP.NET • Ein HTTP und/oder ein HTTPS Endpoint (siehe .csdef-Datei) • Worker Role • Hintergrundverarbeitung • Beliebige Anzahl an HTTP, HTTPS und/oder TCP Endpoints Binärdaten in der Cloud Warum kein „normales“ Dateisystem? http://yourapp.cloudapp.net Binärdaten in der Cloud Asynchrone Kommunikation Große Binärdaten hierarchisch abgelegt Semistrukturierte Daten hochskalierbar Aufteilung in Web und Worker Komplexe, lang laufende Prozesse in den Hintergrund verlagern • Sollte die Web-Anwendung nicht blockieren Lösung: Worker Role im Hintergrund • Bei uns: Generiert und verschickt Dokumente Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! SQL Azure – Datenbank in der Cloud SQL Server-Datenbank in der Cloud • Gewohnter Zugriff über Tabular Data Stream Höchst ausfallsicher im Microsoft Datacenter • Immer 3 Replika einer DB vorhanden • Aber max. Größe 10 GB, Transaktionsdauer < 5 Min. SQL Azure SQL Azure Load Balancer • Grundlegende Firewallfunktionen • Erste Hürde für potentielle Angreifer • Ordnet TDS Sitzung einem Gateway-Knoten zu Gateway-Schicht • • • • Proxy- und Firewallfunktionen Verstehen TDS Statefull Packet Inspection Umleiten gewisser T-SQL Kommandos (z.B. CREATE DATABASE) Data Store • Spezielle Version von SQL Server 2008 Connections • Latenzzeiten berücksichtigen • Connections können abbrechen • • • • Idle Lange Transaktionen „Throttling“ DB Failover • Achtung: Seit SP1 neue Rahmenbedingungen • Siehe SQL Azure Team Blog http://blogs.msdn.com/sqlazure/archive/2010/02/17/9965464.aspx Empfehlungen aus der Praxis • Kurze Transaktionen • Connection Pooling • Connections nicht lange offen halten • Reconnect-Logik • Z.B. 10 Sekunden warten, erneut probieren • Batching • Anzahl Statements reduzieren • Parametrisierte Queries verwenden • Volle Angabe aller Parameter (inkl. Längenangaben) • Sharding (=Aufteilen der Daten auf mehrere DBs/Server) • Replizieren (=Kopieren der Daten auf mehrere DBs/Server) • Schemas für Multi Tenancy Systeme Agenda Cloud – ist doch einfach nur Hosting, oder? Die Windows Azure Cloud Hello World – lokale Entwicklungsumgebung Windows Azure einrichten Architektur von Anwendungen in Windows Azure SQL Azure Call to Action! Windows Azure-Plattform – Preise Instanz (Web/Worker) pro Stunde • • • • Kleine VM – € 0,0852 Mittlere VM – € 0,1703 Große VM – € 0,3405 Extragroße VM – € 0,6809 Blob/Queue/Table-Speicher Web Edition • Max. 1 GB/DB • € 7,085/DB Business Edition • Max. 10 GB/DB • € 70,913/DB • € 0,1064/GB pro Monat • € 0,0071/10.000 Trn. Datentransfer: € 0,071/GB eingehend, € 0,1064/GB ausgehend http://www.microsoft.com/windowsazure/offers/ http://www.microsoft.com/windowsazure/sla/ http://www.microsoft.com/windowsazure/tco/ Zusammenfassung Cloud Computing – eine weitere Option • Starke Last/Ressourcen-Schwankungen • Unvorhersehbare Ressourcen-Entwicklungen Windows Azure-Plattform • Die Cloud-Plattform von Microsoft • Rechenleistung, Storage, RDBMS, Integration • Teilweise oder komplett verwendbar Nächste Schritte Holen Sie sich den Windows Azure-SDK Richten Sie Ihre Entwickler-Maschine ein Machen Sie sich mit SLA und Preisen vertraut Probieren Sie es einfach aus • Windows Azure Introductionary Offer (bis Juli 2010) • • • • 25 Stunden Instanz-Betrieb pro Monat gratis 1 x 1 GB SQL Azure-Datenbank pro Monat gratis 500 MB Blob/Table/Queue Storage pro Monat gratis Achtung: nach Test alles löschen – Sonst beginnt die Verrechnung bei Überschreiten!!! Danke für Ihre Aufmerksamkeit und viel Spaß in der Cloud Rainer Stropek time cockpit / cubido business solutions gmbh [email protected] www.timecockpit.com, www.cubido.at