Analysis Services in times of Continuous Integration

Slides:



Advertisements
Similar presentations
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Advertisements

USING CI & CD WITH MICROSOFT SQL SERVER Tim Giorgi Senior Software Developer Northwest Evaluation
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Julie Strauss Senior Program Manager Lead Microsoft Corporation
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
Building the cube – Chapter 9 & 10 Let’s be over with it.
Chris Menegay VP of Consulting Notion Solutions, Inc. DTL319.
Sofia Event Center May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with.
Others Talk, We Listen. Managing Database Projects in Visual Studio 2013.
Introduction to SSDT Daniel Maxic Important note: in order to make this presentation I have used some of the content.
Tools and technology usage in PFMS application lifecycle management process LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri.
SQL Server Analysis Services Fundamentals
BI DevOps Jens Vestergaard, CatMan®Solution
Automated Build and Test
Building Enterprise Applications Using Visual Studio®
Bringing Dynamism to OPNFV
Bringing DevOps to the Database
Bringing DevOps to the Database
Stress Free Deployments with Octopus Deploy
Benchmarking like a PRO
Continuous Deployment
Visual Studio Database Tools (aka SQL Server Data Tools)
5/15/2018 © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks.
Agile Analytics: Automated Builds and Deployments
What’s new in SQL Server 2017 for BI?
SQL Server deployments
From MDS to SSRS - a short walkthrough
CASE Tools and Joint and Rapid Application Development
Continuous Integration and Testing
Delphi or C++ Builder, with Subversion and Jenkins
Solving the Hard Problems
Microsoft Virtual Academy
Haritha Dasari Josue Balandrano Coronel -
SQL Server Integration Services
IBM Start Now Host Integration Solutions
An Intro to ALM Using TFS and Visual Studio for Source Control, Build Automation, Continuous Integration and Deployments.
CAE-SCRUB for Incorporating Static Analysis into Peer Reviews
Application Lifecycle Management – Best Practices for SharePoint and Office App development November 2015.
Introduction to SQL Server Analysis Services
Build /21/2018 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
SQL Server Data Tools Gert Drapers
Continuous Integration For Databases
Database Code Management with VS 2017 and RedGate
SQL Server Analysis Services Fundamentals
SQL Server Analysis Services Fundamentals
Populating a Data Warehouse
Automated Testing and Integration with CI Tool
Visual Studio Database Tools (aka SQL Server Data Tools)
Kasper de Jonge Microsoft Corporation
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Delivering Business Value Faster
DAT381 Team Development with SQL Server 2005
Multi-client SSAS deployment
Your code is not just…your code
Continuous Integration
SSDT and Database Project Basics
From MDS to SSRS - a short walkthrough
Introduction to VSTS Database Professional
Delivering Business Value Faster
A lightweight editor for SSAS Tabular Models built in .NET / WinForms
Keeping your SQL Code safe
Office 365 Development July 2014.
The Future of Database Development
The Future of Database Development
Azure Analysis Services or Power BI – Which service fits you best?
PNW SQL Users Group August 10th, 2011
SSDT, Docker, and (Azure) DevOps
Bringing source control to BI world!
Your code is not just…your code
The Future of Database Development (with containers)
Presentation transcript:

Analysis Services in times of Continuous Integration

THANKS to all Sponsors! EVENT SPONSORS EXPO SPONSORS EXPO LIGHT SPONSORS

Meet me at the Community Zone After this session, you can speak with me in the Community Zone WE MIGHT Discuss additional questions Review parts of my session in more detail Network Take selfies…  IMPORTANT : ONLY SHOW THIS SLIDE IF YOU HAVE COMMITED TO BE AT THE COMMUNITY ZONE

Gabi Münster g.muenster@oh22.net @SQLMissSunshine BI consultant at oh22data AG since 2010 Experience with SQL Server since version 2000 Main topics: SSAS (Multidimensional/Tabular), SSRS, MDS Speaker at chapter meetings, SQL Saturdays, Pass Summit, SQL Bits g.muenster@oh22.net @SQLMissSunshine https://www.linkedin.com/in/gabimuenster/

Agenda Motivation - Some words about CI Motivation - CI Best practices Challenges for CI in BI A possible approach Continous deployment Demo and a warning – It‘s c# coding time Summary

