Visual Studio 2013

Einführung in Visual Studio Online

Ed Blankenship

Ob Sie einem Team angehören oder Sie selbst Ihr Team bilden, mit Visual Studio Online können Sie von beliebigen Standorten aus sehr anspruchsvolle Anwendungen planen, erstellen, kompilieren, testen und überwachen. Sie benötigen kein großes Infrastrukturteam, und Sie müssen keinen einzigen Server konfigurieren. Als Berater, der Hunderte von Team Foundation Server(TFS)-Installationen und -Upgrades durchgeführt hat, begrüße ich es sehr, dass diese Art von mühseliger Routinewartung nun der Vergangenheit angehört. Visual Studio Online wird automatisch und kontinuierlich mit neuen Features aktualisiert, und Sie können sich Ihrer dringendsten Aufgabe widmen: Erstellen Sie Ihre Anwendungen!

Neuerungen

Ich werde häufig gefragt, ob Visual Studio Online nicht einfach TFS in der Cloud sei. Die Antwort ist ja und nein.

TFS wurde vor acht Jahren eingeführt, und der Schritt von TFS zu einem in der Cloud gehosteten Dienst zur Anwendungslebenszyklus-Verwaltung (Application Lifecycle Management, ALM) begann 2012 mit dem Start von Team Foundation Service. Vom ersten Tag an gab eine große Akzeptanz, mit einzelnen Entwicklungsteams, die begannen, und sogar Unternehmen mittlerer Größe, die ihre Infrastruktur vor Ort hinter sich ließen. Der wesentliche Vorteil: Jeweils im Abstand von einigen Wochen erhält Ihr Team neue Features, die die TFS-Produktgruppe in ihren internen Entwicklungsiterationen zusammenstellt. Die Kontobesitzer finden die Neuerungen im Zeitplan für Features unter bit.ly/17DV8Yl, oder sie können sich in sozialen Medien auf dem Laufenden halten, z. B. bei VSOnline auf Twitter (twitter.com/vsonline).

Insofern ist die Antwort ja, Visual Studio Online ist die nächste Evolutionsstufe von TFS und Team Foundation Service, und stellt Ihnen die grundlegenden ALM-Features in der Cloud zur Verfügung. Und nein, es ist nicht genau dasselbe.

Angesichts der Wandlung von Microsoft zu einem Unternehmen, das Geräte und Dienste anbietet, haben viele von Ihnen gefragt, was dies für Sie als Entwickler bedeutet. Mit Visual Studio Online verfügt Microsoft jetzt über eine Plattform von Diensten, die Sie nutzen können, ob Sie nun an eigenen, persönlichen Projekten oder mit Ihrem Team an größeren Systemen arbeiten. Einige dieser Dienste möchte ich hier betrachten.

ALM und darüber hinaus

Der cloudbasierte Charakter von Visual Studio Online ermöglicht einige hoch leistungsfähige Funktionen:

Builds in der Cloud. Keine Server, kein Mehraufwand – sehr gut. Ihr Code startet jedes Mal, wenn der Build ausgeführt wird, von einem sauberen Serverimage. Diese Abhängigkeiten und Computerkonfigurationen, von denen Sie nicht einmal wussten, und die im weiteren Verlauf Probleme machten? Sind nicht mehr vorhanden. Sie haben weiterhin vollen Zugriff auf Ihre Builds, da diese auch in Ihrem Quellcoderepository in Visual Studio Online gespeichert sind. Benötigen Sie ein komplexeres Setup? Ziehen Sie eine Hybridlösung in Betracht. Verwenden Sie Ihre wertvollen Ressourcen vor Ort für hoch angepasste Workflows oder Infrastruktur, und nutzen Sie Visual Studio Online für Grundlegendes wie die kontinuierliche Integration.

