Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12....
-
Upload
emilie-anselm -
Category
Documents
-
view
108 -
download
2
Transcript of Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12....
Web Apps in der Cloud
Google App EngineMicrosoft Windows Azure
Florian HallbergOliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS
• Fragestellungen• Aspekte der Programmierung• Demo• Gegenüberstellung von zwei Anbietern• Fazit• Fragen
Agenda
• Wie hoch ist der Aufwand für die Migration bestehender Webanwendungen?
• Welche Aspekte müssen bei der Entwicklung beachtet werden?
• Kann Cloud Computing produktiv eingesetzt werden?
• Wie hoch ist der Entwicklungsaufwand im Vergleich zur klassischen Webentwicklung?
Fragestellungen
Skalierbarkeit
Problem: viele gleichzeitige Benutzer
Webserver
Webclients
Load Balancing
Lastverteilung auf mehrere Webserver
Webserver
Webfarm
Load Balancer
+AusfallsicherheitWebclients
Datenspeicherung
Datenspeicherung auf Dateisystem des Webservers ist nicht skalierbar!
Webserver
Webclient
HTML
Dateisystem
Session Handling
Der Inhalt der Usersession kann sich bei jedem HTTP-Request ändern!
Webclient
HTML
Webserver
Webserver
Sessionspeicher
Sessionspeicher
Load Balancer
Lösung: zentraler Sessionspeicher
Session Handling
Webclient
HTML
Load Balancer
Sessionspeicher
Demo
Cloud Share PlaceDemo
Systemüberblick Cloud Share Place
Webclient
HTML
Web Role
WCF Web Role
Blob
Queue
SQL Azure
Worker Role
Gegenüberstellung
VS.
Programmiersprachen
• .NET (C#, VB.NET,...)• PHP• Ruby• Python• Java
• Java• Python
Tools und Entwicklungsumgebung
• Visual Studio 2008• SQL Server 2008• Windows Vista• .NET Framework 3.5• Windows Azure Tools
für Visual Studio inkl. Windows Azure SDK
• Google App Engine SDK für Java
• Java-IDE (Eclipse)
Debugging
• Visual Studio 2008 Debugger
• Development Fabric• Development Storage• Logging
• Nur lokales Debugging
• Logging
Datenspeicherung
• Java Data Objects (JDO)• Java Persistency API (JPA)
Session-Handling
• Nur ASP.NET Custom Session State Mode
• Eigener Provider• Speicherung im Table
und Blob Storage
• Standard-Verfahren nach Servlet-Spezifikation
• Wird automatisch im Datastore persistent gehalten
Load Balancing
Load Balancing
Webservices
• Microsoft Windows Communication Foundation (WCF)
• Keine speziellen APIs, kann aber mit bestehenden SOAP-Java-Frameworks auch auf der App Engine umgesetzt werden
Deployment
Verwaltung
• Deployment aktualisieren
• Dienst herunterfahren• Konfiguration ändern• Deployment entfernen• Produktion und Staging
vertauschen• Dienst löschen
• Versionen verwalten• Logs betrachten• Datastore und
Blobstore untersuchen
• Wie hoch ist der Aufwand für die Migration bestehender Webanwendungen?
• Welche Aspekte müssen bei der Entwicklung beachtet werden?
• Kann Cloud Computing produktiv eingesetzt werden?
• Wie hoch ist der Entwicklungsaufwand im Vergleich zur klassischen Webentwicklung?
Fazit
Fragen?
Fragen