MT Internals (enabling multi-tenant SaaS “in the cloud”)

Slides:



Advertisements
Similar presentations
Svetlin Nakov Director Training and Consulting Activities National Academy for Software Development (NASD) ASP.NET 3.5 New Features.
Advertisements

CollectionSpace for Technology Service Providers and Developers October 22,
Oracle SQL Developer Data Modeler 3.0: Technical Overview March 2011.
Adding services to PA and Plesk infrastructure with APS Ilya Baimetov Director of Program Management, Automation.
Thanks to Microsoft Azure’s Scalability, BA Minds Delivers a Cost-Effective CRM Solution to Small and Medium-Sized Enterprises in Latin America MICROSOFT.
Gold Sponsors Bronze Sponsors Silver Sponsors Taking SharePoint to the Cloud Aaron Saikovski Readify – Software Solution Specialist.
Kentico CMS 5.5 R2 What’s New. Highlights Intranet Solution Document management package – WebDAV support – Project & task management – Document libraries.
Intro to SharePoint 2013 Architecture Liam Cleary.
Physical Topology Logical Topology Authentication Licensing.
Adding scalability to legacy PHP web applications Overview Mario A. Valdez-Ramirez.
EXo Platform’s Webinar THE PRODUCT OVERVIEW DECEMBER Esslem Ghodbane EXO PRE-SALES CONSULTANT 2013.
“It’s going to take a month to get a proof of concept going.” “I know VMM, but don’t know how it works with SPF and the Portal” “I know Azure, but.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Manage & Configure SQL Database on the Cloud Haishi Bai Technical Evangelist Microsoft.
Sharing Geographic Content
Page  1 SaaS – BUSINESS MODEL Debmalya Khan DEBMALYA KHAN.
DYNAMICS CRM AS AN xRM DEVELOPMENT PLATFORM Jim Novak Solution Architect Celedon Partners, LLC
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
ManifoldCF for Content Acquisition
OFC 200 Microsoft Solution Accelerator for Intranets Scott Fynn Microsoft Consulting Services National Practices.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Configuration Management with Cobbler and Puppet Kashif Mohammad University of Oxford.
ISpheresImage iSpheresImage Feature Overview and Progress Summary.
Designing a Scalable Enterprise Project Management Architecture Ken Toole Platform Test Manager MS Project Microsoft Corporation.
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
Looking Ahead to Carbon 5 and Stratos 2 and Beyond By Afkham Azeez, Amila Suriarachchi.
DWR & Agency Geospatial Information Systems Services “Proposed DWR AGOL and Portal for ArcGIS Model” Danny Luong Nick Perez 8/12/14.
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … PRESENTED BY ROBERT FREEMAN (
Afresco Overview Document management and share
You are Here! Navigating SharePoint 1. Sharon Weaver 15 years designing, developing, and managing software 10 years SharePoint experience Six Sigma Black.
Launch Amazon Instance. Amazon EC2 Amazon Elastic Compute Cloud (Amazon EC2) provides resizable computing capacity in the Amazon Web Services (AWS) cloud.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Open Map Yamama Dagash & Haitham Khateeb under the supervision of: Benny Daon & Eyal Levin Open Map.
Top 10 missing features (and ways to add them) Axel Faust / Oksana Kurysheva.
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Audit API : Hints and Tricks Mehdi BELMEKKI, Consultancy Team Alfresco.
© 2014 IBM Corporation External Collaboration IBM Connections 5.0 Workshop IBM Ecosystem Development Duration: 30 minutes.
Monitoring Alfresco with Nagios/Icinga Toni de la Fuente Alfresco Senior Solutions Engineer Blog: blyx.com
Michael Mast Senior Architect Applications Technology Oracle Corporation.
Troubleshooting Laserfiche Systems
#SummitNow Super Size Your Search 14 th November 2013 Fran Alvarez (Zaizi)
Making the Most of a Hybrid Alfresco Solution From Genesys Telecommunications: Michael Katten, Director of Technical Publications Joe McMonagle, Manager.
Share Enhancements David Webster. Introduction Me: David Webster Alfresco Engineer Joined April 2010 UI The Session: Share Enhancements:
SourceForge Enterprise Edition and Collaborative Development Aaron Hamid 7/18/06.
MT Internals … enabling multi-tenant SaaS “in the cloud” Jan Vonka.
Explore Various Options for Bulk File Transfer out of Alfresco Craig Tan Technical Account Manager.
Crafter case: European Bank Piergiorgio Lucidi Open Source ECM Specialist Certified Alfresco Instructor and Engineer Alfresco Wiki Gardener and Forum Moderator.
Unlocking the Secrets of Alfresco Authentication Mehdi BELMEKKI, Consultancy Team Alfresco.
Enterprise Library 3.0 Memi Lavi Solution Architect Microsoft Consulting Services Guy Burstein Senior Consultant Advantech – Microsoft Division.
Introduction to Group Policy Lesson 7. Group Policy Group Policy is a method of controlling settings across your network. – Group Policy consists of user.
Architecting Enterprise Workloads on AWS Mike Pfeiffer.
ECM Subsystems Component View
Unit 3 Virtualization.
By: Raza Usmani SaaS, PaaS & TaaS By: Raza Usmani
Getting Started with Alfresco Development
Amazon Storage- S3 and Glacier
Open Source distributed document DB for an enterprise
StratusLab Final Periodic Review
StratusLab Final Periodic Review
Power BI Security Best Practices
Excel-to-PowerPoint Document Automation
SERVICENOW ADMIN & ADVANCED ONLINE TRAINING
SQL Server 2012 Licensing Overview.
Multi-Farm, Cross-Continent SharePoint Architecture
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … Presented by Robert Freeman (
Microsoft Office System 2007: Records Management
Cloud Web Filtering Platform
SPO Demos to Business Value Discussion Pillar Mapping
Presenter name goes here Presenter title goes here
08 | Configuring SharePoint Online
Presentation transcript:

MT Internals (enabling multi-tenant SaaS “in the cloud”) About me Jan Vonka, Senior Engineer @ Alfresco for over 5 years Core Repository team and Cloud technical lead, most recently implementing Hybrid Sync About the talk Multi-tenant internals … marketing: “enabling multi-tenant SaaS “in the cloud” (http://www.alfresco.com/evaluate) MT Internals (enabling multi-tenant SaaS “in the cloud”) Jan Vonka Core Repository - Cloud / Hybrid Services

Agenda Multi-Tenant (MT) Overview MT Core MT 4.x and “in the cloud” What’s new in Alfresco 4.x ? How does Alfresco “in the cloud” differ ? Summary and Feedback (Q & A) About the audience Who’s tried to use MT option (Community and/or Enterprise) ? Who’s has used Alfresco “in the cloud” … Network => Tenant

MT Overview

Repository (including Transforms) MT Overview 4.x instance – example 1 Share APIs / Protocols (CMIS, REST, WebDAV, …) On order of 4 machine nodes (physical and/or virtual) Repository (including Transforms) DB Content (Shared F/S) Search (Solr)

MT Overview 4.x instance – example 2 Share nodes APIs / Protocols (CMIS, REST, WebDAV, …) Repository Cluster R2 R1 R3 In addition, also load-balancers and/or web proxies On order of 10 to 15 machine nodes (physical and/or virtual) Transformer nodes T2 T1 T3 DB DB2 DB1 Content (Shared F/S) Search nodes Solr2 Solr1 Solr3

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

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

MT Overview Alfresco MT – multi-tenant (single instance) Content DB Search Index Alfresco Cluster T1 T2 T3 T4 Data is shown as logically partitioned, but in fact is co-mingled by default (in terms of DB, Content binaries and Solr indexes)

MT Overview Why use MT ? Economies of scale Easier to manage 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

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

MT Core

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

MT Core MT implementation – tenant context (cont’) workspace://@@acme.com@@SpacesStore Company Home Sites Site1, Site2, … User Homes fsmith@acme.com, jdoe@acme.com, … workspace://@@ano.co.uk@@SpacesStore fsmith@ano.co.uk, jdoe@ano.co.uk - alf_store (root_node_id) <- alf_node (<- alf_node_aspects, alf_node_properties) <= alf_child_assoc

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)

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

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)

MT Core See: node-services-context.xml <bean id="multiTNodeServiceInterceptor" class="org.alfresco.repo.tenant.MultiTNodeServiceInterceptor"> <property name="tenantService"> <ref bean="tenantService" /> </property> </bean> <bean id="mtAwareNodeService" class="org.springframework.aop.framework.ProxyFactoryBean" > <property name="targetName"> <value>dbNodeService</value> <property name="proxyInterfaces"> <list> <value>org.alfresco.service.cmr.repository.NodeService</value> </list> <property name="interceptorNames"> <value>multiTNodeServiceInterceptor</value> <bean id="dbNodeService" class="org.alfresco.repo.node.db.DbNodeServiceImpl" init-method="init" > <!-- … more here … ->

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

What’s new in Alfresco v4.x ?

What’s 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 4.0.2 / Community 4.2.a

What’s 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

How does Alfresco “in the cloud” differ ?

How does Alfresco “in the cloud” differ ? MT Core 4.x except hosted on AWS and … Alfresco Cluster DB (RDS) Content (S3) Search Index (Solr)

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” Key difference is support for Network switching Other Additional Network attributes (eg. type of Network, max file upload size …) Network usage / quota …

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. 15000 companies signed up in first 3 months Generic improvements get pushed back to core code

Futures

Futures 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 ? SPP – initially “in the cloud” Partitioning … eg. DB (multi-schema, multi-instance ?), Solr partitioning (multi-core, multi-instance ?) Optimise Enterprise networks/customers ? Refactor of Dynamic Models cache - eg. limited custom modeling in the cloud ?, CMIS 1.1 – optional type management support Public vs Private - … eg. public vs private instances “in the cloud” (likely single tenant, but not necessarily on-prem) => managed service … plus (optionally) hybrid

Summary

Summary MT Core What’s new in Alfresco 4.x ? Fully partitioned by tenant context What’s 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 … http://wiki.alfresco.com/wiki/Multi-Tenancy

Thank you  … Questions & Feedback. Photo credits: http://www