SlideShare a Scribd company logo
getlatestversion
Database under source control
Alessandro Alpi (@suxstellino)
Data Platform MVP since 2008 alessandro.alpi@engageitservices.it
DevOps concepts
The Continuous pattern
Source control manager
Database vs Code
Database Development tools and solutions
Conclusions
Q&A
Agenda
DevOps is a culture, movement or practice that emphasizes
the collaboration and communication of both software
developers and other information-technology(IT)
professionals while automating the process of software
delivery and infrastructure changes. It aims at establishing a
culture and environment where building, testing, and
releasing software, can happen rapidly, frequently, and more
reliably
(source Wikipedia)
DevOps concept
We will speak about…
Development teams
We’re writing code and features
Sharing work
We’re creating changesets that will be shared across the team
Automation
Every “checkin” should be automatically built and delivered
Productivity
A repeatable and reliable process will speed up our development
We want reach these goals
Add operations teams
We want to bring our development in environments
Sharing work with them
Operations team must know development stuff and processes
Automation is still needed
We want to be able to write automated delivery processes
Productivity is a must, also here
This is true also for deploying the application
What we need to reach DevOps
IDE
Source Control Manager
(Version control system)
Build server and process
(also for automation)
QA / Unit test process
(automated)
Release processes
(automated and reliable)
Integration
OperationDevelopment
The databases needs development
The databases must be redistributed between teams
The databases must be synced within the development environment
The database will have «changes» associated to «activities»
The database should be automatically tested
The database should be automatically built
The database should be checked for potential drifts
And, of course, it’s a good thing to deploy it 
DevOps and databases
Automation of each step
Continuous Integration (with Version Control System)
Integration, at least daily, of the work done
Development team
Continuous Delivery (pre production release with automated builds and tests)
Build server, unit testing frameworks, automatically triggered
Pre production environments
Cooperation with Operation team
Continuous Deployment (automated production release, after acceptance)
Release of the builds which pass UAT and QA tests
Automated processes
Cooperation with Operation team
The “Continuous pattern”
Continuous improvement leads to better software quality
So, Continuous Integration helps us to improve with quality
Database and Continuous Integration
DEVELOPMENT + SEND TRIGGERED BUILD
AUTOMATED UNIT
TESTS
“DONE” WORK
SHARING
The way we can version our database code
Management of versions
Changes of the code (and not only those)
Shared entity during development stages
Core of (automated) delivery
Often used with other tools for managing teams
Provides an interface (also graphic)
Source control manager
History of database items
Safe storage of our files (persistence)
Share development lines within the team
Track of edits, by user
Central point for (automated) database delivery
Central point for (automating) builds and tests
The real needs of every team about the code..
Source control manager, why?
The DB can be a file «inside the application»
The DB is «located on the server»
The DB persists user data
The DB is not all and only code
However, the changes on the DB must be reflected to the
whole development team
The Source Control seems «uncomfortable», at first sight..
Source control manager, what about databases?
The database IS code (programmability, ddl, grant, etc.)
The «domain» tables are like many enums (static data).
The DB should be changed in more development branches.
Linked servers are configurations (like *.config)
The login server are environment configurations
The database persist the data.
It’s not a *source control* problem
Some data should be stored in Source Control Manager
Code vs Database, are they really different?
Our databases should be under source control management
We can “get the latest version”
We can see the differences between versions
We can integrate our database IDE with the most popular SCM
We can avoid to use a single dev server for workday
How many times did you break the work of the other team members?
Is there any better solution than having our development sandboxes?
Finally we can reduce the gap between DBAs and DEVs (OOOOH! )
Last but not least, we will be ready for continuous improvement:
Continuous integration
DevOps related tasks
In the end…
A possible solution
Visual Studio Team Serivices (formerly VSOnline)
Source Control Manager in the cloud
Core team management tool also
Engine for automated tasks and releases
Automated builds
Release managements
Team explorer as UI for managing versions/changesets
RedGate SQL Source Control
Versions/changesets tool for SQL Server
Integrated with SSMS IDE
Regardless of the tool we use, Team Explorer allows us to:
Improve management of the changesets
Improve association of changesets to tasks
Improve control on commit/get/sync/pull/checkin phases
Centralize management of checkin policy
Single point for management of the team project
For Red Gate SQL Source Control
Used when in «Working folder» configuration
For Visual Studio Team Services
Used when getting the latest version and when sending changesets
The team explorer
SQL Source Control – Development models
Shared Dedicated (suggested)
One single dev server
All the team works on the server
Highly possible conflicts
The last changeset wins on everything
Cannot track versions between developers
Workstations are dev servers
Each team member works on its own sandbox
No conflicts during development (only on send phase)
Each check-in is a different changeset
Each check-in is a different database version
SQL Source Control – Link models
Working folder Integrated with SCM
Working base (in AppData folder)
Analyze differences
Avoid any SQL Server Api call
Working folder (the Visual Studio Workspace)
Store changes
Show pending changes on Team Explorer
Detected items on Team Explorer!
Filesystem based
Two phases for sending: save/checkin
Two phases for getting differences: get/apply
Simple to package
Working base (in AppData folder)
Analyze differences
Avoid any SQL Server Api call
Link with source control url
Store changes remotely
Show pending changes on SSMS
Url based (SCM APIs)
One click checkin on SCM via SSMS
No get, SSMS is sync’ed when getting changes
Simple to package
The real scenario
Sql Server Management
Studio IDE
Working folder
File “.sql”
Development
Team Explorer to
Source Control
Code, History and
Changesets
Save Send
GetApply
Repository
SQL Server Management Studio + Visual Studio Team Services
LET’S PLAY
Simply manage and track fixes
Multiple development environments
Branch the databases as the application
Switch to different versions of the databases
Label the changesets as for the application
Integration with automated tools for deploying
Ready for drift check during deployment
Sync all the team to a certain version of the databases
…much more 
Advantages using SCM on databases
Possible consideration
How is our team structured?
Which are the minimum requirements?
How much can I spend?
Can I afford the learning curve if I change IDE?
However, we should really use the Source Control 
Conclusions
..and, hopefully, answers!
Questions?
THANK YOU!
http://www.codinghorror.com/blog/2006/12/is-your-database-under-version-control.html
http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for-database-work.aspx
http://odetocode.com/blogs/scott/archive/2008/01/31/versioning-databases-the-baseline.aspx
http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-change-scripts.aspx
http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-views-stored-procedures-and-the-
like.aspx
http://odetocode.com/blogs/scott/archive/2008/02/03/versioning-databases-branching-and-merging.aspx
http://www.red-gate.com/products/sql-development/sql-source-control/
http://apexsql.com/sql_tools_source_control.aspx
http://suxstellino.wordpress.com/tag/alm/
http://blogs.dotnethell.it/suxstellino/Category_2927.aspx
http://blogs.msdn.com/b/ssdt/archive/2012/02/02/including-data-in-an-sql-server-database-project.aspx
Resources
My work
SQL Server sotto source control
Unit testing con SQL Server
SQL Server Continuous Integration
Putting our database under source control
Unit testing on SQL Server databases with tSQLt
ALM on docs.com
Virtual chapter su SQL Server e source control
ALM su getlatestversion.it
getlatestversion
Books
SQL Server Source Control Basics
Continuous Integration for databases
Solving the database deployment problem
SQL Server Team-Based Development
Grazie agli sponsor
http://bit.ly/DOAW16FEED1
Dedicateci 2 minuti del vostro tempo,
e ci aiuterete a crescere e migliorare!
Track Intro
http://bit.ly/DOAW16FEED2
Track Avanzata
Ad