Auslastungstests in der Cloud. Für Einzelpersonen, Startups und sogar größere Teams gestalten sich ordnungsgemäße Leistungs- und Auslastungstests schwierig, da das Setup und die Ressourcen so teuer und zeitaufwendig sind. Wie können Sie den Aufwand rechtfertigen, wenn Sie nicht wissen, ob die von Ihnen erstellte Anwendung Anklang findet? Anstatt zu starten und zu hoffen, haben Sie jetzt Zugriff auf voll funktionsfähige Auslastungstests als Dienst, ausgeführt in der Microsoft-Infrastruktur, die stets über die aktuelle Version der Auslastungstestsoftware verfügt. Sie sind nicht auf ausgemusterte, aus dem Lager beschaffte Computer angewiesen, und Sie müssen nicht mühsam ermitteln, was zu installieren und zu konfigurieren ist, sondern Sie können die Tests ganz nach Ihrem Bedarf einrichten und skalieren, damit die Ausführung der Praxis entspricht. Ob Sie nun 100 virtuelle Benutzer hinzufügen oder aufrüsten müssen, um sich auf die Urlaubszeit vorzubereiten, der Dienst für Auslastungstests verarbeitet die Anforderungen nach Ihrem Bedarf und zur von Ihnen gewünschten Zeit.

360-Grad-Anwendungsüberwachung in Echtzeit. Sie verfügen nicht über ein Vollzeitservicezentrum, das den Status und die Integrität der Produktionssysteme überwacht? Mit Visual Studio Online besitzen Sie jetzt eines. Visual Studio Online Application Insights sammelt aus Ihren Anwendungen umfangreiche Daten zur Verfügbarkeit, Leistung und Verwendung durch die Kunden, ob die Anwendungen nun vor Ort, in Windows Azure, durch Fremdanbieter von Clouddiensten oder hybrid unter Verwendung von allen drei Möglichkeiten ausgeführt werden. Sie können nicht nur die Ausführung sicherstellen, sondern proaktiv die Nutzung überwachen und diese Informationen bei der Entscheidung berücksichtigen, welches erstklassige Feature Sie als Nächstes erstellen. Der Dienst nutzt auch Anwendungsmetadaten, die bei der Untersuchung von Liveproblemen hilfreich sind. Dazu zählen Build- und Bereitstellungsinformationen, mit denen Sie in sämtlichen Umgebungen (die Produktionsumgebung eingeschlossen) zurück zur Projektmappe und dem Quellcode gelangen können. Die Informationen sind bereits vorhanden, da derselbe Datenspeicher wie für die übrigen ALM-Informationen verwendet wird, und dadurch sparen Sie Zeit.

Verwenden Sie eine eigene IDE, oder rufen Sie einen einfachen Code-Editor im Browser ab. Mit Visual Studio Online können Sie Ihren Code unkompliziert überall und jederzeit auf beliebige Weise aktualisieren. Natürlich verfügen Sie über Visual Studio, und jetzt können Sie für Ihre plattformübergreifenden Entwicklungsprojekte ein echtes Git-Repository für eine nahtlose Verbindung mit Eclipse, Xcode und vielen anderen IDEs verwenden. Halten Sie es andernfalls einfach: Führen Sie Updates in einem beliebigen modernen Browser direkt mit dem neuen, einfachen Visual Studio Online-Code-Editor (Codename „Monaco“) aus. Dieser Code-Editor ergänzt die Verwendung von Visual Studio auf Ihrem Desktop.

Genau wie Sie ist Microsoft bestrebt, kontinuierlich Werte bereitzustellen. Dazu gehören wesentliche neue Veröffentlichungen für Visual Studio Online alle drei Wochen. Wenn Sie eine gute Idee für ein Feature haben, geben Sie auf UserVoice Ihre eigene Stimme ab. Worauf warten Sie also? Rufen Sie visualstudio.com auf, und fangen Sie an. Visual Studio Online ist für die ersten fünf Benutzer kostenlos, und es ist als Vorteil in MSDN-Abonnements enthalten. Zudem gibt es Einführungsrabatte für Dienste auf Nutzungsbasis und zusätzliche Visual Studio Online-Benutzerpläne für weitere Teammitglieder. Sie müssen sich keine Gedanken über zusätzlichen Speicherplatz, Transaktionen, Bandbreite, Computingzyklen usw. machen, da die Benutzerpläne und Dienste auf Nutzungsbasis all dies umfassen.

