23
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 Engine Microsoft Windows Azure Florian Hallberg Oliver Gugger 12. Juni 2010 Seminararbeit KIV, FFHS

Embed Size (px)

Citation preview

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