Cloud Computing / Software-Entwicklung / Software-Test

Cloud Computing mit Microsoft Azure

Cloud Computing ist in vielen Unternehmen ein polarisierendes Thema. Auf der einen Seite gibt es Skeptiker hinsichtlich Sicherheit und Kontrollverlust, auf der anderen Seite gibt es Befürworter, die die Vorteile von Cloud Computing schätzen, so z.B. die Wirtschaftlichkeit, die ohne Cloud-Lösungen mit eigenen Rechenzentren nur schwer zu erreichen ist. Aber vor allem die Hauptcharakteristiken, wie pay-as-you-go, eine unbegrenzte Anzahl an Ressourcen und die dynamische Skalierbarkeit machen Cloud Computing attraktiv.

Praxisupdate_rot

Mein Kollege Anton Kalcik, Experte auf dem Gebiet Software Engineering und ich präsentierten Dienstag, 3. März 2015 im Rahmen des Microsoft & ANECON Praxisupdate die Durchführung eines gesamten Applikationszyklus. Mithilfe von Visual Studio und Microsoft Azure erstellten wir eine Webapplikation, die auf Basis von Last- und Performancetests optimiert wurde – und das alles in und mit der Cloud!

Wenn wir nun den gesamten Lifecycle einer Anwendung betrachten, stellen wir fest, dass ganz am Anfang eine Idee steht. Wie wird jedoch aus einer Idee ein Produkt? Und wie sichern wir die Qualität? Microsoft ermöglicht uns mit Visual Studio, Visual Studio Online und Azure genau dies zu tun.

Visual Studio Online

Um Verwirrungen vorwegzunehmen, Visual Studio Online (VSO) ist keine online Variante der bekannten Entwicklungsumgebung Visual Studio. VSO ist eher mit einem Team Foundation Server (TFS) vergleichbar, der um die Cloud Dienste erweitert wurde. Dabei stellt sich die Frage: Ist Visual Studio Online einfach ein online Version von TFS? Die Antwort ist: Ja und Nein. Ja, weil sich in VSO viele Funktionen von TFS wiederfinden. Nein, weil VSO selbstständig ist und die strategische Entscheidung von Microsoft „mobile first, cloud first“ die Entwicklung noch weiter vorantreiben wird. Das ist heute auch schon sichtbar, denn es werden in regelmäßigen Abständen Updates und neue Funktionen eingespielt.

Visual Studio Online

Dabei läuft Visual Studio Online selbst in Azure und hat alle Vorteile einer SaaS Lösung. Es werden dem Team einzige Arbeitsschritte abgenommen, z.B. das Aufsetzen und Verwalten der Umgebung sowie der Aufbau, die Installation und die Wartung der Infrastruktur. Dadurch kann sich dieses auf das Wesentliche konzentrieren.

Visual Studio Online unterstützt eine agile Vorgehensweise wie etwa Scrum oder Kanban. Die Ideen werden als Features formuliert und in User Stories, auch Backlog Items genannt, konkretisiert. Den User Stories werden Tasks, also Aufgaben, zugeordnet. Diese Aufgaben gilt es zu bearbeiten –Entwicklungsaufgaben oder andere. Jeder User Story werden Testfälle zugewiesen. Diese dienen dazu, die Qualität sicherzustellen und zu überprüfen, ob sich kein Fehler eingeschlichen hat. Dabei kann der Tester Automatisierte Tests bzw. Manuelle Tests der User Story zuweisen. Werden Fehler entdeckt, werden diese in Bugs zusammengefasst und durch die Entwicklung korrigiert. Eine neue, fehlerfreie Version der Software kann veröffentlicht werden.

Quelle: https://msdn.microsoft.com/en-us/magazine/dn519923.aspx

Quelle: https://msdn.microsoft.com/en-us/magazine/dn519923.aspx

Dabei stehen dem Team zahlreiche Möglichkeiten der Konfiguration zur Verfügung, wie z.B. die Definition verschiedener Areas. Dadurch kann leicht zwischen verschiedenen Produkten, die in Rahmen eines Zyklus entwickelt werden sollen, z.B. eine Webapplikation und eine Mobile-App, unterschieden werden.

Die Entwicklung implementiert die Anwendung in Visual Studio und diese ist mit Visual Studio Online verbunden. Der Entwickler checkt seinen Quellcode direkt in VSO ein. Durch eine direkte Einbindung von Microsoft Azure kann dieser Code auch kompiliert und sofort bereitgestellt werden.

Microsoft Azure in Application Management

