Presentation is loading. Please wait.

Presentation is loading. Please wait.

MT Internals (enabling multi-tenant SaaS in the cloud) Jan Vonka Core Repository - Cloud / Hybrid Services.

Similar presentations


Presentation on theme: "MT Internals (enabling multi-tenant SaaS in the cloud) Jan Vonka Core Repository - Cloud / Hybrid Services."— Presentation transcript:

1 MT Internals (enabling multi-tenant SaaS in the cloud) Jan Vonka Core Repository - Cloud / Hybrid Services

2 Agenda Multi-Tenant (MT) Overview MT Core MT 4.x and in the cloud Whats new in Alfresco 4.x ? How does Alfresco in the cloud differ ? Summary and Feedback (Q & A)

3 MT Overview

4 4.x instance – example 1 DB Content (Shared F/S) Content (Shared F/S) Search (Solr) Search (Solr) Share Repository (including Transforms) APIs / Protocols (CMIS, REST, WebDAV, …) APIs / Protocols (CMIS, REST, WebDAV, …)

5 MT Overview 4.x instance – example 2 DB DB2 DB1 Content (Shared F/S) Content (Shared F/S) Search nodes Solr2 Solr1 Solr3 Share nodes Sh2 Sh1 Sh3 Repository Cluster R2 R1 R3 Transformer nodes T2 T1 T3 APIs / Protocols (CMIS, REST, WebDAV, …) APIs / Protocols (CMIS, REST, WebDAV, …)

6 MT Overview Content DB Search Index Alfresco Alfresco vanilla – single-tenant (single instance)

7 Alfresco – single-tenant (multi-instance) MT Overview Content DB Search Index Alfresco Cluster Alfresco Cluster Content DB Search Index Alfresco Cluster Alfresco Cluster Content DB Search Index Alfresco Cluster Alfresco Cluster Content DB Search Index Alfresco Cluster Alfresco Cluster T1 T2 T3 T4

8 Alfresco MT – multi-tenant (single instance) MT Overview Content DB Search Index Alfresco Cluster T1 T2 T3 T4

9 MT Overview Why use MT ? Economies of scale Lower licensing / TCO Easier to manage Less administrative overhead, easier upgrades Scale Cloud – multi-tenant SaaS (Software as a Service) New use-cases Cloud – eg. B2B collaboration

10 MT Overview Alfresco has provided multi-tenant option since v3 Single instance / multiple tenants Each tenant can access logical repo Full partitioning (isolated tenants) UIs + APIs / Protocols Dynamic Models

11 MT Core

12 MT implementation – tenant context Auth (Security) ctx => fully qualified userid minimise impact on APIs + support standard protocols Internally partitioned by Alfresco store workspace://SpacesStore

13 MT Core MT implementation – tenant context (cont) Company Home Sites Site1, Site2, … User Homes … Company Home Sites Site1, Site2, … User Homes

14 MT Core MT implementation – create tenant When creating a tenant, we bootstrap the data … create tenant-specific stores (x5) Live store (workspace://SpacesStore) Version2 store Archive store User store System store add to alf_tenant table Tenant Domain, Enabled/Disabled, Content Root (if not co-mingled)

15 MT Core MT implementation – Services vs DAOs Services / APIs always accessed in tenant ctx notable exception is QuickShare service public/shared links => no login required Persistence DAOs direct use in some cases, apply to multiple / all (?) tenants eg. system-wide patches / jobs etc

16 MT Core Quick reference … something to review later MultiTServiceImpl TenantService Provides name mangling – injected in various services MultiTAdminServiceImpl TenantAdminService Manage tenants – create, disable / enable, delete MultiTNodeServiceInterceptor example that wraps (intercepts) generic NodeService instead of injecting TenantService (or extending)

17 MT Core See: node-services-context.xml dbNodeService org.alfresco.service.cmr.repository.NodeService multiTNodeServiceInterceptor

18 MT Core Other examples … Core Services, eg. NodeService -> FileFolderService ContentService SearchService WorkflowService (JBPM + Activiti since v4) … etc APIs & Protocols, eg. WebScripts CMIS WebDAV

19 Whats new in Alfresco v4.x ?

20 Whats new in Alfresco v4 Changes include: Activiti support for MT in addition to JBPM Solr support for MT core tracking, tenant ctx filter, … MT pre-configured (enable w/ 1st tenant) note: since Enterprise / Community 4.2.a

21 Whats new in Alfresco v4 Changes include: Alf_Tenant table replaces attribute list Common implementation eg. for (tenant-based) caches Various bug fixes & other related improvements from Cloud release + customer feedback

22 How does Alfresco in the cloud differ ?

23 MT Core 4.x except hosted on AWS and … Search Index (Solr) DB (RDS) Content (S3) Alfresco Cluster

24 How does Alfresco in the cloud differ ? … with Tenant (aka. Network switching) Unlike MT core, cloud allows Tenant switching User has primary tenant Can be invited to secondary tenants We split Tenant ctx from Auth ctx (see TenantUtil) Share + APIs support tenant switching via cloud extensions for: Share / Surf WebDAV protocol SharePoint protocol Core Repo APIs – including the new public API

25 How does Alfresco in the cloud differ ? Scaling – networks, users, sites, documents, … Hosted Core MT might be 100s of tenants Cloud supports 100s of thousands of tenants eg companies signed up in first 3 months Generic improvements get pushed back to core code

26 Futures

27 Health warning – this slide is speculative Driven by both Enterprise and Cloud use-cases Scaling – scale & partition tiers, as needed SharePoint Protocol Refactor of MT dynamic models (+ CMIS 1.1) More dynamic Share / platform (per-tenant overrides) Public / Private / Hybrid – MT vs ST … What would you like to see on the list ?

28 Summary

29 MT Core Fully partitioned by tenant context Whats new in Alfresco 4.x ? Activiti, Solr, … + improvements & bug fixes How does Alfresco in the cloud differ ? Network switching Please try it out Download latest Community 4.2 …

30 Thank you … Questions & Feedback ? Photo credits:


Download ppt "MT Internals (enabling multi-tenant SaaS in the cloud) Jan Vonka Core Repository - Cloud / Hybrid Services."

Similar presentations


Ads by Google