More Related Content

What's hot (20)

Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stack
Bijoy Viswanadhan
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
Ganuka Yashantha
 
Full Testing Experience - Visual Studio and TFS 2010
 Full Testing Experience - Visual Studio and TFS 2010 Full Testing Experience - Visual Studio and TFS 2010
Full Testing Experience - Visual Studio and TFS 2010
Ed Blankenship
 
Development Practices & The Microsoft Approach
Development Practices & The Microsoft ApproachDevelopment Practices & The Microsoft Approach
Development Practices & The Microsoft Approach
Steve Lange
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
Visug
 
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Jen Wong
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1
Sun Technlogies
 
Testing in TFS
Testing in TFSTesting in TFS
Testing in TFS
Sampath kumar Mohan
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
Ganuka Yashantha
 
Visual Studio Team System 2010
Visual Studio Team System 2010Visual Studio Team System 2010
Visual Studio Team System 2010
ukdpe
 
Improving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team SystemImproving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team System
matthewphillips
 
What's new in ALM using Visual Studio 2013 and Team Foundation Service
What's new in ALM using Visual Studio 2013 and Team Foundation ServiceWhat's new in ALM using Visual Studio 2013 and Team Foundation Service
What's new in ALM using Visual Studio 2013 and Team Foundation Service
Microsoft Visual Studio
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha
 
