Gebruik van single- en multi-tenant diensten bij SURFconext

De diensten die op SURFconext aangesloten worden, zijn vaak clouddiensten van externe leveranciers. Deze leveranciers leveren deze diensten over het algemeen als SaaS, Software-as-a-Service. De leverancier bekommert zich om de infrastructuur, applicaties en software van de dienst zodat de instelling hier geen omkijken naar heeft. De gebruiker van de instelling krijgt vervolgens toegang tot deze software, afgeschermd door SURFconext.

Leveranciers maken hun dienst beschikbaar voor één of meerdere instellingen en kunnen daarbij verschillende architecturen gebruiken. Dit artikel beschrijft de mogelijkheden voor dienstaanbieders om een SaaS-dienst schaalbaar aan instellingen aan te bieden via SURFconext.

Een op SURFconext aangesloten instelling die een eigen instellingsdienst aan SURFconext wil koppelen kan ook gebruik maken van de technologieën die in dit artikel worden besproken. Al zal dit alleen relevant zijn als deze dienst ook aan meerdere instellingen wordt aangeboden.

Wat betekenen single-tenant en multi-tenant eigenlijk?

Een tenant is een groep gebruikers met dezelfde toegangsrechten tot bepaalde software[1]. Een single-tenant dienst is een dienst of software instantie waar maar één groep gebruikers toegang toe heeft. Een multi-tenant dienst is een dienst waar meerdere groepen gebruikers toegang toe hebben. In een multi-tenant dienst gebruiken deze groepen ieder hun eigen deel van de software en de onderliggende database enzovoorts. De verschillende groepen zijn van elkaar afgeschermd en zien elkaars gegevens niet. Daardoor lijkt de multi-tenant dienst voor elke groep afzonderlijk ook een aparte dienst. Dit wordt verder in een volgende paragraaf uitgelegd.

Binnen SURFconext is een aangesloten instelling een voorbeeld van een tenant. Een single-tenant dienst wordt dan ingericht voor één specifieke instelling. Mediasite is bijvoorbeeld zo een single-tenant dienst. Deze videodienst geeft een instelling de mogelijkheid om een eigen versie van het videoplatform in gebruik te nemen. SURFconext koppelt de instelling aan deze versie van het videoplatform en zo wordt toegang geregeld voor één tenant.

3 volledig gescheiden single tenants
3 volledig gescheiden single tenants

Van een multi-tenant dienst kunnen meerdere instellingen gebruik maken. De multi-tenant dienst kan de groepen op verschillende manieren herkennen:

  • De standaardmanier is dat SURFconext alle instellingen naar één multi-tenant dienst verwijst. Dan zal de gebruiker, voordat hij kan inloggen op de dienst, een keuze moeten maken van welke instelling hij komt. Hij krijgt dan een ‘WAYF’ (Where Are You From) scherm te zien waar hij zijn instelling kan kiezen. Nadat de gebruiker is ingelogd, krijgt de dienst de beschikking over verschillende gegevens van de gebruiker (in de vorm van attributen; op deze Wiki-pagina vind je meer informatie over attributen  op basis waarvan de dienst de gebruiker kan indelen in groepen.

De dienst kan nu strikt een scheiding aanbrengen tussen gebruikers van verschillende instellingen, zodat de het lijkt alsof de dienst specifiek voor één instelling is.

De meeste multi-tenant diensten zijn echter flexibeler ingericht en kunnen ook instellingsoverstijgend samenwerken faciliteren. EDUgroepen maakt het bijvoorbeeld mogelijk om met een instellingsaccount in te loggen en met mensen van je eigen instelling een groep (of team) te vormen. Maar vervolgens kan ook aan medewerkers van andere instellingen toegang gegeven worden tot documenten in de dienst. Deze extra toegang kan gegeven worden op individuele basis of op basis van groepen uit SURFconext Teams.

  • Een andere, minder voorkomende optie is dat via SURFconext een instelling direct aan een bestaande groep binnen de multi-tenant dienst wordt gekoppeld. Een voorbeeld hiervan is Google Apps for Education. De groep wordt door het subdomein herkend; de URL van SURFnet is bijvoorbeeld: com/a/apps.surfnet.nl. Daar hebben alleen medewerkers van SURFnet toegang toe. Andere instellingen krijgen een ander subdomein.

     

Merk op dat dit voor de ‘buitenwereld’ gewoon een single-tenant dienst is. SURFconext ziet ieder subdomein als een aparte dienst en maakt directe koppelingen tussen de instelling en de dienst.

1 volledig multi tenant dienst
1 volledig multi tenant dienst

Lees verder

Op de Wiki wordt uitgebreid ingegaan op de architecturen voor single- en multi-tenant diensten en worden ook de voor- en nadelen afgewogen op basis van:

  1. Flexibiliteit
  2. Beveiliging
  3. Upgrades & releasemanagement
  4. Migratie & beschikbaarheid
  5. Schaalbaarheid & efficiëntie

Daarnaast wordt dieper ingegaan hoe met SURFconext de gebruikersgroep herkend kan worden in een multi-tenant dienst, welke attributen daarvoor geschikt zijn en wat daarvan de voordelen zijn.

[1] Let op, hier wordt toegang tot de dienst bedoeld, i.t.t. toegangsrechten binnen de dienst. Er kan sprake zijn van verschillende rollen binnen dezelfde tenant, bijvoorbeeld een beheerder die meer rechten heeft dan een reguliere gebruiker.

Reacties

Dit artikel heeft 0 reacties