zondag 24 april 2011

Multi-tenant software architectuur.

Een multi-tenant (multi huurder) gebouw is een aanduiding die afkomstig is uit de vastgoed sector. Daar betreft het een bedrijfsverzamelgebouw bestaande uit bedrijfsunits waarin alle basisvoorzieningen benodigd voor algemene bedrijfsvoering zoals energie, telefonie, internet, sanitair, koffieautomaten maar ook vergaderzalen en spreekkamers centraal worden gedeeld door de huurders.
Het doel is om vooral startende ondernemers scherp geprijsde professionele bedrijfshuisvesting te bieden waarbij geen of weinig startkosten zijn gemoeid. De centrale kosten zijn in het huurbedrag verwerkt.

In softwareontwikkeling zie je een zelfde trent. In de vorm van software die als een enkele applicatie is ontwikkeld en centraal op een enkele server(omgeving) draait. De software is zo ingericht dat er per gebruikersessie wordt gekeken bij welke tenant (huurder) de gebruiker is aangesloten. Vervolgens wordt er een tenant specifieke omgeving getoond.

De techniek achter dit type software noemen we multi-tenant architectuur.
Bekende voorbeelden van multi-tenant applicatie’s zijn:
  • CMS systemen: Joomla, Wordpress of Dotnetnuke. 
  • Blogsites: Google Blogspot, Bloggy, Wordpress. 
  • Social media: Facebook, Hyves, Twitter. 
Deze applicatie’s hebben met elkaar gemeen dat je in meer of mindere mate je eigen omgeving virtueel kunt aanpassen naar je eigen wensen. Je bouwt als het ware je eigen website, echter achter de schermen deel je een enkele applicatie met andere deelnemers.
De voordelen van dit soort applicatie's voor de gebruikers zijn onder andere het flexibele en snelle opzetten van je eigen omgeving en natuurlijk ook de kosten.
De meeste multi-tenant applicatie’s bieden wel een gratis start omgeving waarin de basisfunctionaliteit wordt aangeboden.
Een ander voordeel is de schaalbaarheid en daarmee de exploitatiekosten. Aanbieders van multi-tenant applicatie’s kunnen bij succes eenvoudig de hardware uitbreiden naar meerdere of snellere servers. Er hoeft immers slechts een enkele applicatie opgeschaald te worden.
Uiteraard is er ook kritiek op deze techniek. De complexiteit van multi-tenant applicatie’s ligt in het algemeen gesproken hoger en ook de ontwikkelfase zal meer tijd in beslag nemen dan bij een traditionele applicatie. Echter dit zie ik als een nonissue. Een cloud applicatie zal niet uitgevoerd kunnen worden in een traditionele applicatie zonder een vorm van multi-tanancy.

Persoonlijk heb ik al een aantal jaren ervaring met multi-tenancy. Ik heb tal van modules geschreven voor CMS systemen en momenteel werk ik voor mijn huidige werkgever in de automotive branche voor een multi-tenant online catalogus.
Voor mij geeft deze architectuur een extra boost aan mijn motivatie omdat er nog veel ontgonnen gebied is op dit onderwerp. Daar bij geniet ik altijd weer van de verbazing van mijn opdrachtgevers als ik binnen een paar dagen een volledig nieuw ogende online catalogus kan aanbieden aan een van onze businespartners.

Geen opmerkingen:

Een reactie posten