The first looks at VSTS2010
The first looks at VSTS2010The first looks at VSTS2010
The first looks at VSTS2010
Pascal van der Horst
 
Lap around visual studio alm 2013
Lap around visual studio alm 2013Lap around visual studio alm 2013
Lap around visual studio alm 2013
Angela Dugan
 
Selenium training eduxfactor
Selenium training   eduxfactorSelenium training   eduxfactor
Selenium training eduxfactor
KapilSai3
 
Tech Days 2015 nyheter i visual studio alm 2015
Tech Days 2015 nyheter i visual studio alm 2015Tech Days 2015 nyheter i visual studio alm 2015
Tech Days 2015 nyheter i visual studio alm 2015
Solidify
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
Dr Ganesh Iyer
 
Windows 10 application testing with the help of cloud-based solution - Apptim...
Windows 10 application testing with the help of cloud-based solution - Apptim...Windows 10 application testing with the help of cloud-based solution - Apptim...
Windows 10 application testing with the help of cloud-based solution - Apptim...
Apptimized
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stack
Bijoy Viswanadhan
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
Ganuka Yashantha
 
Full Testing Experience - Visual Studio and TFS 2010
 Full Testing Experience - Visual Studio and TFS 2010 Full Testing Experience - Visual Studio and TFS 2010
Full Testing Experience - Visual Studio and TFS 2010
Ed Blankenship
 
Development Practices & The Microsoft Approach
Development Practices & The Microsoft ApproachDevelopment Practices & The Microsoft Approach
Development Practices & The Microsoft Approach
Steve Lange
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
Visug
 
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Jen Wong
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1
Sun Technlogies
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
Ganuka Yashantha
 
Visual Studio Team System 2010
Visual Studio Team System 2010Visual Studio Team System 2010
Visual Studio Team System 2010
ukdpe
 
Improving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team SystemImproving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team System
matthewphillips
 
What's new in ALM using Visual Studio 2013 and Team Foundation Service
What's new in ALM using Visual Studio 2013 and Team Foundation ServiceWhat's new in ALM using Visual Studio 2013 and Team Foundation Service
What's new in ALM using Visual Studio 2013 and Team Foundation Service
Microsoft Visual Studio
 
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App Testing
Sencha
 
Lap around visual studio alm 2013
Lap around visual studio alm 2013Lap around visual studio alm 2013
Lap around visual studio alm 2013
Angela Dugan
 
Selenium training eduxfactor
Selenium training   eduxfactorSelenium training   eduxfactor
Selenium training eduxfactor
KapilSai3
 
Tech Days 2015 nyheter i visual studio alm 2015
Tech Days 2015 nyheter i visual studio alm 2015Tech Days 2015 nyheter i visual studio alm 2015
Tech Days 2015 nyheter i visual studio alm 2015
Solidify
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
Dr Ganesh Iyer
 
