Author Archives: Matteo Emili

Application Insights in Visual Studio Online

Una delle cose migliori di Visual Studio ALM e’ che si tratta di una piattaforma in continua evoluzione. Application Insights e’ l’ultima aggiunta alla famiglia, migliorando la storia di monitoring con Visual Studio Online.

MMA

Prima di tutto, bisogna scaricare l’ultimo Microsoft Monitoring Agent. Questa versione permette di configurare sia Visual Studio Online Application Insights sia l’integrazione con SCOM, e’ un grande passo avanti. Si possono monitorare applicazioni .NET e Java, che girano sia on-premise che su Windows Azure, e app Windows Phone 8.

 MMA3

Dopodiche’ si devono inserire Account ID e Instrumentation Key. Sono chiavi uniche del Visual Studio Online account.

 MMA4

MMA5 

E’ possibile poi selezionare Microsoft Update come sorgente per gli aggiornamenti. E’ l’opzione raccomandata, e a meno che non si abbia un’altra sorgente a disposizione (WSUS, SCCM) non si ha molta scelta :)
 
 MMA6

Finito. Una volta finita l’installazione, il command prompt di configurazione si aprira’ in automatico, scansionando IIS. Lo sto facendo girare su una VM demo di Microsoft, quindi non facciamo caso alle applicazioni ospitate. Quella che ci interessa e’ FabrikamFiber.Web.

MMA8MMA9MMA10

Ora c’e’ solo bisogno di lasciarlo macinare qualche minuto, per iniziare ad ottenere i nostri dati. Nel frattempo, una delle tante cose che sono possibili e’ creare una dashboard che riassuma le statistiche – ecco come:

MMA11

Esatto. Basta solo dare un nome e selezionare la Applicazione che vogliamo utilizzare per aggregare i dati. :)

MMA12
Le opportunita’ sono molte: si puo’ monitorare l’Applicazione per affidabilita’, per le performance o sulla base di una particolare metrica per un problema specifico.

Visual Studio ALM 2013 è RTM

E’ stata appena rilasciata la nuova versione di Visual Studio ALM, la 2013.

Come sappiamo, non si tratta solo di Visual Studio e Team Foundation Server, quindi oltre a questi abbiamo anche a disposizione anche il nuovo Monitoring Agent che include l’IntelliTrace Collector in versione standalone, il nuovo MSSCCI 2013 per i client legacy, i Power Tools e le Build Extension.

Oltre ovviamente a Team Foundation Service :) insomma, molta carne al fuoco!

Reportistica a costo zero con Team Foundation Service

Nell’ultimo sprint, Microsoft ha rilasciato una bella feature in Team Foundation Service dedicata alla reportistica: grafici basati su query di work item.

E’ estremamente semplice da utilizzare, e non serve nient’altro che Team Foundation Service. Basta cliccare sul link aprendo una query WIQL…

ch00

e creare un nuovo Chart

ch01

Finito :)

image

Al momento il supporto e’ limitato a liste flat, ma nel futuro saranno aggiunti anche gli altri due resultset WIQL. E’ molto comodo, e si puo’ embeddare in una mail o altro, senza alcuna configurazione.

InRelease Component e Release Template

Le parti più importanti di InRelease sono i Component ed i Release Template, che permettono di deployare in modo semplice ma soprattutto ripetibile ed automatico.

Un Component può essere qualunque cosa: l’esempio piu’ comune sono gli artefatti di una build:

image

Si può ottenere il contenuto da pacchettizzare in diversi modi: si può prendere il contenuto di una nuova build lanciata ad-hoc, selezionare un percorso particolare (magari come componente di un altro progetto) oppure semplicemente da una share di rete.

Il passo successivo è definire come deployare il Component. Si deve usare un Tool, ossia uno strumento che InRelease utilizza per il deploy. Banalmente anche un semplice script.

image

Inoltre si possono definire anche delle variabili da rimpiazzare e, molto importante, i Release Template associati.

I Release Template sono il core della Release Pipeline. E’  sviluppato su Windows Workflow Foundation, e definisce le activity in modo step by step e con editore visuale.

image

Li si possono disegnare le proprie pipeline di build con una granularita’ ottima, Ad esempio si possono aggiungere Activity (come la Create Web Site activity), Components (come Call Center Site), etc, tutte con le loro variabili richieste.

Team Foundation Server 2013 Upgrade Weekend

Microsoft ha schedulato una iniziativa molto interessante per il weekend del 13-15 Settembre: il Team Foundation Server 2013 Upgrade Weekend.