Sofort zum Erfolg: Einrichten des Projekts

Möchten Sie erfahren, wie Visual Studio Online Sie dabei unterstützt, die nächste herausragende App bereitzustellen? Das folgende Szenario führt Sie durch ein Beispiel mit einer Anfangsiteration mit Visual Studio Online. Wenn Sie TFS oder Team Foundation Service verwendet haben, wird Ihnen einiges davon bekannt vorkommen.

Hier ist das Szenario: Sie sind der leitende Entwickler in einem kleinen Team, das über begrenzte Ressourcen verfügt, aber eine großartige Idee für eine Anwendung hat. Sie müssen schnell anfangen, erwarten aber, dass die App längere Zeit auf dem Markt sein wird und möchten das Projekt daher auf kontinuierlichen Erfolg ausrichten. Sie möchten keine Zeit damit verlieren, Infrastruktur, Bereitstellungspipelines oder Testumgebungen einzurichten. Sie möchten einfach nur Ihre Anwendung erstellen und diese so schnell wie möglich für die Kunden zur Verfügung stellen.

Sie können schnell und mühelos anfangen. Rufen Sie visualstudio.com auf, suchen Sie oben rechts nach dem Link „Starten Sie kostenlos“, füllen Sie das Formular aus ... fertig.

Sobald Sie ein Konto haben, benötigen Sie einen Platz, an dem Sie und Ihr Team arbeiten können. In Visual Studio Online sind die Container der obersten Ebene Teamprojekte. Ihr erster Schritt besteht daher darin, ein Teamprojekt zu erstellen. An dieser Stelle müssen Sie zwei wichtige Entscheidungen treffen:

  • Welche Art von Repository für die Quellcodeverwaltung verwendet werden soll
  • Welche Prozessvorlage sich am besten zur Nachverfolgung der Arbeitsaufgaben eignet

Für die Quellcodeverwaltung können Sie sich zwischen der verteilten Versionskontrolle mit Git und der herkömmlichen Versionskontrolle, die Sie aus TFS kennen, entscheiden. Angenommen, das Team entwickelt derzeit eine Windows Phone 8-App und deren Back-End-Dienste, plant aber, die mobile App am Schluss auf iPhone- und Android-Geräte zu portieren. Da Sie wissen, dass Sie plattformübergreifend und mit verschiedenen IDEs arbeiten müssen, entscheiden Sie sich für das Git-Repository für die Quellcodeverwaltung. Weitere Informationen zur Entscheidung zwischen Team Foundation Version Control (TFVC) und Git erhalten Sie im Channel 9-Video unter bit.ly/16XPcUK.

Die Prozessvorlage definiert Ihren Workflow: wie die Arbeitsaufgaben genannt werden, welche Zustände sie durchlaufen, während Sie sie bearbeiten, und andere Metadaten. Sie können zwischen drei Vorlagen wählen: Scrum, Agile und CMMI (Capability Maturity Model Integration). Wenn Ihr Team CMMI oder einen eher formellen Prozess verwendet, sollten Sie sich vermutlich für diese Vorlage entscheiden. Wenn Sie ein Agile-Team sind oder keinen bestimmten Prozess anwenden, wählen Sie zwischen den beiden Vorlagen für Agile und Scrum aus. Diese unterscheiden sich hauptsächlich darin, wie sie Fehler behandeln und welchen Namen sie für Backlogelemente verwenden. Die Agile-Vorlage behandelt Fehler als Aufgaben. Die Scrum-Vorlage hingegen zeigt die Fehler im Backlog zusammen mit anderen Backlogelementen an. Wenn Sie nicht sicher sind, bleiben Sie bei der Scrum-Vorlage, die aus einem bestimmten Grund der Standard ist. Wenn Sie die Scrum-Vorlage wählen, heißt das nicht, dass Sie nach Scrum vorgehen müssen. Es bedeutet nur, dass die Scrum-Terminologie für Arbeitsaufgabentypen verwendet wird. Scrum bezeichnet Anforderungen als Product Backlog Items (PBIs), und die Agile-Vorlage bezeichnet sie als User Stories. Weitere Informationen zur Arbeit mit Teamprojekten und den Hauptunterschieden zwischen den Prozessvorlagen finden Sie unter bit.ly/Vh0azl.

