Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12....

23
Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS

Transcript of Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12....

Page 1: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Web Apps in der Cloud

Google App EngineMicrosoft Windows Azure

Florian HallbergOliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS

Page 2: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

• Fragestellungen• Aspekte der Programmierung• Demo• Gegenüberstellung von zwei Anbietern• Fazit• Fragen

Agenda

Page 3: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

• 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

Page 4: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Skalierbarkeit

Problem: viele gleichzeitige Benutzer

Webserver

Webclients

Page 5: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Load Balancing

Lastverteilung auf mehrere Webserver

Webserver

Webfarm

Load Balancer

+AusfallsicherheitWebclients

Page 6: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Datenspeicherung

Datenspeicherung auf Dateisystem des Webservers ist nicht skalierbar!

Webserver

Webclient

HTML

Dateisystem

Page 7: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Session Handling

Der Inhalt der Usersession kann sich bei jedem HTTP-Request ändern!

Webclient

HTML

Webserver

Webserver

Sessionspeicher

Sessionspeicher

Load Balancer

Page 8: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Lösung: zentraler Sessionspeicher

Session Handling

Webclient

HTML

Load Balancer

Sessionspeicher

Page 9: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Demo

Cloud Share PlaceDemo

Page 10: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Systemüberblick Cloud Share Place

Webclient

HTML

Web Role

WCF Web Role

Blob

Queue

SQL Azure

Worker Role

Page 11: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Gegenüberstellung

VS.

Page 12: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Programmiersprachen

• .NET (C#, VB.NET,...)• PHP• Ruby• Python• Java

• Java• Python

Page 13: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

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)

Page 14: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Debugging

• Visual Studio 2008 Debugger

• Development Fabric• Development Storage• Logging

• Nur lokales Debugging

• Logging

Page 15: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Datenspeicherung

• Java Data Objects (JDO)• Java Persistency API (JPA)

Page 16: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

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

Page 17: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Load Balancing

Page 18: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Load Balancing

Page 19: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Webservices

• Microsoft Windows Communication Foundation (WCF)

• Keine speziellen APIs, kann aber mit bestehenden SOAP-Java-Frameworks auch auf der App Engine umgesetzt werden

Page 20: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Deployment

Page 21: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Verwaltung

• Deployment aktualisieren

• Dienst herunterfahren• Konfiguration ändern• Deployment entfernen• Produktion und Staging

vertauschen• Dienst löschen

• Versionen verwalten• Logs betrachten• Datastore und

Blobstore untersuchen

Page 22: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

• 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

Page 23: Web Apps in der Cloud Google App Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS.

Fragen?

Fragen