Cos’e’? E’ un weekend dove si puo’ aggiornare I loro TFS alla versione 2013 attualmente in preview con go-live, ma soprattutto ottenere supporto tecnico gratuito dal Microsoft CSS in caso di problemi!

Consiglio caldamente di unirvi a questa iniziativa molto utile: ci si può registrare qui in modo da far predisporre un numero sufficiente di persone al supporto.

Concetti base di InRelease

Nonostante sia strettamente integrato con Team Foundation Server, InRealease – ad oggi – è un prodotto stand-alone.

È formato da tre componenti: un server, un client e da quanti deployer si vuole, installati sui server in cui si vuole fare il deploy dell’applicazione. Il tutto è così granulare che ricorda una matrioska.

Si crea quindi una Release. La Release è basata su un template che definisce le fasi e le azioni del deployment.

clip_image002

Si basa su Windows Workflow Foundation, ed è molto intuitivo. Sono presenti molte activity out-of-the-box e gli InRelease Components, che analizzeremo in un post separato spiegando cosa sono e come modificarli.
Per poter effettuare il deploy, il Template deve avere almeno un Environment, ossia un contenitore per I server di destinazione che fanno girare il Deployer. Nel mio caso, ho creato due environment (Sviluppo e Produzione), ognuno contenente un server (dev.domain.tld e prod.domain.tld).

Come potete vedere nella foto, in questo caso la pipeline del deploy è estremamente facile: si crea una cartella nel server interessato e ci si copiano dei file.

A questo punto il più semplice processo di release è basato sull’approvazione: si deve approvare il deployment e il suo completamento. È possibile approvare o meno sia dalla console sia dalla web interface.

clip_image004

Questi sono i concetti base di cui potreste avere bisogno per utilizzare InRelease :)

Piccola gemma, il Visual Studio Notification Center

Non è qualcosa che ti fa gridare al miracolo, ma secondo me ha la sua dignità e otterrà ancora più importanza nelle prossime versioni.

Sto parlando del Visual Studio Notifications Center. È qualcosa che si basa sul Connected IDE, di cui probabilmente è il primo esempio dell’integrazione con Visual Studio, insieme ai Roaming Settings.

È una piccola icona in alto nell’IDE…

image

…che apre una finestra con le notifiche.

image

Secondo me è importante perché potrebbe essere l’hub per i contenuti informativi (supporto nell’installazione, scadenza della licenza) ma anche per gli aggiornamenti.

Qualche consiglio sull’installazione di InRelease

Recentemente Microsoft ha rilasciato una preview (sfortunatamente non go-live) di InRelease per Team Foundation Server 2013, la soluzione di Release Management acquisita da InCycle.

Il setup per essere completato con successo deve essere eseguito col seguente comando da un prompt amministrativo, altrimenti fallira’ sempre e comunque:

msiexec –I InCycle_InReleasePreview.msi

[ir0%255B2%255D.png]

Inoltre nel caso ci siano problemi successivi all’installazione, e’ bene avere sottomano oltre ai log nell’Event Viewer di IIS (InRelease installa un web site e un application pool a 32 bit, che puo’ essere un problema per certi ambienti) la cartella dei log, sotto C:\ProgramData (o equivalente).

Sono molto esplicativi, uno per ogni servizio.

Infine, qui si trova una pagina di supporto con i problemi post-installazione piu’ comuni e le soluzioni/

Il nuovo Default Mapping nei Workspace di Visual Studio 2013

Come Gian Maria ha anticipato, in Visual Studio 2013 è stato introdotto il mapping “un progetto un workspace” di default.

Lo troviamo immediatamente a disposizione quando connettiamo a un Team Project, in quanto è il primo tip che vi viene proposto:

[bp1%255B9%255D.png]

Quindi lo andremo a configurare:

[bp2%255B3%255D.png]

bp3

Il miglioramento è notevole, in quanto spinge su una best practice nota che impedisce la creazione di un unico, monolitico workspace che nove volte su dieci porta poi problemi.

Ancora miglioramenti all’Agile Portfolio Management con Backlog Mapping

Qualche giorno fa il team di Team Foundation Service ha rilasciato lo Sprint 50, ed una delle feature rilasciate e’ il Backlog Mapping.

Niente di troppo grande o difficile: se si crea un Portfolio da zero con Team Foundation Service, sicuramente si avra’ una lista piatta di feature e una lista piatta di PBI/User Story.

Con il Backlog Mapping (che graficamente e’ solo un menu’ a destra) si puo’ fare drag&drop della PBI che si vuole essere figlia di una certa Feature, e sara’ automaticamente linkato.

E’ una feature semplice eppure molto efficace, che combina una semplice UX con un risultato tangibile.