Giornata molto piena!

Visual Studio Online e’ tra noi. Niente di diverso da Team Foundation Service fino a ieri, ma con molto di piu’.

Prima di tutto: i piani. Ora abbiamo tre piani: Basic, Professional e Advanced. Il Basic e il Professional hanno lo stesso set di funzionalita’, a parte il fatto che il Professional include una sottoscrizione mensile per Visual Studio Professional. Si, l’IDE! E ovviamente si hanno cinque utenti gratuiti con Visual Studio Online Basic plan, come oggi.
L’Advanced e’ un’altra storia – e’ il piu’ grande e completo, ma senza la sottoscrizione all’IDE.

Codename Monaco e’ qualcosa di incredibile – finalmente sono riusciti a includere alcune funzionalita’ di Visual Studio all’interno del browser, come IntelliSense. Si. Visual Studio nel browser. Solo per Azure Web Sites al momento, ma il passo e’ breve!

InRelease viene cambiato di nome, diventandoRelease Management for Visual Studio 2013. E Visual Studio 2012 non viene ignorato – l’Update  4 e’ disponibile!

Infine, Application Insights e’ la nuovissima feature di Visual Studio Online – chiude il gap per una soluzione di monitoring che non sia SCOM.

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.

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!

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.

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.

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.

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 :)

Dovrebbe essere noto a tutti che la best practice dice “Un workspace per Team Project”. Sfortunatamente non è sempre possibile renderla la soluzione di default, per varie ragioni (utenza tipica, etc.)

In Visual Studio 2013 la best practice è dentro il prodotto: il Workspace Mapping di default è esattamente one-per-project! Se provi a configurare un Workspace per un nuovo Team Project, ti verrà chiesto di farlo:

bp1

Dopo aver cliccato Configure, si andrà a mappare la root del Team Project in una specifica cartella utente:

bp2

bp3

E’ decisamente un bel passo avanti, visto che previene la creazione di un unico grande e monolitico workspace che poi presenterà tutti i classici problemi associati (performance in testa).

Nonostante TFS 2013 sia ancora una Preview, è totalmente compatibile con gli altri prodotti Microsoft.

Per attivare la sincronizzazione dei Work Item bisogna seguire la procedura TechNet standard, ma c’è bisogno di:

- Installare l’Object Model di TFS 2012

- Riavviare lo SCOM HealthService via PowerShell (restart-service HealthService)

- Una volta che ci si è connessi al server con il wizard, dovrebbe apparire un errore TF223006 che riguarda i tool a riga di comando. Non preoccupatevi! Salvate la configurazione e aggiungete manualmente il  Work Item Type OperationalIssue_11 dalla ISO o dal supporto di installazione di Operations Manager.

clip_image002

image

E funziona!

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.