Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Valentin Lorenz Geändert vor über 8 Jahren
1
Rainer Stropek time cockpit / cubido business solutions gmbh rainer@timecockpit.com www.timecockpit.comwww.timecockpit.com, www.cubido.atwww.cubido.at Blauer Himmel – Teil 1 Einführung in Windows Azure
2
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!
3
Flexibel Strom Kühlung Netzwerk Zutritt Hardware Hardware ist spannend Betriebssystem Datenbank Backup Ausfallssicherheit Load Balancing SLAs Daten unter Kontrolle Lizenzen Einnahme- quelle Skalierbarkeit Katastrophen- schutz On-Premise Applikation
4
Flexibel Hardware ist spannend Betriebssystem Datenbank Backup Ausfallssicherheit Load Balancing SLAs Daten unter Kontrolle Lizenzen Einnahme- quelle Skalierbarkeit Hosted Applikation
5
Flexibel Backup SLAs Daten unter Kontrolle Einnahme- quelle Cloud Applikation
6
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
7
Cloud Computing optimal für jeden? Pro Cloud Starke Schwankungen Last/Ressourcen Zukünftige Kapazität schwer abschätzbar Fehlendes Infrastrukturwissen Warum? Pay-Per-Use Elastizität, dynamische Ressourcen Infrastruktur-Outsourcing Starke Schwankungen Last/Ressourcen Zukünftige Kapazität schwer abschätzbar Fehlendes Infrastrukturwissen Warum? Pay-Per-Use Elastizität, dynamische Ressourcen Infrastruktur-Outsourcing Contra Cloud Strenge Datenschutzbedingungen Geringe Kosten bei Ausfall Hohe Preissensitivität Warum? Daten nicht im eigenen Rechenzentrum Daten eventuell nicht im Land Wenig Kontrolle über Infrastruktur Strenge Datenschutzbedingungen Geringe Kosten bei Ausfall Hohe Preissensitivität Warum? Daten nicht im eigenen Rechenzentrum Daten eventuell nicht im Land Wenig Kontrolle über Infrastruktur Auf keinen Fall zusätzliche Option
8
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!
9
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/
10
Windows Azure – Verfügbarkeit N. Central – US Sub-region W. Europe Sub-region S.E. Asia Sub-region E. Asia Sub-region N. Europe Sub-region S. Central - US Sub-region
11
Was braucht eine „Cloud-Plattform“? Zugriff auf Ressourcen/Datenquellen (ADO.NET EF, nHibernate, System.IO...) Anwendungslogik, Geschäftslogik UI (Web)UI (AJAX, RIA, Client) Dienste von anderen Anwendungen und Organisationen TCP/TDS Alles Mögliche HTTP/XML (SOAP, REST…) HTTP/HTML HTTP/XML (SOAP, REST…) Stream
12
Was braucht eine „Cloud-Plattform“? Zugriff auf Ressourcen/Datenquellen (ADO.NET EF, nHibernate, System.IO...) Anwendungslogik, Geschäftslogik UI (Web)UI (AJAX, RIA, Client) Dienste von anderen Anwendungen und Organisationen TCP/TDS Alles Mögliche HTTP/XML (SOAP, REST…) HTTP/HTML HTTP/XML (SOAP, REST…) Stream Storage Rechenleistung (skalierbarer) Store Relationale Datenbank Sichere Integration
13
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
14
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!
15
demodemo Hello World in der DevFabric
16
DevFabrik Local Machine Windows Azure Simulation Environment Development Fabric Development Storage
17
DevStorage einrichten Speicherung in SQL Server Initialisierung mit DSInit Default: SQL Express SQL Server: dsInit /sqlInstance dsInit /sqlInstance.
18
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
19
Cloud Service hinzufügen
20
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!
21
demodemo Windows Azure Umgebung einrichten
22
Azure Testen
23
Windows Azure Management-Portal
24
Windows Azure Portal
25
Deploymentprozess
26
Publish im VS auf Cloudprojekt erstellt Packagefile Configfile Typen von Deployments In-place Upgrade VIP (Virtual IP) Swap Upgrade
27
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!
28
Windows Azure Roles
29
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
30
Warum kein „normales“ Dateisystem? Binärdaten in der Cloud http://yourapp.cloudapp.net
31
Temporäre Dateien (Code, 1/2)
32
Temporäre Dateien (Code, 2/2) var tempPath = string.Empty; if (RoleEnvironment.IsAvailable) { tempPath = RoleEnvironment.GetLocalResource( "TemporaryFiles“).RootPath; } Else { tempPath = @"C:\temp\azuretests"; }
33
Binärdaten in der Cloud Große Binärdaten hierarchisch abgelegt Asynchrone Kommunikation Semistrukturierte Daten hochskalierbar
34
Blob Access (Code) public class CloudTemplateManager : TemplateManager { public override byte[] GetRegistrationConfirmationTemplate() { var blob = this.GetTemplateContainer().GetBlobReference("Anmeldebestaetigung.docx"); return blob.DownloadByteArray(); } public override void SendRegistration(Stream source, System.Guid registrationId) { var targetFileName = string.Format("Anmeldebestaetigung_{0}.docx", registrationId.ToString()); var blob = this.GetTemplateContainer().GetBlobReference(targetFileName); blob.UploadFromStream(source); } private CloudBlobContainer GetTemplateContainer() { CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => { configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); }); var cloudStorageAccount = CloudStorageAccount.FromConfigurationSetting( "BlobStorageConnectionString"); var cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient(); return cloudBlobClient.GetContainerReference("templates"); }
35
Queue Access (Code) CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) => { configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)); }); var storageAccount = CloudStorageAccount.FromConfigurationSetting("BlobStorageConnectionString"); […] var queueStorage = storageAccount.CreateCloudQueueClient(); var queue = queueStorage.GetQueueReference("registrationqueue"); queue.CreateIfNotExist(); while (true) { var msg = queue.GetMessage(TimeSpan.FromSeconds(10)); if (msg != null) { Trace.WriteLine(msg.AsString); […] queue.DeleteMessage(msg); } else { Trace.WriteLine("No message, waiting..."); Thread.Sleep(1000); }
36
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
37
2121 2121 1111 1111 C1C1 C1C1 C2C2 C2C2 Removing Poison Messages 1111 1111 2121 2121 3 3 4040 4040 Producers Consumers P2P2 P2P2 P1P1 P1P1 3030 3030 2. GetMessage(Q, 30 s) msg 2 1. GetMessage(Q, 30 s) msg 1 1111 1111 2121 2121 1010 1010 2020 2020 Quelle: Microsoft PDC
38
C1C1 C 1 C2C2 C2C2 Removing Poison Messages 3 4040 4040 Producers Consumers P2P2 P2P2 P1P1 P1P1 1111 1111 2121 2121 2. GetMessage(Q, 30 s) msg 2 3. C2 consumed msg 2 4. DeleteMessage(Q, msg 2) 7. GetMessage(Q, 30 s) msg 1 1. GetMessage(Q, 30 s) msg 1 5. C 1 crashed 1111 1111 2121 2121 6. msg1 visible 30 s after Dequeue 3030 3030 1212 1212 1111 1111 1212 1212 Quelle: Microsoft PDC
39
C1C1 C1C1 C2C2 C2C2 Removing Poison Messages 3 4040 4040 Producers Consumers P2P2 P2P2 P1P1 P1P1 1212 1212 2. Dequeue(Q, 30 sec) msg 2 3. C2 consumed msg 2 4. Delete(Q, msg 2) 7. Dequeue(Q, 30 sec) msg 1 8. C2 crashed 1. Dequeue(Q, 30 sec) msg 1 5. C 1 crashed 10. C1 restarted 11. Dequeue(Q, 30 sec) msg 1 12. DequeueCount > 2 13. Delete (Q, msg1) 1212 1212 6. msg1 visible 30s after Dequeue 9. msg1 visible 30s after Dequeue 3030 3030 1313 1313 1212 1212 1313 1313 Quelle: Microsoft PDC
40
Konfigurationsinformationen
41
Konfiguration des Service XML Dateien Schema siehe MSDN http://msdn.microsoft.com/en- us/library/dd179398.aspx http://msdn.microsoft.com/en- us/library/dd179398.aspx
42
Konfigurationdaten lesen (Code) public static HelfenHelfenEventsEntities Create() { var connectionString = string.Empty; if (RoleEnvironment.IsAvailable) { connectionString = RoleEnvironment.GetConfigurationSettingValue( "ConnectionString"); } else { connectionString = ConfigurationManager.ConnectionStrings[ "HelfenHelfenEventsEntities"].ConnectionString; } return new HelfenHelfenEventsEntities(connectionString); }
43
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!
44
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.
45
SQL Azure
46
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
47
Servermanagement Über das Portal Server Admin-User Firewall Über T-SQL ( master -Datenbank) Firewall sys.firewall_rules, sys.sp_set_firewall_rule, sys.sp_delete_firewall_rule Logins Create/Drop Databases Portal Master DB User DB
48
SQL Azure Hinweise: Un-supported features: http://msdn.microsoft.com/en-us/library/ee336250.aspx http://msdn.microsoft.com/en-us/library/ee336250.aspx ASP.NET Membership Updated Scripts: http://support.microsoft.com/kb/2006191 http://support.microsoft.com/kb/2006191 Tipp: Mit SQL Management Studio 2008 kein Object Explorer, nur Query Window Mit SQL 2008 R2 CTP auch Object Explorer
49
Security SQL Authentifizierung Beispiel: Neuer Benutzer über T-SQL -- connect to master with admin create login newUser with password = 'xaz' -- connect to db with admin where user should be granted rights create user newUser from login newUser -- grant rights (here: schema permissions) grant SELECT, INSERT, … ON schema :: to newUser User
50
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 http://blogs.msdn.com/sqlazure/archive/2010/02/17/9965464.aspx
51
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
52
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!
53
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 € 0,1064/GB pro Monat € 0,0071/10.000 Trn. Web Edition Max. 1 GB/DB € 7,085/DB Business Edition Max. 10 GB/DB € 70,913/DB 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/
54
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
55
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!!!
56
Q&A Unterstützt Azure.NET 4.0? Verstößt man bei Nutzung von Azure gegen ein Datenschutzgesetz? Update Kann unmanaged Code ausgeführt werden? Welche Programmiersprachen werden unterstützt? Welche Plattformen außer.NET werden noch unterstützt? Wie funktioniert Backup? Von der Public zur Private Cloud …
57
Ressourcen Angebote, Preise, SLA, TCO http://www.microsoft.com/windowsazure/offers/ http://www.microsoft.com/windowsazure/sla/ http://www.microsoft.com/windowsazure/tco Entwicklungsumgebung http://go.microsoft.com/fwlink/?LinkID=128752 http://go.microsoft.com/fwlink/?LinkID=168920&clcid=0x409 http://go.microsoft.com/fwlink/?LinkID=129448 Wichtige Werkzeuge http://code.msdn.microsoft.com/windowsazuremmc http://cloudberrylab.com/default.aspx?page=explorer-azure Azure Training Kit http://go.microsoft.com/fwlink/?LinkID=130354
58
Azure – Ihre Entwickler-Maschine Windows Azure Tools für Visual Studio http://go.microsoft.com/fwlink/?LinkID=128752 SQL Azure Sync Framework PowerPack http://go.microsoft.com/fwlink/?LinkID=168920&clcid=0x409 AppFabric SDK http://go.microsoft.com/fwlink/?LinkID=129448 Windows Azure Management Console http://code.msdn.microsoft.com/windowsazuremmc Azure Tutorial auf codefest.atcodefest.at http://www.codefest.at/?tag=/azure+tutorial
59
Rainer Stropek time cockpit / cubido business solutions gmbh rainer@timecockpit.com www.timecockpit.comwww.timecockpit.com, www.cubido.atwww.cubido.at Danke für Ihre Aufmerksamkeit und viel Spaß in der Cloud
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.