SlideShare a Scribd company logo
Template designed by
Storie dalla trincea: Team Foundation
Server in casi limite e non solo...
Matteo Emili
matteo.emili@live.com
http://mattvsts.blogspot.com || @MattVSTS
Di cosa stiamo parlando?
Servizi accessori
Client
I backup
•Stiamo proteggendo dei database
•Il tool di backup integrato nella console e’ la migliore soluzione
per i backup di TFS
•Si puo’ utilizzare un tool esterno
• Solo DR – backup avviene senza detach
• E’ necessario marcare le transazioni
•Se si usa SSRS – backuppare la Encryption Key!
Detached vs DR backup
•Un backup detached marca il riferimento delle identita’ di
TFS_Configuration (GUID), mantenendo sincronizzati i database
•Il tool di TFS esegue backup detached senza mandare offline i
database
•Un DR backup permette il restore solo ripristinando il server
(Application Tier Only Wizard)
• E’ necessario che TFS_Configuration sia backuppato insieme o
successivamente agli altri DB
Template designed by
DEMO
TFS ed i backup
Operazioni quotidiane
•Operational Intelligence
•Administrative Report Pack
•Best Practices Analyzer
•TFS Administration Tool
•TFS Team Project Manager
•BYOT/R!
Build-Your-Own-Tool/Report!
•Automatizzate il piu’ possibile
•Report, report, report…
• Permettono di essere operativi su un problema in tempo molto ridotto
• Excel and PowerPivot sono vostri amici
•PowerShell ISE
• Ambiente per scripting
• PowerShell ha accesso al .NET Framework
•Comandi essenziali
• ConvertFrom-Csv
• Export-Csv
• ConvertTo-Html
• Invoke-Command
Interroghiamo SQL Server?
•Non dobbiamo mai modificare i database di TFS
•Fondamentale usare le DMV di SQL Server
•Esempi? Stato del Transaction Log, operazioni in corso
Versioning dei Process Template
•E’ essenziale tenere un versioning dei Process Template
•Una copia di quelli OOB si trovano in:
C:Program FilesMicrosoft Team Foundation Server
<vNumber>ToolsDeployProcessTemplateManagerFiles
•Branch-per-customisation su albero separato
•Nuova folder/repo per Process Template
• I Process Template cambiano da Update ad Update,
non branchare mai quelli OOB
Template designed by
DEMO
Report, BYOT e versioning dei Process Template
High Availability
•SQL Server AlwaysOn Availability Group!
•Soluzione nativa di HA e DR in SQL Server
• RTO di pochi secondi
•Il Transaction Log e’ critico
•E’ dispendioso in termini di hardware
• Lo storage va sostanzialmente duplicato
Security model
•Tre differenti aree di ACL
• TFS
• SharePoint
• Reporting Services
•Permessi ereditati da group membership
•Se un permesso non e’ esplicitamente allow, viene negato a meno
che allow non sia ereditato
•Se un utente appartiene a piu’ gruppi ed uno di questi ha
specificamente un deny, l’utente non avra’ quel permesso a livello
globale (salvo explicit allow)
Consigli
•Usare gruppi Active Directory
• Sono gestiti al di fuori di TFS
• Creano una gerarchia facile da manutenere
•TFS Administration Tool per la gestione
• Console unica
•Least Privilege Principle
• Facile garantire privilegi maggiori, difficile tracciare un deny fra centinaia di
gruppi
Access Levels
•Non sono gruppi di sicurezza
•Basati sul licensing
• Stakeholder – niente licenza
• Standard – TFS CAL, Visual Studio Professional with MSDN
• Advanced – Visual Studio Enterprise with MSDN
•CONSIGLIO: default su Stakeholder per dare accesso a tutti ed
evitare problemi di compliance
Access Levels a confronto
Auditing
•Permessi
• http://blogs.msdn.com/b/willy-
peter_schaub/archive/2014/12/10/extracting-effective-permissions-from-
tfs-whitepaper-and-sample.aspx
•Licenze
• analisi veloce con Excel dall’Audit Log
per gestire licenze ed accessi
•Attivita’
• …in demo 
Template designed by
DEMO
Gestire le ACL e l’auditing
Visual Studio ALM Rangers
•Le guide dei Visual Studio ALM Rangers sono la colonna
portante di ogni amministratore di Team Foundation Server
•Sono tutte basate su esperienze reali
•http://blogs.msdn.com/b/visualstudioalmrangers/
Storia di troubleshooting
•TFS 2012 Update 3
•Accade solo da Web Access
•Due report da due progetti diversi
•?!?!?!
Su le maniche…
•TF237165 mai visto prima
• Tre risultati su un qualunque motore di ricerca, nessuno rilevante
•“Errore di validazione”
• Process Template customizzato? No.
• Transizione orfana dopo l’upgrade? No.
•TFS BPA per verificare i web services
• Nulla di anomalo.
Eureka!
•TFS Operational Intelligence
• Diverse operazioni fallite (-1), con stacktrace ed informazioni dettagliate
•Microsoft Customer Support Service
• Due giorni di lavoro e fix dedicata
• Bug dell’integrazione fra TFS 2012 e Project Server 2010 solo in determinate
condizioni…
• Rimozione dell’integrazione per quei progetti
•Bug delle Global List
• Global List sono sopra le regole dei singoli Team Project e una Global Workflow
Rule di PS andava in errore
•Costo: £0.00 – bug del prodotto
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei
prossimi giorni
Per contattarmi
matteo.emili@live.com
Grazie