Sobald Sie über ein Konto und ein Teamprojekt verfügen, ist es Zeit zum Hinzufügen der Teammitglieder. Dazu müssen Ihnen die Microsoft-Konten (früher Live IDs) der Mitglieder bekannt sein. Rufen Sie die Projektstartseite auf (myawesometeam.visualstudio.com), und folgen Sie den Schritten, die in Abbildung 1 dargestellt sind.

Adding Team Members
Abbildung 1: Hinzufügen von Teammitgliedern

Wenn Sie Berechtigungen und andere Verwaltungsinformationen detailliert festlegen möchten, verwenden Sie das Zahnradsymbol für Einstellungen, das oben angezeigt wird.

An die Arbeit: Einrichten der ersten Iteration

Wenn die Verwaltungsdetails abgeschlossen sind, können Sie mit der Arbeit beginnen. Sie haben die Scrum-Vorlage ausgewählt, aber Ihr 5-Personen-Team ist nicht vollständig darauf festgelegt, nach formellem Scrum vorzugehen. Sie wissen, dass Sie in Iterationen arbeiten, so schnell wie möglich funktionsfähigen Code bereitstellen und Kundenfeedback in die nächste Iteration integrieren möchten. Sie möchten auch verfolgen, welche Aufgaben derzeit bearbeitet werden und welche Aufgaben anstehen, und Sie möchten über eine Methode verfügen, um diese Arbeiten zu priorisieren.

Bevor wir mit den Arbeitsaufgaben beginnen, sehen wir uns kurz einige Details an. Die Auswahl der Scrum-Vorlage bedeutet, dass Sie hauptsächlich mit den Arbeitsaufgabentypen Funktion, PBI, Fehler und Aufgabe arbeiten werden (die meisten der weiteren vorhandenen Typen unterstützen Sie im Hintergrund). Abbildung 2 umreißt die Beziehungen zwischen diesen Arbeitsaufgabentypen, die durch Arbeitsaufgabenlinks verwaltet werden.

Work Item Relationships
Abbildung 2: Beziehungen zwischen Arbeitsaufgaben

Im Allgemeinen stellt eine Funktion eine Menge von Arbeit dar, die sich über Iterationen erstreckt (diese werden manchmal als Epen bezeichnet), PBIs sind Einheiten von Kundennutzen, die in einer einzelnen Iteration abgeschlossen werden können, und Aufgaben sind Arbeitseinheiten, die in einigen Tagen abgeschlossen werden können. Durch die entsprechende Verwendung können Sie für die Projektansicht die zum jeweiligen Zeitpunkt sinnvolle Stufe einstellen, von der Portfolioebene bis zu den Details. Das Thema Arbeitsaufgaben ist viel umfangreicher als hier angesprochen, und in den relevanten Artikeln auf MSDN finden Sie weitere Informationen.

Eine letzte Anmerkung zur Verwendung von Arbeitsaufgaben: Nur weil ein Feld vorhanden ist, müssen Sie es nicht benutzen. Nutzen Sie die Felder, die für das Team sinnvoll sind, und ignorieren Sie die, die keinen Sinn machen. Ich habe in der Vergangenheit viele Teams unterstützt und empfehle aus dieser Erfahrung heraus, die Dinge so einfach wie möglich zu halten.

