1 / 95

Windows Azure Multi-tenant applicatie

Windows Azure Multi-tenant applicatie. Bouwen van een multi-tenant applicatie in de praktijk. Edo van Asseldonk. Ordina Microsoft Solutions. Agenda. Introductie / Architectuur URL strategie / Tenant id Data opslag (SQL Azure, Table Storage) Maatwerk (UI / Business Logica) Cache

marin
Download Presentation

Windows Azure Multi-tenant applicatie

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows AzureMulti-tenant applicatie Bouwen van een multi-tenant applicatie in de praktijk

  2. Edo van Asseldonk Ordina Microsoft Solutions

  3. Agenda • Introductie / Architectuur • URL strategie / Tenant id • Data opslag (SQL Azure, Table Storage) • Maatwerk (UI / Business Logica) • Cache • Access Control Service

  4. MultitenancyDefinitie

  5. MultitenancyDefinitie …single instance of software serving multiple clients (tenants)… …een enkele softwareinstantie die meerdere klanten bedient…

  6. MultitenancyDefinitie

  7. MultitenancyDefinitie

  8. MultitenancyDefinitie • Iedere tenant heeft: • eigen data • eigen opmaak • eigen business logic • gemeenschappelijke codebase • gemeenschappelijk datamodel

  9. ArchitectuurOverview • Casus / Demo

  10. ArchitectuurOverview Table Storage ACS SQL Azure Webrole

  11. ArchitectuurOverview Table Storage ACS SQL Azure Webrole

  12. ArchitectuurOverview Eisen: • Tenantapplicatie bereikbaar via eigen url • Eén database schema • Eigen stijl per tenant • Self service • Share everything

  13. URL Strategie / Tenant id

  14. URL Strategie / Tenant idOpties Optie 1: Tenant bepalen a.d.h.v. ingelogde gebruiker http://www.MyMultitenantApp.nl/Home Geen referentie naar naam van tenant

  15. URL Strategie / Tenant idOpties https://www.chatter.com/nl/

  16. URL Strategie / Tenant idOpties https://eu1.salesforce.com/home/home.jsp

  17. URL Strategie / Tenant idOpties Optie 2: TenantId in URL http://www.MyTenantApp.nl/Home?tenantId=17 http://www.MyTenantApp.nl/17/Home http://www.MyTenantApp.nl/A219F47cd-898B/Home http://www.MyTenantApp.nl/WazugNL/Home

  18. URL Strategie / Tenant idOpties Optie 3: Tenant bepalen a.d.h.v. URL http://tenant1.MyTenantApp.nl/Home http://tenant2.MyTenantApp.nl/Home

  19. URL Strategie / Tenant idOpties Optie 3: Tenant bepalen a.d.h.v. URL http://tenant1.MyTenantApp.nl/Home http://tenant2.MyTenantApp.nl/Home http://www.customdomain.nl/ -> verwijst naar http://tenant2.MyTenantApp.nl

  20. URL Strategie / Tenant idOpties http://gaming.stackexchange.com/

  21. URL Strategie / Tenant idOpties http://programmers.stackexchange.com/

  22. URL Strategie / Tenant idOpties http://www.stackoverflow.com/

  23. URL StrategieIn Windows Azure [MyMultitenantApp].cloudapp.net

  24. URL StrategieIn Windows Azure [MyMultitenantApp].cloudapp.net [Tenant].cloudapp.net [Tenant].[MyMultitenantApp].cloudapp.net

  25. URL StrategieIn Windows Azure [MyMultitenantApp].cloudapp.net Domain name: MyMultitenantApp.nl

  26. URL StrategieIn Windows Azure [MyMultitenantApp].cloudapp.net Domain name: MyMultitenantApp.nl URLs: http://tenant1.MyMultitenantApp.nl http://tenant2.MyMultitenantApp.nl http://www.customdomain.nl

  27. Data Database

  28. DatabaseIntroductie Alle tenants in dezelfde database Twee issues: • Limiet aan databasegrootte • Limiet aan verwerkingscapaciteit (CPU, I/O etc.)

  29. DatabaseIntroductie Oplossing: • Database splitsen

  30. DatabaseIntroductie Oplossing: • Database splitsen -> SQL Azure Federations

  31. DatabaseIntroductie

  32. DatabaseIntroductie

  33. DatabaseIntroductie

  34. DatabaseIntroductie

  35. DatabaseIntroductie

  36. DatabaseIntroductie

  37. DatabaseIntroductie

  38. DatabaseIntroductie

  39. DatabaseIntroductie

  40. DatabaseIntroductie

  41. DatabaseIntroductie

  42. DatabaseIntroductie

  43. DatabaseIntroductie

  44. DatabaseIntroductie

  45. SQL Azure FederationsRoot database Root DB Root Table1 Root Table2 Root Table…

  46. SQL Azure FederationsCreate federation Root DB Member DB Root Table1 Root Table2 Root Table…

  47. SQL Azure FederationsCreate tables Root DB Member DB Root Table1 Root Table2 Member Table2 Member Table1 Root Table… Member Table…

  48. SQL Azure FederationsSplit federation member Root DB Member DB Root Table1 Root Table2 Member Table2 Member Table1 Root Table… Member Table…

  49. SQL Azure FederationsSplit federation member Root DB Member DB Root Table1 Root Table2 Member Table2 Member Table1 Root Table… Member Table…

  50. SQL Azure FederationsSplit federation member Member DB Member Table2 Member Table1 Root DB Member DB Member Table… Root Table1 Root Table2 Member DB Member Table2 Member Table1 Root Table… Member Table… Member Table2 Member Table1 Member Table…

More Related