More Related Content

What's hot

Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
Stefano Del Furia
 
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Codemotion
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuerySandro Marcon
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationDotNetCampus
 
Async/Await: make it simple!!
Async/Await: make it simple!!Async/Await: make it simple!!
Async/Await: make it simple!!
Massimo Bonanni
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
Salvatore Sorrentino
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
Andrea Dottor
 
ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%
DomusDotNet
 
Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)
Manuel Scapolan
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
Antonio Liccardi
 
Architetttura Della Soluzione
Architetttura Della SoluzioneArchitetttura Della Soluzione
Architetttura Della SoluzioneLuca Milan
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDays
Matteo Baglini
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
DotNetCampus
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor Model
Andrea Tosato
 
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
Andrea Balducci
 
Actions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversActions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET lovers
Lorenzo Giudici
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
Andrea Dottor
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
Stefano Iaboni
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
Andrea Dottor
 

What's hot (20)

Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
 
jQuery
jQueryjQuery
jQuery
 
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
Xamarin.Forms Performance Tips & Tricks - Francesco Bonacci - Codemotion Rome...
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuery
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Async/Await: make it simple!!
Async/Await: make it simple!!Async/Await: make it simple!!
Async/Await: make it simple!!
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 
ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%
 
Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Architetttura Della Soluzione
Architetttura Della SoluzioneArchitetttura Della Soluzione
Architetttura Della Soluzione
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDays
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor Model
 
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourci...
 
Actions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversActions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET lovers
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
 
ASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuroASP.NET MVC 6 - uno sguardo al futuro
ASP.NET MVC 6 - uno sguardo al futuro
 

Viewers also liked

SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BAND
DotNetCampus
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
DotNetCampus
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
DotNetCampus
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
DotNetCampus
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICE
DotNetCampus
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
DotNetCampus
 
70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#
DotNetCampus
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEW
DotNetCampus
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
DotNetCampus
 
Introduzione ai Microservices
Introduzione ai MicroservicesIntroduzione ai Microservices
Introduzione ai Microservices
Daniele Mondello
 
MICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTMICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOT
DotNetCampus
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
DotNetCampus
 
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
DotNetCampus
 

Viewers also liked (13)

SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BAND
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
 
CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICE
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
 
70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#70-483: PROGRAMMING IN C#
70-483: PROGRAMMING IN C#
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEW
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
 
Introduzione ai Microservices
Introduzione ai MicroservicesIntroduzione ai Microservices
Introduzione ai Microservices
 
MICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOTMICROSOFT E IL MONDO IOT
MICROSOFT E IL MONDO IOT
 
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
70-534: ARCHITECTING MICROSOFT AZURE SOLUTIONS
 
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILEARCHITETTURA DI UN'APPLICAZIONE SCALABILE
ARCHITETTURA DI UN'APPLICAZIONE SCALABILE
 

Similar to DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...

SQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisSQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload Analysis
Gianluca Sartori
 
Il cielo è sempre più azure
Il cielo è sempre più azureIl cielo è sempre più azure
Il cielo è sempre più azure
Klab
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
Alessandro Alpi
 
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLDTYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
DotNetCampus
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
Par-Tec S.p.A.
 
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
Alessandro Alpi
 