Als Nächstes wird der Backlog ausgefüllt. Klicken Sie dazu auf der Projektseite auf die Registerkarte „Arbeit“. Dadurch wird der Product Backlog angezeigt.

Mit dem Menü links können Sie die Ansicht auf eine geeignete Abstufungsebene einstellen, und Sie können dieser Ebene aus der Liste rechts Elemente hinzufügen. Ordnern Sie die PBIs senkrecht an, um den Backlog zu priorisieren.

Da Sie jetzt über Arbeit im Product Backlog verfügen, ist es Zeit, über die erste Iteration nachzudenken. Ihr Team möchte schnell vorankommen, und es entscheidet sich daher, Iterationen in einer Woche zu liefern. Ziel dabei ist die Übergabe an die Produktion jeden Dienstag. Als Erstes versehen Sie die Iteration mit Datumsangaben. Dazu können Sie das Einstellungsmenü verwenden, oder, wenn Sie die Ansicht auf eine bestimmte Iteration begrenzt haben, den Link „Daten festlegen“.

Nachdem Sie Daten für die Iteration bestimmt haben, können Sie dieser PBIs aus dem Backlog zuweisen, indem Sie die PBIs aus dem rechten Bereich nach links auf die entsprechende Iteration ziehen und ablegen. Sobald die PBIs in einer Iteration sind, können Sie sie in einzelne Aufgaben für die Teammitglieder unterteilen, wie in Abbildung 3 zu sehen.

Iteration Planning
Abbildung 3: Iterationsplanung

Von dem, was Sie mit den agilen Planungstools ausführen können, ist das ist nur die Spitze des Eisbergs. Wenn Ihr Team wächst und Ihre Anforderungen komplexer werden, können Sie unter anderem Kapazitätsplanung, Prognosen und Testplanverwaltung hinzufügen. Vorerst reicht diese Komplexität aus, und Sie können beginnen, die PBIs abzuschließen.

Während Sie die Elemente in Ihrem Backlog durchgehen, müssen Sie nachverfolgen, was in Arbeit ist. Ihr Team möchte den Status der aktuellen Iteration besser kennen, sodass Sie in der nächsten täglichen Besprechung das Iterationstaskboard hinzuziehen.

Dieses bietet eine gute Ansicht in den Status von allen PBIs und trägt dazu bei, die täglichen Besprechungen zu strukturieren. Das Iterationstaskboard ist Drag & Drop- und touchfähig, sodass Sie während der Besprechung schnell Änderungen durchführen können, damit das Board (und die Arbeitsaufgabenstatus sowie die Teamzuordnungen) aktuell bleibt.

Zum Nachverfolgen von Arbeit ist das Iterationstaskboard hervorragend geeignet, aber um einzuschätzen, wie der Fluss von Werten durch das Team ist, benötigen Sie ein Board, das auf die PBI- oder Funktionsebene begrenzt ist. Wechseln Sie zum Kanban-Board hinüber, auf das Sie vom Product Backlog zugreifen können.

Hier können Sie für jede Spalte die Menge angefangener Arbeit begrenzen, den Arbeitsfluss nachverfolgen und das kumulative Flussdiagramm für das Team anzeigen. Das Kanban-Board soll den Workflow Ihres Teams reflektieren. Klicken Sie daher auf die Schaltfläche „Spalten anpassen“, und führen Sie die entsprechenden Änderungen durch. Ändern Sie die Namen der Spalten, und fügen Sie ggf. neue hinzu. Das Schöne dabei ist, dass jedes Team die Spalten dem eigenen Bedarf anpassen kann, ohne dass es sich auf andere Teams auswirkt.

Nehmen Sie nun einmal an, Sie konnten den ersten Investoren gewinnen! Leider ist das Unternehmen keines von der stillen Sorte, und damit das Geld weiter fließt, möchte es wöchentlich über bereitgestellte Werte und die Qualität des Produkts informiert werden. Das sieht nach viel Aufwand aus. Aber glücklicherweise sind Ihnen die Arbeitsaufgabendiagramme geläufig, wie in Abbildung 4 gezeigt, mit denen Sie schnell und einfach die erforderlichen Berichte erzeugen.

