Agile Analytics: Automated Builds and Deployments

Slides:



Advertisements
Similar presentations
An Intro to ALM Using TFS and Visual Studio for Source Control, Build Automation, Continuous Integration, Deployments, and Task Management.
Advertisements

BizTalk Deployment using Visual Studio Release Management
René Balzano Technology Solution Professional Data Platform Microsoft Switzerland Database Development with SQL Server Data Tools (SSDT)
Pricing Changes MSDN subscriptions Stand- alone tool Team collaboration Release management Visual Studio Team Foundation Server Device CAL Visual Studio.
JourneyTEAM - – Tales From The Field: 2010 to 2013 Upgrade Horror Stories and How to Avoid Creating a Horror of Your Own.
SQL Server 2012 Session: 1 Session: 3 Introduction to SQL Server 2012 Data Management Using Microsoft SQL Server.
1 Chapter Overview Performing Configuration Tasks Setting Up Additional Features Performing Maintenance Tasks.
Isolated Database Environments Kevin Howell February 2014.
Database Projects in Visual Studio Improving Reliability & Productivity.
Infrastructure as code. “Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal.
Adxstudio Portals Training
Real World SQL Server Data Tools Benjamin
Please note that the session topic has changed
Continuous Deployments using SSDT
How To Build a Production-Ready SP 2013 Farm Martin Cox SharePoint / O365 Architect SharePoint 2013 BI Farm Setup Best Practices.
Continuous Integration and the Data Warehouse Dr. John Tunnicliffe Decision Analytics Independent BI Architect & Hands-On Developer Mobile:
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Ontolica Fusion 4.0 The easy Automation Tool for SharePoint Steen Jakobsen Fusion Principal Architect
Continuous Integration and the Data Warehouse Dr. John Tunnicliffe Independent BI Architect & Hands-On Developer Mobile:
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
Others Talk, We Listen. Managing Database Projects in Visual Studio 2013.
Continuous Integration and the Data Warehouse Dr. John Tunnicliffe Decision Analytics Independent BI Architect & Hands-On Developer
SQL Database Management
BI DevOps Jens Vestergaard, CatMan®Solution
MS BI ALM & TFS Microsoft Business Intelligence Application Life-Cycle Management with Team Foundation Server. (Thanks for acronyms)
Stress Free Deployments with Octopus Deploy
Before we start… If you have any questions than please use the chat windows. I will answer the questions before we start and any new questions will.
What’s new in SQL Server 2017 for BI?
SQL Server deployments
Continuous Integration and the Data Warehouse
- for the SSASMD Developer
Continuous Deployments using SSDT
Jon Galloway | Tech Evangelist Christopher Harrison | Head Geek
Deploying and Configuring SSIS Packages
SQL Server Data Tools for Visual Studio Part I: Core SQL Server Tools
Implementing a Continuous Integration strategy for Dynamics CRM
Full Exam Name: Microsoft Dynamics CRM 2016 Online Deployment
Dimodelo Solutions.
Build /21/2018 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
Solving ETL Bottlenecks with SSIS Scale Out
Azure Automation and Logic Apps:
Database Code Management with VS 2017 and RedGate
Microsoft /12/2018 8:06 AM BRK2103 Deliver more features faster with a modern development and test solution Claude Remillard Group Program Manager.
April Webinar: Advanced Configuration of Order Forms in Workflow
Populating a Data Warehouse
SQL Server Analysis Services Fundamentals
Populating a Data Warehouse
Populating a Data Warehouse
Populating a Data Warehouse
Collaborative Business Solutions
Populating a Data Warehouse
Continuous Deployments using SSDT
Continuous Deployments using SSDT
SSIS Deployment Smackdown!
SSIS Deployment Smackdown!
Continuous Deployments using SSDT
SSDT and Database Project Basics
Introduction to VSTS Database Professional
HCL’s Viewpoint – DevOps on MS Cloud
SSIS Data Integration Data Warehouse Acceleration
SSIS Data Integration Data Warehouse Acceleration
Bob Duffy 22 years in database sector, 250+ projects
Michelle Haarhues Keeping up with SSMS.
Wimmer Solutions Team Justin Barbara Meg SQL and PowerBI Developer
Introduction to ASP.NET Parts 1 & 2
Mark Quirk Head of Technology Developer & Platform Group
SSIS Data Integration Data Warehouse Acceleration
Continuous Integration and Delivery (CI/CD) in Azure Data Factory
SSDT, Docker, and (Azure) DevOps
Bringing source control to BI world!
Presentation transcript:

Agile Analytics: Automated Builds and Deployments Mike Diehl | Practice Lead, Databases and Business Intelligence Miked@Imaginet.Com Winnipeg , Calgary, Dallas, and everywhere!

Please Support Our Sponsors SQL Saturday is made possible with the generous support of these sponsors. You can support them by opting-in and visiting them in the sponsor area.

Don’t forget to silence your phone

Post Con

Before Agile… Chaos? Waterfall? Big design up front (BDUF)

Dev, Test, Prod – hard to synchronize Where are you? Dev, Test, Prod – hard to synchronize No source code control for database/BI assets Hard to control quality of Change scripts Fear of Change Chaos/Paralysis

