Microsoft Data Platform Stack Overview
Tags: azure, database, mssql, architecture
Published: 2020-04-12 16:44:45

## Table Of Contents

- [Table Of Contents](#table-of-contents)
- [Motivation](#motivation)
- [On-premises software](#on-premises-software)
- [Cloud-based: Azure tools](#cloud-based-azure-tools)
- [Tabular overview from ETL to frontend](#tabular-overview-from-etl-to-frontend)
- [Development tools](#development-tools)
- [Programming languages used in Data Platform Stack](#programming-languages-used-in-data-platform-stack)

## Motivation

I vividly remember my very first time years ago when I had to explain a relatively simple business intelligence architecture to some people who never have heard of such architecture before. I've left them confused. Well, I can't blame them for I was talking with too many acronyms like SSAS, SSIS, SSMS, SSRS! During my career, I've learned a lot on how to explain this, but that is still no easy task if you're talking to people who are not familiar with the data world. And because Microsofts data platform family is still growing, this problem doesn't get any easier.

Unfortunately, even though I am very happy with Microsoft's documentation about their data stack, I am yet to find a good overview of all Data Platform Tools which you do not have to click through tons of links. Such one single site would help to get just an overview of the tools and tell concepts to people who are new to this topic.

This is what I aim to do with this post, a simple overview of all tools by Microsoft that somehow are related to the Data Platform Stack. I will focus on software by Microsoft only. Still, because this already contains so many tools, I will probably miss some. If you spot one or you believe that something is wrong, please drop a line in the comments! I will add or correct it and credit you! I also will try to maintain the links and add new tools by Microsoft. This page is also available on [Github](https://github.com/kaysauter/DataPlatformOverview/blob/master/README.md), so you may create a PR there as well. 

## On-premises software

| Tool Name                                                                                         | Explanation                                                                                                                                                                                                                                                                                                         | Costs                                                       |
| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| [SQL Server](https://www.microsoft.com/en-us/sql-server/)                                         | A the relational database solution software by Microsoft which is usually installed on-premises. It also can be installed on Virtual Machines in the cloud (Azure).                                                                                                                                                 | [Licensed per CPU, depending on edition and setup](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing) |
| [SQL Server Analysis Services](https://docs.microsoft.com/en-us/analysis-services/analysis-services-overview)             | SSAS is an analytical data engine that supports both multidimensional and tabular models. In short, it sort of aggregates and calculates data for analytical purposes. Usually, it consumes data from a data warehouse.                                                                                                  | [Licensed per CPU, depending on edition and setup](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing) |
| [SQL Server Integration Services](https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services) | SSIS is the SQL Server feature that ingests and transforms data that are to be loaded into a database, oftentimes to a staging database or a data warehouse.                                                                                                                                                             | [Licensed per CPU, depending on edition and setup](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing) |
| [SQL Server Reporting Services](https://docs.microsoft.com/en-us/sql/reporting-services)                                   | SSRS is an on-premises service which creates reports and dashboard which may be scheduled and subscribed by users. The focus of this solution is paginated reports.                                                                                                                                                         | [Licensed per CPU, depending on edition and setup](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing) |
| [Excel](https://products.office.com/en-us/excel)                                                  | Excel is a very powerful spreadsheet software that can present analyze and present data and is worldwide the most widely used software for this purpose. It can be connected to a SQL Server or SSAS or numerous other data sources.                                                                                | [Part of the MS Office package, different editions available](https://products.office.com/en-us/compare-all-microsoft-office-products) |
| [Power BI Premium](https://docs.microsoft.com/en-us/power-bi/fundamentals/power-bi-overview)              | A business analytics solution for dashboarding and other reports. The focus of Power BI is non-paginated reports. Its idea is to collaborate and share reports to analysts and other stakeholders with ease. It also can be used on mobile devices, hence having the focus on non-paginated reports and dashboards. It also contains SSRS. | [Subscription based](https://powerbi.microsoft.com/en-us/pricing/)         |
| [Machine Learning Services](https://docs.microsoft.com/en-us/sql/advanced-analytics/)             | A SQL Server Feature that provides abilities to use the programming languages R or Python for Machine Learning that can be executed directly on SQL Server.                                                                                                                                                         | [Licensed per CPU, depending on edition and setup](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing) |
| [Master Data Services](https://docs.microsoft.com/en-us/sql/master-data-services/)                | Manages the Master Data sets which also has something like version control of the master data. It makes it easier to ensure that the master data is as clean as possible.                                                                                                                                         | [Licensed per CPU, depending on edition and setup](https://www.microsoft.com/en-us/sql-server/sql-server-2019-pricing) |

## Cloud-based: Azure tools

| Tool Name                                                                                                      | Explanation                                                                                                                                                                                                                                                                                                               | Costs                                                                   |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| [Azure SQL](https://azure.microsoft.com/en-us/services/sql-database/)                                          | Microsofts SQL Servers pendant in the cloud. Its strengths rely on Azures' versatility and the possibility for elasticity and scaling-up or scaling out and are fully managed by Microsoft.                                                                                                                               | [Depends on various tier plans which depend on CPU, memory, and location.](https://azure.microsoft.com/en-us/pricing/details/sql-database/managed/) |
| [Azure Data Factory](https://azure.microsoft.com/de-de/services/data-factory/)                                 | The Azure data integration solution (ETL & ELT) while being managed by Microsoft. It can also use SSIS packages.                                                                                                                                                                                                        | [Depends on several factors like service type, tiers, etc.](https://azure.microsoft.com/en-us/pricing/details/data-factory/)                |
| [Azure Cosmo DB](https://azure.microsoft.com/en-us/services/cosmos-db/)                                        | Fully managed by Microsoft, is globally distributed for high availability and high speed and can use SQL and NoSQL alike. It also has elastic and automatic scaling.                                                                                                                                                      | [Depends on various tier plans which depend on CPU, memory, and location.](https://azure.microsoft.com/en-us/pricing/details/cosmos-db/) |
| [Azure Analysis Services](https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview) | A fully managed analysis service for tabular models on Azure. It is fully managed (Platform-as-a-service) by Microsoft. It does not support multidimensional models, neither PowerPivot for SharePoint.                                                                                                                   | [Depends on various tier plans which depend on CPU, memory, and location.](https://azure.microsoft.com/en-us/pricing/details/analysis-services/) |
| [Azure Machine Learning](https://azure.microsoft.com/en-us/services/machine-learning/)                         | Microsofts ML Service on Azure, which features a neat GUI which enables hardcore data scientists and mere mortal business analysts alike. The latter group may use pre-defined packages that were written by experts so that its usage is fairly easy.                                                                    | [Depends on various tier plans which depend on CPU, memory, and location.](https://azure.microsoft.com/en-us/pricing/details/machine-learning/) |
| [Azure Synapse Analytics](https://azure.microsoft.com/en-us/services/synapse-analytics/)                       | Specialised analytics solution for data warehouses and big data for extreme speed. It can work with non-relational data and "traditional SQL" alike; it also provides possibilities for monitoring and data visualization with Power BI. | [Depends on various tier plans which depend on CPU, memory, and location.](https://azure.microsoft.com/en-us/pricing/details/synapse-analytics/) |

## Tabular overview from ETL to frontend

| Data & Integration                                                                                | Data Storage                                                            | Data Computing                                                                                                                    | Analysis & Presentation                                                                                                           |
| ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [SSIS](https://docs.microsoft.com/en-us/sql/integration-services/sql-server-integration-services) | [SQL Server](https://www.microsoft.com/en-us/sql-server/)               | [SQL Server Analysis Services](https://docs.microsoft.com/en-us/azure/analysis-services/analysis-services-overview)                                                                                                      | [Excel](https://products.office.com/en-us/excel)                                                                                                                             |
| [Azure Data Factory](https://azure.microsoft.com/de-de/services/data-factory/)                    | [Azure SQL](https://azure.microsoft.com/en-us/services/sql-database/)   | [SQL Server Machine Learning Services](https://docs.microsoft.com/en-us/sql/machine-learning/what-is-sql-server-machine-learning) | [Power BI](https://powerbi.microsoft.com/)                                                                                        |
| [Master Data Services](https://docs.microsoft.com/en-us/sql/master-data-services/)                | [Azure Cosmo DB](https://azure.microsoft.com/en-us/services/cosmos-db/) | [Azure Machine Learning](https://docs.microsoft.com/en-us/azure/machine-learning/)                                                | [SQL Server Reporting Services](https://docs.microsoft.com/en-us/sql/reporting-services)                                          |
|                                                                                                   |                                                                         | [Azure Analysis Services](https://docs.microsoft.com/en-us/analysis-services/analysis-services-overview)                          | [Azure Synapse Analytics](https://azure.microsoft.com/en-us/services/synapse-analytics/)                                          |
|                                                                                                   |                                                                         |                                                                                                                                   | [Azure Machine Learning](https://docs.microsoft.com/en-us/azure/machine-learning/)                                                |
|                                                                                                   |                                                                         |                                                                                                                                   | [SQL Server Machine Learning Services](https://docs.microsoft.com/en-us/sql/machine-learning/what-is-sql-server-machine-learning) |


## Development tools

| Tool Name                 | Explanation                                                                                                                                                                                                                                              | Costs                                                            |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| [SQL Server Management Studio](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms)                      | SSMS is a Software to manage and query your SQL Server instances and databases.                                                                                                                                                                                    | Free                                                             |
| [Azure Data Studio](https://docs.microsoft.com/en-us/sql/azure-data-studio/download-azure-data-studio)         | ADS enables to manage and query SQL Server instances and databases with a focus on Azure. It is not as powerful as SSMS but has other strengths than SSMS, i.e. it can use Jupyter Notebooks.                                                            | Open Source & free                                               |
| [Visual Studio](https://docs.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide)             | An Integrated Development Environment which is used for developing SSAS and SSIS solutions, but also can develop databases although the latter is not so commonly used that way. Usually, SQL Server developers would prefer SSMS.                       | Community Edition free, other editions not                       |
| [SQL Server Data Tools](https://docs.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt)                      | SSDT which is a toolset living in Visual Studio. It enables you to create workflows for SSIS and create cubes (multidimensional and tabular for SSAS) and does not require a higher edition than community edition. SSDT exists as standalone software (shell) or within Visual Studio as an add-on. | Free                                                             |
| [Visual Studio Code](https://code.visualstudio.com/)        | A lightweight editor that allows installing an addon-for SQL Server for. It enables you to write a T-SQL Code similar to Azure Data Studio.                                                                                                              | Open Source & free                                               |
| [Extended Events](https://docs.microsoft.com/en-us/sql/relational-databases/extended-events/)           | Enables to monitor (tracing) of events on SQL Servers, etc. for troubleshooting or solving performance bottlenecks.                                                                                                                                      | Free (a feature of SQL Server, no extra costs for extended events) |
| [SQL Server Report Builder](https://docs.microsoft.com/en-us/sql/reporting-services/install-windows/) | This is a report builder for SSRS. It looks pretty much like Visual Studio minus the complexity Visual Studio gives because it is a complete and powerful IDE (Integrated Development Environment).                                                                                  | Free                                                             |
| [Power BI Desktop](https://powerbi.microsoft.com/en-us/desktop/) | Software for creating dashboards and reports that may be connected to various sources, including SQL Server, SSAS and a lot more. Allows writing code in R and Python. | Free | 


## Programming languages used in Data Platform Stack

| Language Name                                                                               | Explanation                                                                                                                                                                                                              |
| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [T-SQL](https://docs.microsoft.com/en-us/sql/t-sql/)                                        | Transact-SQL, the Structured Query Language variant for SQL Server which offers a rich and powerful automatization language for querying and administration of SQL Server                                                |
| [PowerShell](https://docs.microsoft.com/en-us/sql/powershell/)                              | A shell language for administring Windows, but there are also many important packages for the Data Platform Stack.                                                                                                       |
| [Python](https://docs.microsoft.com/en-us/sql/advanced-analytics/concepts/extension-python) | A widely-used general-purpose scripting language which is very popular for the use of Machine Learning and Data Science. SQL Server can execute Python directly. It can also be used in PowerBI Desktop or Azure ML.     |
| [R](https://docs.microsoft.com/en-us/sql/advanced-analytics/concepts/extension-r)           | A very popular functional language which focuses on statistical calculations and is helpful in Machine Learning and Data Science. SQL Server can execute R directly. It can also be used in PowerBI Desktop or Azure ML. |
| [DAX](https://docs.microsoft.com/en-us/dax/)                                                | Data Analysis Expressions is a functional language used for calculations on SSAS. It is used in SSMS, Visual Studio, PowerBI Desktop and Excel.                                                                          |
| [MDX](https://docs.microsoft.com/en-us/sql/mdx/)                                            | Multidimensional Expressions allows us to query multidimensional cubes on SSAS.                                                                                                                                          |



Cover photo by [Kolar.io](https://unsplash.com/photos/lRoX0shwjUQ) on [Unsplash](https://unsplash.com)