Work Item Charts
Abbildung 4: Arbeitsaufgabendiagramme

Zehn Minuten später ist Ihr Investor zufrieden, und Sie können damit fortfahren, Ihre Kunden zufriedenzustellen. Sie können sogar die von Ihnen erstellten Arbeitsaufgabendiagramme dem Dashboard des Teams hinzufügen.

Bereitstellen von Werten: Erstellen der Anwendung

Sie wissen, wie Sie Code schreiben. Sie wissen auch, dass es von größter Wichtigkeit für die Kunden ist, eine sehr gute Qualität beizubehalten. Unglücklicherweise haben Sie und das Team so viele neue Ideen, dass es manchmal leicht ist, schnell zur nächsten weiterzugehen, ohne der aktuellen vollständig Substanz zu verleihen.

Die Codebasis wird nicht immer erfolgreich kompiliert. Nach einer kurzen Retrospektive entscheidet das Team, dass automatisierte Builds verwendet werden müssen, entweder durch fortlaufende Integration (Continuous Integration, CI) für Builds oder sogar durch Implementierung eines abgegrenzten Eincheckvorgangs, um schlechten Code aus dem Repository herauszuhalten. Sie haben weder die Infrastruktur noch die Zeit, um einen eigenen Buildserver vor Ort einzurichten. An dieser Stelle kommt der Cloudbuilddienst von Visual Studio Online zu Hilfe.

Wählen Sie in der Visual Studio-IDE in Team Explorer die Buildseite und anschließend „Neue Builddefinition“ aus. Geben Sie der neuen Definition einen Namen, wählen Sie einen Trigger aus, und fahren Sie mit den weiteren Schritten im Assistenten fort. Denken Sie daran, die Builddefinition zu speichern, wenn Sie fertig sind.

Nur weil es sich um einen CI-Build (oder einen anderen Triggertyp) handelt, heißt das nicht, dass Sie ihn nicht manuell starten können, wenn Sie einen nicht geplanten Build benötigen. Natürlich könnten Sie den Build im Team Explorer starten, aber wo bleibt dabei der Spaß? Verwenden Sie den Browser, und gehen Sie auf der Projektseite zum Register „Build“. Wählen Sie in der Liste links den Build aus, und klicken Sie auf „Build zur Warteschlange hinzufügen“.

Nachdem Sie einen CI-Build eingerichtet und umgesetzt haben, wechseln Sie zum Teamraum, um die Ergebnisse anzuzeigen und dem Team die guten Neuigkeiten mitzuteilen. Weitere Informationen zu Builds finden Sie unter bit.ly/158otoM.

Auslastungstests nach Bedarf

Die Zahl der Benutzer wächst schnell, aber die Benutzer melden viele Verzögerungen auf der Website. Da Sie die Ursache der Verzögerung nicht ausmachen können, möchten Sie einige realistische Leistungs- und Auslastungstests erstellen, um die langsamen Punkte aufzudecken. Zu Anfang zeichnen Sie einige Webleistungstests mit Visual Studio Ultimate auf. Jeder Test repräsentiert eine typische Methode, mit der ein Benutzer mit der Website interagieren würde, was als künstliche Transaktion bezeichnet wird.

Anschließend kombinieren Sie die Leistungstests, um eine typische Auslastung des Systems zu simulieren. Sie planen, später einige andere Szenarios zu erstellen, aber vorerst halten Sie sich an das normale Happy-Path-Szenario.

Sobald Sie die Leistungstests in einen ausgewogenen Auslastungstest überführt haben, richten Sie die Ausführung des Auslastungstests in Visual Studio Online ein, indem Sie die Datei mit den Testeinstellungen öffnen und Visual Studio Online auswählen. Sie können dann beobachten, wie die Daten eingehen, wie in Abbildung 5 gezeigt.

