Video indexed and annotated for multi-tenant SaaS app using Azure SQL Database

APPLIES TO: Azure SQL Database

This article is an annotated index into the time locations of an 81 minute video about SaaS tenancy models or patterns. This article enables you to skip backward or forward in the video to which portion interests you. The video explains the major design options for a multi-tenant database application on Azure SQL Database. The video includes demos, walkthroughs of management code, and at times more detail informed by experience than might be in our written documentation.

The video amplifies information in our written documentation, found at:

The video and the articles describe the many phases of creating a multi-tenant application on Azure SQL Database in the cloud. Special features of Azure SQL Database make it easier to develop and implement multi-tenant apps that are both easier to manage and reliably performant.

We routinely update our written documentation. The video is not edited or updated, so eventually more of its detail may become outdated.

Sequence of 38 time-indexed screenshots

This section indexes the time location for 38 discussions throughout the 81 minute video. Each time index is annotated with a screenshot from the video, and sometimes with additional information.

Each time index is in the format of h:mm:ss. For instance, the second indexed time location, labeled Session objectives, starts at the approximate time location of 0:03:11.

The following titles are links to their corresponding annotated sections later in this article:

 

Annotated index time locations in the video

Clicking any screenshot image takes you to the exact time location in the video.

 

1. (Start) Welcome slide, 0:00:01

Learning from MYOB: Design patterns for SaaS applications on Azure SQL Database - BRK3120

Welcome slide

  • Title: Learning from MYOB: Design patterns for SaaS applications on Azure SQL Database
  • Bill.Gibson@microsoft.com
  • Principal Program Manager, Azure SQL Database
  • Microsoft Ignite session BRK3120, Orlando, FL USA, October/11 2017

 

2. Session objectives, 0:01:53

Session objectives

  • Alternative models for multi-tenant apps, with pros and cons.
  • SaaS patterns to reduce development, management, and resource costs.
  • A sample app + scripts.
  • PaaS features + SaaS patterns make SQL Database a highly scalable, cost-efficient data platform for multi-tenant SaaS.

 

3. Agenda, 0:04:09

Agenda

 

4. Multi-tenant web app, 0:05:00

Wingtip SaaS app: Multi-tenant web app

 

5. App web form in action, 0:05:39

App web form in action

 

6. Per-tenant cost (scale, isolation, recovery), 0:06:58

Per-tenant cost, scale, isolation, recovery

 

7. Database models for multi-tenant: pros and cons, 0:09:52

Database models for multi-tenant: pros and cons

 

8. Hybrid model blends benefits of MT/ST, 0:12:29

Hybrid model blends benefits of MT/ST

 

9. Single-tenant vs multi-tenant: pros and cons, 0:13:11

Single-tenant vs multi-tenant: pros and cons

 

10. Pools are cost-effective for unpredictable workloads, 0:17:49

Pools are cost-effective for unpredictable workloads

 

11. Demo of database-per-tenant and hybrid ST/MT, 0:19:59

Demo of database-per-tenant and hybrid ST/MT

 

12. Live app form showing Dojo, 0:20:10

Live app form showing Dojo

 

13. MYOB and not a DBA in sight, 0:25:06

MYOB and not a DBA in sight

 

14. MYOB elastic pool usage example, 0:29:30

MYOB elastic pool usage example

 

15. Learning from MYOB and other ISVs, 0:31:25

Learning from MYOB and other ISVs

 

16. Patterns compose into E2E SaaS scenario, 0:31:42

Patterns compose into E2E SaaS scenario

 

17. Canonical hybrid multi-tenant SaaS app, 0:46:04

Canonical hybrid multi-tenant SaaS app

 

18. Wingtip SaaS sample app, 0:48:01

Wingtip SaaS sample app

 

19. Scenarios and patterns explored in the tutorials, 0:49:00

Scenarios and patterns explored in the tutorials

 

20. Demo of tutorials and GitHub repository, 0:50:12

Demo tutorials and GitHub repo

 

21. GitHub repo Microsoft/WingtipSaaS, 0:50:32

GitHub repo Microsoft/WingtipSaaS

 

22. Exploring the patterns, 0:56:15

Exploring the patterns

 

23. Provisioning tenants and onboarding, 0:56:19

Provisioning tenants and onboarding

 

24. Provisioning tenants and application connection, 0:57:52

Provisioning tenants and application connection

 

25. Demo of management scripts provisioning a single tenant, 0:59:36

Demo of management scripts provisioning a single tenant

 

26. PowerShell to provision and catalog, 0:59:56

PowerShell to provision and catalog

 

27. T-SQL SELECT * FROM TenantsExtended, 1:03:25

T-SQL SELECT * FROM TenantsExtended

 

28. Managing unpredictable tenant workloads, 1:03:34

Managing unpredictable tenant workloads

 

29. Elastic pool monitoring, 1:06:32

Elastic pool monitoring

 

30. Load generation and performance monitoring, 1:09:37

Load generation and performance monitoring

 

31. Schema management at scale, 1:09:40

Schema management at scale

 

32. Distributed query across tenant databases, 1:11:18

Distributed query across tenant databases

 

33. Demo of ticket generation, 1:12:28

Demo of ticket generation

 

34. SSMS adhoc analytics, 1:12:35

SSMS adhoc analytics

 

35. Extract tenant data into Azure Synapse Analytics, 1:15:46

Extract tenant data into Azure Synapse Analytics

 

36. Graph of daily sale distribution, 1:16:38

Graph of daily sale distribution

 

37. Wrap up and call to action, 1:17:43

Wrap up and call to action

 

38. Resources for more information, 1:20:35

Resources for more information

Next steps