230 likes | 363 Views
Web Apps in der Cloud. Google App Engine Microsoft Windows Azure. Florian Hallberg Oliver Gugger. Seminararbeit KIV, FFHS. 12. Juni 2010. Agenda. Fragestellungen Aspekte der Programmierung Demo Gegenüberstellung von zwei Anbietern Fazit Fragen. Fragestellungen.
E N D
Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger Seminararbeit KIV, FFHS 12. Juni 2010
Agenda • Fragestellungen • Aspekte der Programmierung • Demo • Gegenüberstellung von zwei Anbietern • Fazit • Fragen
Fragestellungen • 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?
Skalierbarkeit Problem: viele gleichzeitige Benutzer Webserver Webclients
LoadBalancing Lastverteilung auf mehrere Webserver Webfarm LoadBalancer +Ausfallsicherheit Webserver Webclients
Datenspeicherung Webserver Datenspeicherung auf Dateisystem des Webservers ist nicht skalierbar! Webclient Dateisystem HTML
Session Handling Webserver Webserver Der Inhalt der Usersession kann sich bei jedem HTTP-Request ändern! Webclient Sessionspeicher LoadBalancer HTML Sessionspeicher
Session Handling Lösung: zentraler Sessionspeicher Webclient Sessionspeicher LoadBalancer HTML
Demo Cloud Share Place Demo
Systemüberblick Cloud Share Place Web Role WCF Web Role Worker Role Webclient Blob Queue SQL Azure HTML
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 Datastorepersistent gehalten
Webservices • Microsoft Windows Communication Foundation (WCF) • Keine speziellen APIs, kann aber mit bestehenden SOAP-Java-Frameworks auch auf der App Engine umgesetzt werden
Verwaltung • Deployment aktualisieren • Dienst herunterfahren • Konfiguration ändern • Deployment entfernen • Produktion und Staging vertauschen • Dienst löschen • Versionen verwalten • Logs betrachten • Datastore und Blobstore untersuchen
Fazit • 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?
Fragen Fragen?