Corso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document ManagementCorso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document Management
Salvatore Cordiano
 
Solo un server domino può sopportare così tanto carico e continuare a funzionare
Solo un server domino può sopportare così tanto carico e continuare a funzionareSolo un server domino può sopportare così tanto carico e continuare a funzionare
Solo un server domino può sopportare così tanto carico e continuare a funzionare
Andreas Ponte
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azureDotNetCampus
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
Gianluca Hotz
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
Riccardo Zamana
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
Gian Maria Ricci
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
Andrea Cirioni
 
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Carlo Fedeli
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
MariaDB plc
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
Alessandro del Gobbo
 
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUG IT
 
VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014
Andrea Mauro
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
Davide Benvegnù
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
Fabio Armani
 

Similar to DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO... (20)

SQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload AnalysisSQL Server Benchmarking, Baselining and Workload Analysis
SQL Server Benchmarking, Baselining and Workload Analysis
 
Il cielo è sempre più azure
Il cielo è sempre più azureIl cielo è sempre più azure
Il cielo è sempre più azure
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
 
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLDTYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
TYPESCRIPT, ANGULAR E BOOTSTRAP ASSIEME PER APPLICAZIONI REAL WORLD
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
 
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
[ITA] Sql Saturday 355 in Parma - New SQL Server databases under source control
 
Corso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document ManagementCorso di Versioning, Configuration & Document Management
Corso di Versioning, Configuration & Document Management
 
Solo un server domino può sopportare così tanto carico e continuare a funzionare
Solo un server domino può sopportare così tanto carico e continuare a funzionareSolo un server domino può sopportare così tanto carico e continuare a funzionare
Solo un server domino può sopportare così tanto carico e continuare a funzionare
 
Be02 portare la nostra applicazione su azure
Be02   portare la nostra applicazione su azureBe02   portare la nostra applicazione su azure
Be02 portare la nostra applicazione su azure
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
 
Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
 
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
Il "rilascio" con Octopus Deploy (visto dagli occhi di un dev)
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
 
Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013Introduzione a Drupal 7 - 14/03/2013
Introduzione a Drupal 7 - 14/03/2013
 
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
 
VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
 
Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)Design Patterns - enterprise patterns (part I)
Design Patterns - enterprise patterns (part I)
 

More from DotNetCampus

TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
DotNetCampus
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DotNetCampus
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
DotNetCampus
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUB
DotNetCampus
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
DotNetCampus
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
DotNetCampus
 
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPSFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
DotNetCampus
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
DotNetCampus
 
AZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEAZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVE
DotNetCampus
 
INTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREINTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZURE
DotNetCampus
 
JAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATIONJAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATION
DotNetCampus
 
Programmazione asincrona in java script
Programmazione asincrona in java scriptProgrammazione asincrona in java script
Programmazione asincrona in java script
DotNetCampus
 
Windows iot barone
Windows iot baroneWindows iot barone
Windows iot barone
DotNetCampus
 
Unity3 d uitools
Unity3 d uitoolsUnity3 d uitools
Unity3 d uitools
DotNetCampus
 

More from DotNetCampus (15)

TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015TUTTO SU VISUAL STUDIO ALM 2015
TUTTO SU VISUAL STUDIO ALM 2015
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUB
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
 
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPSFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
 
AZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEAZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVE
 
INTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREINTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZURE
 
JAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATIONJAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATION
 
Programmazione asincrona in java script
Programmazione asincrona in java scriptProgrammazione asincrona in java script
Programmazione asincrona in java script
 
Windows iot barone
Windows iot baroneWindows iot barone
Windows iot barone
 
Unity3 d uitools
Unity3 d uitoolsUnity3 d uitools
Unity3 d uitools
 

DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...

  • 1. Template designed by Storie dalla trincea: Team Foundation Server in casi limite e non solo... Matteo Emili matteo.emili@live.com http://mattvsts.blogspot.com || @MattVSTS
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Di cosa stiamo parlando?
  • 9.
  • 10. I backup •Stiamo proteggendo dei database •Il tool di backup integrato nella console e’ la migliore soluzione per i backup di TFS •Si puo’ utilizzare un tool esterno • Solo DR – backup avviene senza detach • E’ necessario marcare le transazioni •Se si usa SSRS – backuppare la Encryption Key!
  • 11. Detached vs DR backup •Un backup detached marca il riferimento delle identita’ di TFS_Configuration (GUID), mantenendo sincronizzati i database •Il tool di TFS esegue backup detached senza mandare offline i database •Un DR backup permette il restore solo ripristinando il server (Application Tier Only Wizard) • E’ necessario che TFS_Configuration sia backuppato insieme o successivamente agli altri DB
  • 13. Operazioni quotidiane •Operational Intelligence •Administrative Report Pack •Best Practices Analyzer •TFS Administration Tool •TFS Team Project Manager •BYOT/R!
  • 14. Build-Your-Own-Tool/Report! •Automatizzate il piu’ possibile •Report, report, report… • Permettono di essere operativi su un problema in tempo molto ridotto • Excel and PowerPivot sono vostri amici •PowerShell ISE • Ambiente per scripting • PowerShell ha accesso al .NET Framework •Comandi essenziali • ConvertFrom-Csv • Export-Csv • ConvertTo-Html • Invoke-Command
  • 15. Interroghiamo SQL Server? •Non dobbiamo mai modificare i database di TFS •Fondamentale usare le DMV di SQL Server •Esempi? Stato del Transaction Log, operazioni in corso
  • 16. Versioning dei Process Template •E’ essenziale tenere un versioning dei Process Template •Una copia di quelli OOB si trovano in: C:Program FilesMicrosoft Team Foundation Server <vNumber>ToolsDeployProcessTemplateManagerFiles •Branch-per-customisation su albero separato •Nuova folder/repo per Process Template • I Process Template cambiano da Update ad Update, non branchare mai quelli OOB
  • 17. Template designed by DEMO Report, BYOT e versioning dei Process Template
  • 18. High Availability •SQL Server AlwaysOn Availability Group! •Soluzione nativa di HA e DR in SQL Server • RTO di pochi secondi •Il Transaction Log e’ critico •E’ dispendioso in termini di hardware • Lo storage va sostanzialmente duplicato
  • 19. Security model •Tre differenti aree di ACL • TFS • SharePoint • Reporting Services •Permessi ereditati da group membership •Se un permesso non e’ esplicitamente allow, viene negato a meno che allow non sia ereditato •Se un utente appartiene a piu’ gruppi ed uno di questi ha specificamente un deny, l’utente non avra’ quel permesso a livello globale (salvo explicit allow)
  • 20. Consigli •Usare gruppi Active Directory • Sono gestiti al di fuori di TFS • Creano una gerarchia facile da manutenere •TFS Administration Tool per la gestione • Console unica •Least Privilege Principle • Facile garantire privilegi maggiori, difficile tracciare un deny fra centinaia di gruppi
  • 21. Access Levels •Non sono gruppi di sicurezza •Basati sul licensing • Stakeholder – niente licenza • Standard – TFS CAL, Visual Studio Professional with MSDN • Advanced – Visual Studio Enterprise with MSDN •CONSIGLIO: default su Stakeholder per dare accesso a tutti ed evitare problemi di compliance
  • 22. Access Levels a confronto
  • 24. Template designed by DEMO Gestire le ACL e l’auditing
  • 25. Visual Studio ALM Rangers •Le guide dei Visual Studio ALM Rangers sono la colonna portante di ogni amministratore di Team Foundation Server •Sono tutte basate su esperienze reali •http://blogs.msdn.com/b/visualstudioalmrangers/
  • 26. Storia di troubleshooting •TFS 2012 Update 3 •Accade solo da Web Access •Due report da due progetti diversi •?!?!?!
  • 27. Su le maniche… •TF237165 mai visto prima • Tre risultati su un qualunque motore di ricerca, nessuno rilevante •“Errore di validazione” • Process Template customizzato? No. • Transizione orfana dopo l’upgrade? No. •TFS BPA per verificare i web services • Nulla di anomalo.
  • 28. Eureka! •TFS Operational Intelligence • Diverse operazioni fallite (-1), con stacktrace ed informazioni dettagliate •Microsoft Customer Support Service • Due giorni di lavoro e fix dedicata • Bug dell’integrazione fra TFS 2012 e Project Server 2010 solo in determinate condizioni… • Rimozione dell’integrazione per quei progetti •Bug delle Global List • Global List sono sopra le regole dei singoli Team Project e una Global Workflow Rule di PS andava in errore •Costo: £0.00 – bug del prodotto
  • 29.
  • 30. Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi matteo.emili@live.com Grazie