SlideShare a Scribd company logo
1 of 29
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

More Related Content

What's hot

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 stackBijoy Viswanadhan
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development IntroductionGanuka 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 2010Ed Blankenship
 
Development Practices & The Microsoft Approach
Development Practices & The Microsoft ApproachDevelopment Practices & The Microsoft Approach
Development Practices & The Microsoft ApproachSteve 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 v1Sun Technlogies
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionGanuka Yashantha
 
Visual Studio Team System 2010
Visual Studio Team System 2010Visual Studio Team System 2010
Visual Studio Team System 2010ukdpe
 
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 Systemmatthewphillips
 
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 ServiceMicrosoft 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 TestingSencha
 
Lap around visual studio alm 2013
Lap around visual studio alm 2013Lap around visual studio alm 2013
Lap around visual studio alm 2013Angela Dugan
 
Selenium training eduxfactor
Selenium training   eduxfactorSelenium training   eduxfactor
Selenium training eduxfactorKapilSai3
 
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 2015Solidify
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practicesDr 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 testingSQALab
 

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
 
Test Automation Framework Development Introduction
Test Automation Framework Development IntroductionTest Automation Framework Development Introduction
Test Automation Framework Development Introduction
 
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
 
Development Practices & The Microsoft Approach
Development Practices & The Microsoft ApproachDevelopment Practices & The Microsoft Approach
Development Practices & The Microsoft Approach
 
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)
 
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...
 
Silk Performer Presentation v1
Silk Performer Presentation v1Silk Performer Presentation v1
Silk Performer Presentation v1
 
Testing in TFS
Testing in TFSTesting in TFS
Testing in TFS
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Visual Studio Team System 2010
Visual Studio Team System 2010Visual Studio Team System 2010
Visual Studio Team System 2010
 
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
 
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
 
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
 
The first looks at VSTS2010
The first looks at VSTS2010The first looks at VSTS2010
The first looks at VSTS2010
 
Lap around visual studio alm 2013
Lap around visual studio alm 2013Lap around visual studio alm 2013
Lap around visual studio alm 2013
 
Selenium training eduxfactor
Selenium training   eduxfactorSelenium training   eduxfactor
Selenium training eduxfactor
 
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
 
Agile testing - Principles and best practices
Agile testing  - Principles and best practicesAgile testing  - Principles and best practices
Agile testing - Principles and best practices
 
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...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 

Viewers also liked

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 IntegrationAlessandro 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 controlAlessandro 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 DeploymentAlessandro 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 backgroundsAlessandro 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.fullKier 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 controlAlessandro 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 supportAlessandro 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 ServerAlessandro 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_2alexandersaa2013
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerAlessandro 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 ServerAlessandro Alpi
 

Viewers also liked (20)

Lista 2 - geografia
Lista 2 - geografiaLista 2 - geografia
Lista 2 - geografia
 
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
 
Lietuviai praranda laisvę
Lietuviai praranda laisvęLietuviai praranda laisvę
Lietuviai praranda laisvę
 
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
 
[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
 
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...
 
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
 
[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
 
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
 
[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
 
Gordonas sausio
Gordonas sausioGordonas sausio
Gordonas sausio
 
Directing teaching resume 2015
Directing teaching resume 2015Directing teaching resume 2015
Directing teaching resume 2015
 
Lista 5
Lista 5Lista 5
Lista 5
 
[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
 
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
 
Oraciones simples con solucionario (ppt)
Oraciones simples con solucionario (ppt)Oraciones simples con solucionario (ppt)
Oraciones simples con solucionario (ppt)
 
[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...
 
Educational managment task_2
Educational managment task_2Educational managment task_2
Educational managment task_2
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
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
 

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

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.0Jasmine Conseil
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for DevelopersSarah 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 DiveChristian 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, ReleaseIBM UrbanCode Products
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build AutomationHeiswayi Nrird
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSAmazon Web Services
 
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 WalkthroughAngela Dugan
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
Mainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionMainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionDevOps.com
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...Amazon Web Services
 
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óximoDaniel 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 #SPFxVincent Biret
 
DevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityDevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityFredReynolds2
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslSharan S
 
Team Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewTeam Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewSteve 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 PrimerDevOps.com
 

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
 
Azure DevOps for Developers
Azure DevOps for DevelopersAzure DevOps for Developers
Azure DevOps for Developers
 
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
 
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)
 
Vsts 2
Vsts 2Vsts 2
Vsts 2
 
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
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWS
 
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
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Mainframe Automation: A Panel Discussion
Mainframe Automation: A Panel DiscussionMainframe Automation: A Panel Discussion
Mainframe Automation: A Panel Discussion
 
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Secto...
 
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
 
#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
 
DevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and ProductivityDevOps Automation: Boosting Efficiency and Productivity
DevOps Automation: Boosting Efficiency and Productivity
 
Cvs To Clear Case
Cvs To Clear CaseCvs To Clear Case
Cvs To Clear Case
 
Frequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer ToolslFrequently Used Off Host Developer Toolsl
Frequently Used Off Host Developer Toolsl
 
Team Foundation Server 2008 Overview
Team Foundation Server 2008 OverviewTeam Foundation Server 2008 Overview
Team Foundation Server 2008 Overview
 
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
 

More from 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 worldAlessandro 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 ServerAlessandro 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 teamAlessandro 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 ServerAlessandro 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 FrameworkAlessandro Alpi
 
Basta poco per distruggere DevOps
Basta poco per distruggere DevOpsBasta poco per distruggere DevOps
Basta poco per distruggere DevOpsAlessandro 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 controlAlessandro 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 DBAlessandro 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 opsAlessandro 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 supportAlessandro Alpi
 

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
 
Digital warriors 2020 - Smart?
Digital warriors 2020 - Smart?Digital warriors 2020 - Smart?
Digital warriors 2020 - Smart?
 
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
 
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
 
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
 
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
 
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
 
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
 
Basta poco per distruggere DevOps
Basta poco per distruggere DevOpsBasta poco per distruggere DevOps
Basta poco per distruggere DevOps
 
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
 
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
 
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
 
[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
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

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

  • 1. getlatestversion Database under source control Alessandro Alpi (@suxstellino) Data Platform MVP since 2008 alessandro.alpi@engageitservices.it
  • 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