Microsoft Azure ist eine Cloud Computing Plattform, die sowohl Infrastructure-, als auch Plattform as a Service (PaaS) umfasst. Besonders PaaS bringt gegenüber Infrastructure as a Service eine Reihe von Vorteilen. Einer der besonders erfreulich ist, ist das Betriebssystem, welches wie ein Service inkludiert ist und die Wartung dadurch komplett ablöst. Dadurch kann man sich vollständig auf die Entwicklung konzentrieren.

Microsoft Azure kann verschiedene Rollen im Applikationszyklus übernehmen

Microsoft Azure kann verschiedene Rollen im Applikationszyklus übernehmen

Wenn man qualitativ hochwertige Produkte entwickeln möchte, benötigt man mehrere Laufzeitumgebungen. Typischerweise sind es Entwicklung-, Quality Assurance, Staging- und Produktivumgebung. Dieses im Microsoft Azure zu erreichen, ist erschwinglich einfach, mit „einem“ click kann von einer bestehenden Umgebung ein Klon erzeugt werden. Des Weiteren ist jederzeit zu sehen, welche Kosten, Auslastung, etc. die verschiedenen, verwendeten Maschinen, wie SQL Azure oder Webserver, haben. Hier sieht man auf einem Blick den Vorteil der Cloud Lösung: Wenn die QA eine eigene Umgebung braucht, die möglichst nahe an der Produktivumgebung ist, kann man mit wenigen Klicks die Produktivumgebung klonen und dem QA Team zur Verfügung stellen. Es müssen keine neuen Server gekauft werden, diese müssen nicht mehr installiert und aufgesetzt werden.

Microsoft Azure Preview Portal

Microsoft Azure Preview Portal

Wurde erfolgreich in die QA Umgebung deployed, kann das Test-Team die entwickelten User Stories überprüfen. Durch Manuelle Tests, durch Exploratives Vorgehen oder auch durch Automatisierte GUI Tests werden die User Stories überprüft. Für die nichtfunktionalen Anforderungen können direkt in Visual Studio, Performance Tests erstellt werden. Der Tester kann damit eine Webapplikation auf ihre Performance testen. Hier haben wir einen unentbehrlichen Vorteil gegenüber vielen anderen Lösungen: Erstens die QA Umgebung entspricht zu 100% der Produktivumgebung, man kann nun beide Umgebungen vergleichen. Zweitens der Entwickler kann die vom Test erstellen Performance Tests für die Analyse seines Quelltextes verwenden. Mit der Monitoring Funktion (siehe Application Insights) von Microsoft Azure kann man den Aufwand weiterhin und durchgehend beobachten und eventuell die Anwendung optimieren.

Ist die Anwendung optimiert, kann ein Lasttest erstellt werden. Dabei kann der Lasttest auch durch Microsoft Azure ausgeführt werden. Die Anwendung kann mit (zehn-)tausenden Benutzern betestet werden. Solche Tests verhindern, dass die Anwendung nach einem Release in die Zeitung kommt, weil die Performance extrem schlecht ist. Auch hier stellt uns Azure unzählige Monitor Punkte zur Verfügung, um die Performance zu messen und zu analysieren.

Ein Beispiel für Application Management

Ein Beispiel für Application Management

Ein weiterer Vorteil der Cloud ist, dass wenn die Anwendung so erfolgreich ist, dass wir mehr Ressourcen brauchen, diese einfach hinzugeschalten werden können, ohne dass die Anwendung etwas davon mitbekommt.

Microsoft Azure und Visual Studio Online bietet den Vorteil, dass man sich wieder auf das Projekt selbst konzentrieren kann, ohne auf die Infrastruktur achten zu müssen. Dabei wird die Zusammenarbeit zwischen Software-Test und Software-Entwicklung auf eine neue Dimension gehoben!

Wenn Sie sich für den ganzen Vortrag interessieren, den mein Kollege Toni Kalcik und ich bei Microsoft gehalten haben, gibt es am Channel 9 den Videomitschnitt in zwei Teilen!

Übrigens, wir bieten auch einen Cloud-Check für Ihre Applikation an:

 

Ihr persönlicher Cloud-Check

  • Sie haben eine neue Webapplikation geplant?
  • Es gibt eine bestehende Applikation. Ist sie Cloud-ready?
  • Sie benötigen eine Entwicklungsplattform?
  • Sie wollen eine Testplattform aufsetzen?

Eva Klaus_(c)B_72dpiUnsere Experten bieten Ihnen eine Statuserhebung an und prüfen, wie eine Cloud-Lösung mit Microsoft Azure Ihnen und Ihrer Applikation/Plattform einen Mehrwert bieten kann. Details zum kostenlosen Cloud-Check erhalten Sie bei Eva Klaus, Key Account Managerin bei ANECON: eva.klaus@anecon.com | 0664/80490251

 

 

Passende Artikel

Kommentare gesperrt.