Windows 10 application testing with the help of cloud-based solution - Apptim...
Windows 10 application testing with the help of cloud-based solution - Apptim...Windows 10 application testing with the help of cloud-based solution - Apptim...
Windows 10 application testing with the help of cloud-based solution - Apptim...
Apptimized
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
SQALab
 

Viewers also liked (20)

Lista 2 - geografia
Lista 2 - geografiaLista 2 - geografia
Lista 2 - geografia
Gerson Coppes
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
Alessandro Alpi
 
Lietuviai praranda laisvę
Lietuviai praranda laisvęLietuviai praranda laisvę
Lietuviai praranda laisvę
Erika Bražienė
 
Acting In The Digital Age Workshop @UMFF
Acting In The Digital Age Workshop @UMFFActing In The Digital Age Workshop @UMFF
Acting In The Digital Age Workshop @UMFF
Rosalyn Coleman Williams
 
[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
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
Alessandro Alpi
 
PASS Virtual Chapter - SQL Server Continuous Deployment
PASS Virtual Chapter - SQL Server Continuous DeploymentPASS Virtual Chapter - SQL Server Continuous Deployment
PASS Virtual Chapter - SQL Server Continuous Deployment
Alessandro Alpi
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
Alessandro Alpi
 
2 67-1379416025-9. automation nad virtual.full
2 67-1379416025-9. automation nad virtual.full2 67-1379416025-9. automation nad virtual.full
2 67-1379416025-9. automation nad virtual.full
Kier Francisco
 
[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control
Alessandro Alpi
 
Directing teaching resume 2015
Directing teaching resume 2015Directing teaching resume 2015
Directing teaching resume 2015
Rosalyn Coleman Williams
 
Lista 5
Lista 5Lista 5
Lista 5
Gerson Coppes
 
[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support
[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support
[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support
Alessandro Alpi
 
Quick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL ServerQuick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL Server
Alessandro Alpi
 
Oraciones simples con solucionario (ppt)
Oraciones simples con solucionario (ppt)Oraciones simples con solucionario (ppt)
Oraciones simples con solucionario (ppt)
CastilloAguilera
 
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
Alessandro Alpi
 
Educational managment task_2
Educational managment task_2Educational managment task_2
Educational managment task_2
alexandersaa2013
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
Alessandro Alpi
 
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
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
Alessandro Alpi
 
Lietuviai praranda laisvę
Lietuviai praranda laisvęLietuviai praranda laisvę
Lietuviai praranda laisvę
Erika Bražienė
 
[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
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
Alessandro Alpi
 
PASS Virtual Chapter - SQL Server Continuous Deployment
PASS Virtual Chapter - SQL Server Continuous DeploymentPASS Virtual Chapter - SQL Server Continuous Deployment
PASS Virtual Chapter - SQL Server Continuous Deployment
Alessandro Alpi
 
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
[ITA] SQL Saturday 264 - Put databases in ALM backgrounds
Alessandro Alpi
 
2 67-1379416025-9. automation nad virtual.full
2 67-1379416025-9. automation nad virtual.full2 67-1379416025-9. automation nad virtual.full
2 67-1379416025-9. automation nad virtual.full
Kier Francisco
 
[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control[ITA] SQL Saturday 257 - Put databases under source control
[ITA] SQL Saturday 257 - Put databases under source control
Alessandro Alpi
 
[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support
[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support
[Ita] Sql Saturday 462 Parma - Sql Server 2016 JSON support
Alessandro Alpi
 
Quick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL ServerQuick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL Server
Alessandro Alpi
 
Oraciones simples con solucionario (ppt)
Oraciones simples con solucionario (ppt)Oraciones simples con solucionario (ppt)
Oraciones simples con solucionario (ppt)
CastilloAguilera
 
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
[ENG] Sql Saturday 355 in Parma - New "SQL Server databases under source cont...
Alessandro Alpi
 
Educational managment task_2
Educational managment task_2Educational managment task_2
Educational managment task_2
alexandersaa2013
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
Alessandro Alpi
 
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
 
Ad

Similar to #DOAW16 - DevOps@work Roma 2016 - Databases under source control (20)

Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
Sarah Dutkiewicz
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
Christian Thilmany
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
Steve Lange
 
Vsts 2
Vsts 2Vsts 2
Vsts 2
Mohamed Samy
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
IBM UrbanCode Products
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
Angela Dugan
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
Abdullah al Mamun
 
Mainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionMainframe Automation: A Panel Discussion
Mainframe Automation: A Panel Discussion
DevOps.com
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo
Daniel Semedo
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
Vincent Biret
 
DevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityDevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and Productivity
FredReynolds2
 
Cvs To Clear Case
Cvs To Clear CaseCvs To Clear Case
Cvs To Clear Case
robertodepalma
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer Toolsl
Sharan S
 
Salesforce DevOps Certification - Salesforce DevOps Training.pptx
Salesforce DevOps Certification - Salesforce DevOps Training.pptxSalesforce DevOps Certification - Salesforce DevOps Training.pptx
Salesforce DevOps Certification - Salesforce DevOps Training.pptx
himavanthvisualpath
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
Kamal Acharya
 
Team Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewTeam Foundation Server 2008 Overview
Team Foundation Server 2008 Overview
Steve Lange
 
The State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerThe State of DevOps Tools: A Primer
The State of DevOps Tools: A Primer
DevOps.com
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
Jasmine Conseil
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
Sarah Dutkiewicz
 
Alm Specialist Toolkit Team System 2008 Deep Dive
Alm Specialist Toolkit   Team System 2008 Deep DiveAlm Specialist Toolkit   Team System 2008 Deep Dive
Alm Specialist Toolkit Team System 2008 Deep Dive
Christian Thilmany
 
Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)Whats New In 2010 (Msdn & Visual Studio)
Whats New In 2010 (Msdn & Visual Studio)
Steve Lange
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
IBM UrbanCode Products
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Visual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools WalkthroughVisual Studio ALM and DevOps Tools Walkthrough
Visual Studio ALM and DevOps Tools Walkthrough
Angela Dugan
 
Mainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionMainframe Automation: A Panel Discussion
Mainframe Automation: A Panel Discussion
DevOps.com
 
Visual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximoVisual Studio 2015 - Lançamento está próximo
Visual Studio 2015 - Lançamento está próximo
Daniel Semedo
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
Vincent Biret
 
DevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityDevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and Productivity
FredReynolds2
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer Toolsl
Sharan S
 
Salesforce DevOps Certification - Salesforce DevOps Training.pptx
Salesforce DevOps Certification - Salesforce DevOps Training.pptxSalesforce DevOps Certification - Salesforce DevOps Training.pptx
Salesforce DevOps Certification - Salesforce DevOps Training.pptx
himavanthvisualpath
 
Dairy management system project report..pdf
Dairy management system project report..pdfDairy management system project report..pdf
Dairy management system project report..pdf
Kamal Acharya
 
Team Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewTeam Foundation Server 2008 Overview
Team Foundation Server 2008 Overview
Steve Lange
 
The State of DevOps Tools: A Primer
The State of DevOps Tools: A PrimerThe State of DevOps Tools: A Primer
The State of DevOps Tools: A Primer
DevOps.com
 
Part 2 improving your software development v1.0
Part 2   improving your software development v1.0Part 2   improving your software development v1.0
Part 2 improving your software development v1.0
Jasmine Conseil
 
Ad

More from Alessandro Alpi (13)

Mvp4 croatia - Being a dba in a devops world
Mvp4 croatia - Being a dba in a devops worldMvp4 croatia - Being a dba in a devops world
Mvp4 croatia - Being a dba in a devops world
Alessandro Alpi
 
Digital warriors 2020 - Smart?
Digital warriors 2020 - Smart?Digital warriors 2020 - Smart?
Digital warriors 2020 - Smart?
Alessandro Alpi
 
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers Sql Wars - SQL the attack of the Clones and the rebellion of the Containers
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers
Alessandro Alpi
 
Sql Wars - SQL Clone vs Docker Containers
Sql Wars - SQL Clone vs Docker Containers Sql Wars - SQL Clone vs Docker Containers
Sql Wars - SQL Clone vs Docker Containers
Alessandro Alpi
 
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL ServerDoaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Alessandro Alpi
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero team
Alessandro Alpi
 
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerSql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Alessandro Alpi
 
Configuration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile FrameworkConfiguration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile Framework
Alessandro Alpi
 
Basta poco per distruggere DevOps
Basta poco per distruggere DevOpsBasta poco per distruggere DevOps
Basta poco per distruggere DevOps
Alessandro Alpi
 
Automatizzare il processo di link dei database con redgate source control
Automatizzare il processo di link dei database con redgate source controlAutomatizzare il processo di link dei database con redgate source control
Automatizzare il processo di link dei database con redgate source control
Alessandro Alpi
 
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DB
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DBSql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DB
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DB
Alessandro Alpi
 
Sql Saturday a Pordenone - Sql Server journey, da dev a ops
Sql Saturday a Pordenone - Sql Server journey, da dev a opsSql Saturday a Pordenone - Sql Server journey, da dev a ops
Sql Saturday a Pordenone - Sql Server journey, da dev a ops
Alessandro Alpi
 
[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support
[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support
[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support
Alessandro Alpi
 
Mvp4 croatia - Being a dba in a devops world
Mvp4 croatia - Being a dba in a devops worldMvp4 croatia - Being a dba in a devops world
Mvp4 croatia - Being a dba in a devops world
Alessandro Alpi
 
Digital warriors 2020 - Smart?
Digital warriors 2020 - Smart?Digital warriors 2020 - Smart?
Digital warriors 2020 - Smart?
Alessandro Alpi
 
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers Sql Wars - SQL the attack of the Clones and the rebellion of the Containers
Sql Wars - SQL the attack of the Clones and the rebellion of the Containers
Alessandro Alpi
 
Sql Wars - SQL Clone vs Docker Containers
Sql Wars - SQL Clone vs Docker Containers Sql Wars - SQL Clone vs Docker Containers
Sql Wars - SQL Clone vs Docker Containers
Alessandro Alpi
 
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL ServerDoaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Doaw2020 - Dalla produzione alla QA, provisioning su SQL Server
Alessandro Alpi
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero team
Alessandro Alpi
 
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerSql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Alessandro Alpi
 
Configuration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile FrameworkConfiguration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile Framework
Alessandro Alpi
 
Basta poco per distruggere DevOps
Basta poco per distruggere DevOpsBasta poco per distruggere DevOps
Basta poco per distruggere DevOps
Alessandro Alpi
 
Automatizzare il processo di link dei database con redgate source control
Automatizzare il processo di link dei database con redgate source controlAutomatizzare il processo di link dei database con redgate source control
Automatizzare il processo di link dei database con redgate source control
Alessandro Alpi
 
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DB
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DBSql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DB
Sql saturday parma 2017 (#sqlsat675) - Deep space Cosmos DB
Alessandro Alpi
 
Sql Saturday a Pordenone - Sql Server journey, da dev a ops
Sql Saturday a Pordenone - Sql Server journey, da dev a opsSql Saturday a Pordenone - Sql Server journey, da dev a ops
Sql Saturday a Pordenone - Sql Server journey, da dev a ops
Alessandro Alpi
 
[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support
[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support
[Eng] Sql Saturday TorinoExpo - Sql Server 2016 JSON support
Alessandro Alpi
 

Recently uploaded (20)

Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Best 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat PlatformsBest 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat Platforms
Soulmaite
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
accessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electricaccessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electric
UXPA Boston
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
AI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological ImpactAI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological Impact
SaikatBasu37
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Kit-Works Team Study_아직도 Dockefile.pdf_김성호
Wonjun Hwang
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Best 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat PlatformsBest 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat Platforms
Soulmaite
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
accessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electricaccessibility Considerations during Design by Rick Blair, Schneider Electric
accessibility Considerations during Design by Rick Blair, Schneider Electric
UXPA Boston
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?Shoehorning dependency injection into a FP language, what does it take?
Shoehorning dependency injection into a FP language, what does it take?
Eric Torreborre
 
Building the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdfBuilding the Customer Identity Community, Together.pdf
Building the Customer Identity Community, Together.pdf
Cheryl Hung
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
AI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological ImpactAI and Gender: Decoding the Sociological Impact
AI and Gender: Decoding the Sociological Impact
SaikatBasu37
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 

#DOAW16 - DevOps@work Roma 2016 - Databases under source control

  • 1. getlatestversion Database under source control Alessandro Alpi (@suxstellino) Data Platform MVP since 2008 [email protected]
  • 2. DevOps concepts The Continuous pattern Source control manager Database vs Code Database Development tools and solutions Conclusions Q&A Agenda
  • 3. DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology(IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably (source Wikipedia) DevOps concept
  • 4. We will speak about… Development teams We’re writing code and features Sharing work We’re creating changesets that will be shared across the team Automation Every “checkin” should be automatically built and delivered Productivity A repeatable and reliable process will speed up our development
  • 5. We want reach these goals Add operations teams We want to bring our development in environments Sharing work with them Operations team must know development stuff and processes Automation is still needed We want to be able to write automated delivery processes Productivity is a must, also here This is true also for deploying the application
  • 6. What we need to reach DevOps IDE Source Control Manager (Version control system) Build server and process (also for automation) QA / Unit test process (automated) Release processes (automated and reliable) Integration OperationDevelopment
  • 7. The databases needs development The databases must be redistributed between teams The databases must be synced within the development environment The database will have «changes» associated to «activities» The database should be automatically tested The database should be automatically built The database should be checked for potential drifts And, of course, it’s a good thing to deploy it  DevOps and databases
  • 8. Automation of each step Continuous Integration (with Version Control System) Integration, at least daily, of the work done Development team Continuous Delivery (pre production release with automated builds and tests) Build server, unit testing frameworks, automatically triggered Pre production environments Cooperation with Operation team Continuous Deployment (automated production release, after acceptance) Release of the builds which pass UAT and QA tests Automated processes Cooperation with Operation team The “Continuous pattern”
  • 9. Continuous improvement leads to better software quality So, Continuous Integration helps us to improve with quality Database and Continuous Integration DEVELOPMENT + SEND TRIGGERED BUILD AUTOMATED UNIT TESTS “DONE” WORK SHARING
  • 10. The way we can version our database code Management of versions Changes of the code (and not only those) Shared entity during development stages Core of (automated) delivery Often used with other tools for managing teams Provides an interface (also graphic) Source control manager
  • 11. History of database items Safe storage of our files (persistence) Share development lines within the team Track of edits, by user Central point for (automated) database delivery Central point for (automating) builds and tests The real needs of every team about the code.. Source control manager, why?
  • 12. The DB can be a file «inside the application» The DB is «located on the server» The DB persists user data The DB is not all and only code However, the changes on the DB must be reflected to the whole development team The Source Control seems «uncomfortable», at first sight.. Source control manager, what about databases?
  • 13. The database IS code (programmability, ddl, grant, etc.) The «domain» tables are like many enums (static data). The DB should be changed in more development branches. Linked servers are configurations (like *.config) The login server are environment configurations The database persist the data. It’s not a *source control* problem Some data should be stored in Source Control Manager Code vs Database, are they really different?
  • 14. Our databases should be under source control management We can “get the latest version” We can see the differences between versions We can integrate our database IDE with the most popular SCM We can avoid to use a single dev server for workday How many times did you break the work of the other team members? Is there any better solution than having our development sandboxes? Finally we can reduce the gap between DBAs and DEVs (OOOOH! ) Last but not least, we will be ready for continuous improvement: Continuous integration DevOps related tasks In the end…
  • 15. A possible solution Visual Studio Team Serivices (formerly VSOnline) Source Control Manager in the cloud Core team management tool also Engine for automated tasks and releases Automated builds Release managements Team explorer as UI for managing versions/changesets RedGate SQL Source Control Versions/changesets tool for SQL Server Integrated with SSMS IDE
  • 16. Regardless of the tool we use, Team Explorer allows us to: Improve management of the changesets Improve association of changesets to tasks Improve control on commit/get/sync/pull/checkin phases Centralize management of checkin policy Single point for management of the team project For Red Gate SQL Source Control Used when in «Working folder» configuration For Visual Studio Team Services Used when getting the latest version and when sending changesets The team explorer
  • 17. SQL Source Control – Development models Shared Dedicated (suggested) One single dev server All the team works on the server Highly possible conflicts The last changeset wins on everything Cannot track versions between developers Workstations are dev servers Each team member works on its own sandbox No conflicts during development (only on send phase) Each check-in is a different changeset Each check-in is a different database version
  • 18. SQL Source Control – Link models Working folder Integrated with SCM Working base (in AppData folder) Analyze differences Avoid any SQL Server Api call Working folder (the Visual Studio Workspace) Store changes Show pending changes on Team Explorer Detected items on Team Explorer! Filesystem based Two phases for sending: save/checkin Two phases for getting differences: get/apply Simple to package Working base (in AppData folder) Analyze differences Avoid any SQL Server Api call Link with source control url Store changes remotely Show pending changes on SSMS Url based (SCM APIs) One click checkin on SCM via SSMS No get, SSMS is sync’ed when getting changes Simple to package
  • 19. The real scenario Sql Server Management Studio IDE Working folder File “.sql” Development Team Explorer to Source Control Code, History and Changesets Save Send GetApply Repository
  • 20. SQL Server Management Studio + Visual Studio Team Services LET’S PLAY
  • 21. Simply manage and track fixes Multiple development environments Branch the databases as the application Switch to different versions of the databases Label the changesets as for the application Integration with automated tools for deploying Ready for drift check during deployment Sync all the team to a certain version of the databases …much more  Advantages using SCM on databases
  • 22. Possible consideration How is our team structured? Which are the minimum requirements? How much can I spend? Can I afford the learning curve if I change IDE? However, we should really use the Source Control  Conclusions
  • 25. http://www.codinghorror.com/blog/2006/12/is-your-database-under-version-control.html http://odetocode.com/blogs/scott/archive/2008/01/30/three-rules-for-database-work.aspx http://odetocode.com/blogs/scott/archive/2008/01/31/versioning-databases-the-baseline.aspx http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-change-scripts.aspx http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-views-stored-procedures-and-the- like.aspx http://odetocode.com/blogs/scott/archive/2008/02/03/versioning-databases-branching-and-merging.aspx http://www.red-gate.com/products/sql-development/sql-source-control/ http://apexsql.com/sql_tools_source_control.aspx http://suxstellino.wordpress.com/tag/alm/ http://blogs.dotnethell.it/suxstellino/Category_2927.aspx http://blogs.msdn.com/b/ssdt/archive/2012/02/02/including-data-in-an-sql-server-database-project.aspx Resources
  • 26. My work SQL Server sotto source control Unit testing con SQL Server SQL Server Continuous Integration Putting our database under source control Unit testing on SQL Server databases with tSQLt ALM on docs.com Virtual chapter su SQL Server e source control ALM su getlatestversion.it getlatestversion
  • 27. Books SQL Server Source Control Basics Continuous Integration for databases Solving the database deployment problem SQL Server Team-Based Development
  • 29. http://bit.ly/DOAW16FEED1 Dedicateci 2 minuti del vostro tempo, e ci aiuterete a crescere e migliorare! Track Intro http://bit.ly/DOAW16FEED2 Track Avanzata