What is Agile? Value-driven development Production Quality Iterative, incremental, evolutionary Minimize ceremony Just In Time Design Repeatable (and automatable) processes Collaboration

Agile Analytics http://theagilist.com/ Ken Collier, author of “Agile Analytics: A Value-Driven Approach to Business Intelligence and Data Warehousing”

Business Intelligence Assets SQL Database project(s) SQL Analysis Database project(s) SQL Integration Services project(s) SQL Reporting Server project(s)

Source Code Control Declarative Project Model The source code defines “how you want it”, not “how you change it” Source Code Control provides historical change records A target database is updated at deployment by determining what changes are required to make it match the compiled project You can o

Tools Visual Studio 2015 SQL Server Data Tools (SSDT) SQL Server 2016 SQL Management Studio Visual Studio Team Services https://you.visualstudio.com Free for five users

Agile Development Cycle Developer Code Compile Test Check In Build Agent Build (Test) Release

Build Environment VSTS Build/release agent SQL Server Hosted On premise SQL Server

VSTS Build/Release Agent Default hosted agent (runs in Azure cloud) Single one is free, can purchase more (~$40/month) On-premise agent ~$15/month for additional parallel builds Install once, self-updating Run as a service, use a domain account (easier for connecting to SQL Server services) Installed tools: Visual Studio 2015, SSDT, SQL Management Studio

VSTS Build Steps Trigger Compile Solution Copy Build Artifacts Check In By Request Scheduled Compile Solution Devenv.exe Copy Build Artifacts *.dacpac *.ispac *.asdatabase Deployment files

DEVENV.EXE (Compile Projects) Project support from MSBuild Compilation outputs: Database projects (*.sqlproj) - *.dacpac SSAS projects (*.tabproj) - *.asdatabase SSIS projects (*.dtsproj) - *.ispac SSRS projects (*.rptproj) – none!

VSTS Release Steps Trigger Get Build Artifacts Deploy artifacts Successful Build Release Pre-approval By Request Get Build Artifacts *.dacpac *.ispac *.asdatabase Deployment files Deploy artifacts Complete Release Post-approval

SQLPACKAGE.EXE (Database Deployment) C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin Connects to SQL Server (or Azure SQL Database) /Action:Publish /SourceFile:<project>.dacpac /Profile:<Database>.publish.xml Publish profiles Target server, database SqlCmd environment $(variable)s Uses compilation output <project>.dacpac and <db>.publish.xml profile

SQLPACKAGE.EXE (Database Update Script) C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin Connects to SQL Server (or Azure SQL Database) /Action:Script /SourceFile:<project>.dacpac /OutputPath:<database_name>.sql /Profile:<Database>.publish.xml Generates change script only Use in a Build definition and save the script as a build artifact Include the script in the pre-release approval workflow for review

SQLPACKAGE.EXE (Deployment Report) C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin Connects to SQL Server (or Azure SQL Database) /Action:DeployReport /SourceFile:<project>.dacpac /OutputPath:<database_deploy>.xml /Profile:<Database>.publish.xml Generates Xml summary of deployment actions Use in a Build definition and save the report as a build artifact Include the report in the pre-release approval workflow for review Bonus points: Use a PowerShell script and an XSLT file to transform the Xml report into an html file

Deployment Wizard (SSAS Deployment) C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\ManagementStudio\ Microsoft.AnalysisServices.Deployment.exe /a Answer Mode generates .deploymenttargets .deploymentoptions .configsettings Uses compilation output <Model>.asdatabase and answer files

ISDEPLOYMENTWIZARD.EXE (SSIS Deployment) C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn Connects to SQL Server Integration Services server Project Deployment Model SSISDB configured Create Folders for Dev, Test, Prod Create Environments Uses compilation output <Project>.ispac IsDeploymentWizard will not Create folders Create environments Configure projects with environment SSISDB has stored procedures to do this

SSRS Reports (Report deployment) Use Devenv.exe with Deploy target Use project/solution configurations for Dev, Test, Prod

VSTS Agent Security Connections to SQL Server services generally use Trusted Connections Using passwords is difficult, especially if you don’t want them in plain text anywhere SQLPACKAGE Agent account requires VIEW ANY DEFINITION permission for DeployReport and Script actions Requires dbo permission in target database Sysadmin server role allows for creation of new databases SSAS Deployment Agent account requires Administrator role membership for SSAS SSIS Deployment Agent account requires sysadmins role membership or SSISDB database role package_admins SSRS Deployment Agent account requires Contributor or Administrator permissions at the target server URL

Environment Configurations Database <db>.publish.xml Target server Target database SqlCmd variables SSAS <model>.deployoptions <model>.deploytarget <model>.something Overwrite options Retain, Deploy Processing option Full, Default SSIS SSISDB Environments Variables Connection Strings Deploy will not overwrite SSRS Project configuration Target server URL Target Folders

Thank you Mike Diehl Practice Lead, Databases and Business Intelligence Miked@Imaginet.Com Twitter: @xhead Winnipeg , Calgary, Dallas, and everywhere!