Viewing Load-Test Results
Abbildung 5: Anzeigen von Auslastungstestergebnissen

Sie haben das soeben in weniger als einer Stunde durchgeführt. Eine detaillierte exemplarische Vorgehensweise finden Sie unter bit.ly/18hIcCm.

Überwachen und fortlaufend lernen: Sammeln von Telemetriedaten

Die Anwendung und die Windows Azure-Websites und -Dienste, die sie unterstützen, sind live. Offenbar wird die Anwendung von Benutzern heruntergeladen. Dem Anschein nach wird die Website besucht, und die Client-App greift auf das Dienste-Back-End zu. Es sieht zumindest so aus, als ob sich etwas ereignet. Sie sind nur nicht ganz sicher, was ...

Sie müssen mit dem Sammeln von Telemetriedaten für die gesamte Anwendung beginnen. Nicht nur für die Webseiten, die Serverleistung sowie die Windows Phone 8-App und nicht nur auf der Windows Azure-Datenebene. Sie benötigen ein vollständiges Bild vom gesamten Fluss der End-to-End-Benutzererfahrung. Hier kommt der neue Application Insights-Dienst von Visual Studio Online ins Spiel.

Um mit Application Insights zu starten, rufen Sie die Startseite Ihres Visual Studio Online-Kontos auf, und klicken Sie auf die Application Insights-Kachel. Sie müssen Ihre Anwendung mit Ihrem Einladungscode registrieren, da der Dienst zurzeit als begrenzte Preview-Version bereitgestellt wird. Danach können Sie einen einfachen Test einrichten, um eine Pinganforderung an eine URL zu senden (der neue Test für eine einzelne URL), und beobachten, wie die Daten zu fließen beginnen. Dies ist ein Beispiel für einen einfachen Pingtest, aber Sie können auch die künstlichen Transaktionen nutzen, die Sie zuvor für die Auslastungstests als Webleistungstests erstellt haben. Sie können dann die Anwendung mit grundlegenden Pingtests oder künstlichen Transaktionen von mehreren Rechenzentren auf der ganzen Welt überwachen.

Außerdem können Sie auch den Microsoft Monitoring Agent konfigurieren, damit dieser Überwachungsdaten zur Anwendungsleistung an den Application Insights-Dienst übermittelt. Dadurch gewinnen Sie noch mehr Informationen darüber, wie sich die Anwendungsdienste im Zusammenhang mit den jeweiligen Anwendungsabhängigkeiten verhalten, einschließlich Datenbanken und andere Dienste.

Für die meisten Websites und die verbundenen Apps ist nichts wichtiger als die Betriebszeit. Das gilt auch für Ihre Anwendung. Leider berichteten Ihnen einige Kunden völlig überraschend davon, dass der Dienst nicht verfügbar war, obwohl Sie der Meinung waren, er sei aktiv. Eine konstante Verfügbarkeitsüberwachung in Echtzeit ist erforderlich, damit Sie als Erster wissen, ob ein Test fehlschlägt oder die Website nicht erreichbar ist. Genau das kann Application Insights Ihnen bieten.

Die Verfügbarkeit der Website zu kennen, ist hervorragend. Die Kenntnis der Codezeile oder der gespeicherten Prozedur, die die Website verlangsamt, ist noch besser. Die Fähigkeit, aus dem Leistungsüberwachungsdienst direkt zu dieser Codezeile in Ihrer IDE zu wechseln, ist absolut faszinierend. Application Insights ermittelt Abhängigkeiten, zeigt Ihnen, wenn Sie neue Bereitstellungen durchgeführt haben, und aggregiert die gesamten Leistungsdaten, um Ihnen die wichtigsten 10 langsamsten Bestandteile der Anwendung zu präsentieren.

Durch die Leistungsüberwachung mit Application Insights haben Sie jetzt die mittlere Reparaturdauer für den Dienst und die mittlere Zeit zur Wiederherstellung des betriebsfähigen Zustands des Diensts erheblich reduziert.