Motivation - Some words about CI Continuous Integration (CI) is a process well-known and often practiced in software development. It‘s aim is to prevent integration problems at a very early stage of development. Originally it covers the part of merging development versions of all developers into a single version and testing the validity of the combined version. But today CI is often used as a synonym for the complete process of guaranteeing integrity of the current version througout the whole environment.

Motivation - CI Best practices Maintain a code repository Automate the build Support by tools like Jenkins, Travis CI, GoCD Make the build self-testing And log the results Everyone commits to the baseline every day Daily check in by all developers and merge into a single version Every commit (to baseline) should be built Implement automated build & deploy processes triggered by check-in

Motivation - CI Best practices Keep the build fast Errors should be identifiable quickly Test in a clone of the production environment The closer the environment to the productive system the more reliable are the tests Make it easy to get the latest deliverables Involve testers and stakeholders Everyone can see the results of the latest build Make build and test results visible Automate deployment Analogously to automated build Supported by tools like Octopus Deploy

Challenges for CI in BI (I) Data layer, Business Logic and Frontend different projects or technologies Integration tests over complete environment Data models prohibit parallel development XML based models barely suitable for merging Little support by standard tools High change frequency for requirements, especially during first phases of a project

Challenges for CI with Analysis Services (I) Maintain a code repository Developing with SSDT allows for integration of the projects into Source Control (e.G. TFS or GIT) Not commonly used at the moment Recommendable Automate the build Today: Manually out of SSDT or by script Make the build self-testing Not common yet Tests from technical perspective could be deploy and process Unit tests (e.g. nBI)

Challenges for CI with Analysis Services (II) Everyone commits to the baseline every day Parallel development in SSAS is tricky. Merge in SSAS Tabular possible, especially with the new data model Merge in SSAS Multidimensional not recommendable But either way even the single developer should commit each day  Every commit to baseline should be built Implement automated build & deploy processes triggered by check-in E.G. using MSBuild Support by tools like Jenkins, Travis CI, GoCD

Challenges for CI with Analysis Services (III) Keep the build fast Builds of SSAS projects normally are, tests might not be  Test in a clone of the production environment Keeping environments up-to-date containing all elements of the BI landscape might get hard Usage of Azure environments might help Make it easy to get the latest deliverables Keep versions available for QA and business approvers The smaller the change sets, the easier the test Automatic deployment of the complete environment?

Challenges for CI with Analysis Services (IV) Everyone can see the results of the latest build No difficulties Automate deployment Analogously to automated build Big improvement e.g. for large OLAP databases: Do small tests by processing dimensions and small portions of the cubes for first test, automatic deployment will take care of e.g. a nightly full deployment Supported by tools like Octopus Deploy

A possible approach Code repository Integrate your SSDT project into Visual Studio Online Automatic build VS online support for existing templates or individual build processes Automatic tests Create tests with nBI and integrate those into your build process Automatic deployment Use results from your build to deploy to your other environments And how?

Continuous deployment Build processes generate artifacts you can use for deployment You can use scripting languages like PowerShell or C# to deploy those artifacts With C# you can also investigate existing databases. This will allow you do a kind of schema compare. A very advanced example of this is the BISM Normalizer from Christian Wade: http://bism-normalizer.com/ This will allow you to do a partial deployment as well.

How to deploy your deploy your build artifacts using c# How to deploy your deploy your build artifacts using c#? First trials of a BI person – It‘s coding time  Demo

Summary Several reasons like a different way of requirement handling and a slightly different project lifecycle makes integration of standard software development approaches into BI sometimes quite complex. Support by software vendors is also still not on a satisfactory level. So applying CI approaches to your BI projects will require a lot of effort and development on your side. But more and more tools and technologies are helping us with this and improving your standard processes as well as the quality and stability of your development is in my opinion a worthy goal to pay that price.

Some useful links AMO for multidimensional databases: ASSL AMO Concepts and AMO Model ASSL Analysis Services Scripting Language (ASSL for XMLA) AMO for Tabular (TOM) Introduction to the Tabular Object Model (TOM) in Analysis Services AMO TMSL Tabular Model Scripting Language (TMSL) Reference Schema Compare for Tabular: BISM Normalizer http://bism-normalizer.com/

Some useful links Continuous Integration Testing for BI Build Tools https://en.wikipedia.org/wiki/Continuous_integration Testing for BI http://www.nbi.io/ Build Tools https://jenkins.io/index.html https://travis-ci.org/ https://www.gocd.io/ Deployment Tools https://octopus.com/

Any questions?

Please evaluate all sessions! QR / LINK on posters and in program