Als Sie die Anwendung auf den Markt brachten, wussten Sie ganz genau, was die Anwendung ausführen sollte und wie die Kunden mit ihr interagieren würden. Jetzt verändern sich die Bedürfnisse der Kunden, und die Anwendung muss sich entsprechend weiterentwickeln. Sie haben viele Hypothesen dazu, wie die Kundenerfahrung verbessert werden kann, aber Sie benötigen Telemetriedaten und Meta-Telemetriedaten, um Ihre Annahmen und Hypothesen zu untermauern. Durch die Verwendungsüberwachung in Application Insights erhalten Sie mehrdimensionale Daten, um die zukünftigen Investitionen in die Anwendung zu bestimmen, wie in Abbildung 6 gezeigt.

Application Insights Dashboard
Abbildung 6: Application Insights-Dashboard

Ihr Team arbeitet immer mehr mit Application Insights, und Sie stellen fest, dass ein Paradigmenwechsel im Hinblick auf die Methode, wie Sie Software erstellen, stattgefunden hat. Die entsprechenden Einblicke werden nicht mehr im Nachhinein gewonnen, sondern Sie haben diesen Prozess vollwertig in den Anwendungslebenszyklus integriert und damit starken Einfluss darauf genommen, wie das Team über die Anwendung denkt. Sie können das SDK sogar verwenden, um Berichte mit benutzerdefinierten Geschäftsmetriken zu erstellen, die auf den Dashboards nachverfolgbar sind, oder um benutzerdefinierte Entwickler-Ablaufverfolgungsereignisse zu senden.

Application Insights hat eine Verbindung zwischen den Entwicklern und der Art hergestellt, wie die Kunden die Anwendung verwenden. Die Fragen, wie die Benutzer mit der Anwendung interagieren werden, wie eine neue Änderung sich auf die Leistung auswirken wird und wie die fast perfekte Anwendungsverfügbarkeit beibehalten werden kann, werden im gesamten Lebenszyklus diskutiert.

Zusammenfassung

Sie haben in diesem Artikel eine kurze Einführung zum neuesten Mitglied der Visual Studio-Familie gelesen. Visual Studio Online ist eine cloudbasierte Plattform von Tools und Diensten, mit denen Sie Ihre Anwendung planen, bereitstellen und verwalten können. Visual Studio Online wurde aus TFS und Team Foundation Service weiterentwickelt. Es vollzieht für die Microsoft-ALM-Plattform den Schritt in die Cloud und verbessert sie durch neue Dienste wie Application Insights und eine Online-IDE. Und dies ist erst der Anfang. Sogar wenn Sie TFS vor Ort verwenden, können Sie Visual Studio Online-Dienste wie Auslastungstests und Application Insights nach Bedarf nutzen. Das Visual Studio Online-Team möchte kontinuierlich Werte bereitstellen und veröffentlicht dazu jeweils im Abstand von wenigen Wochen wichtige Updates.

Ed Blankenship ist Product Manager für Visual Studio Online und Visual Studio ALM bei Microsoft. Bevor er zu Microsoft kam, wurde er 2010 als Microsoft MVP of the Year ausgezeichnet (Visual Studio ALM, Team Foundation Server) und war fünf Jahre lang Microsoft MVP. Blankenship ist Hauptautor von zwei Büchern zu Team Foundation Server, darunter „Professional Team Foundation Server 2012“ (Wrox, 2013).

Unser Dank gilt den folgenden technischen Experten für die Durchsicht dieses Artikels: Andrew Clear und Cheryl Hammond (ALM Consultants bei Northwest Cadence)
Andrew Clear und Cheryl Hammond sind ALM Consultants bei Northwest Cadence. Sie haben zahlreiche Veröffentlichungen und Präsentationen zu Visual Studio ALM verfasst, eine Schulungsreihe zum Thema Agilität in Unternehmen miterstellt und große und kleine Unternehmen in Nordamerika, Europa und Asien beraten.