Wat betekent Space Based Architecture?
Wat betekent Space Based Architecture?
Space Based Architecture

Schaalbaarheid en performance van applicaties komen in traditionele gelaagde software architecturen in het gedrang door de overhead van communicatie en coördinatie tussen de verschillende systeemcomponenten. Om dit op te lossen zijn alle onderdelen binnen Space-Based Architecture (SBA) zelfvoorzienend en onderling onafhankelijk.

Robuuste en lineair schaalbare systemen

Space Based Architecture is een revolutionair paradigma dat bestaat uit een combinatie van messaging, caching, loadbalancing, en parallel processing, dat resulteert in robuuste en lineair schaalbare systemen.

SBA laat zich kenmerken door:

  • Het werkgeheugen van de productieservers wordt transparant gedeeld en vormt de 'space'. De space bestaat uit een aantal fysieke nodes.
  • Door de gelijkmatige verdeling van data over de nodes is de verwerking lineair schaalbaar.
  • Alle data die tijdens de transactie nodig zijn, zijn ter plekke beschikbaar en transactionele data verandert tijdens bestaan niet van node (caching).
  • De applicaties/services (processing units) die de data verwerken, draaien zelfstandig in iedere node van de space, direct bij de data (parallel processing).
  • De workflow tussen de verschillende applicaties gebeurt op basis van de data (messaging) en kan op verschillende manieren via de API's. Er is geen netwerk of disk I/O nodig voor de coördinatie tussen componenten (low-latency).
  • Robuustheid van het systeem wordt bewerkstelligd door backup-nodes te introduceren in de space (high availability), of door data (asynchroon of synchroon) naar een database of disk te schrijven.
  • De transparantie van SBA en het gebruik van frameworks zoals Spring maken het ontwikkelen van schaalbare applicaties bijzonder eenvoudig.

Doordat iedere node in de space zelfvoorzienend en onafhankelijk is, wordt het ook direct duidelijk wat de capaciteitswinst gaat zijn wanneer het systeem opgeschaald gaat worden. Dit kan statisch maar ook dynamisch, op basis van SLA's zoals de behoefte en (tijdelijk) benodigde verwerkingscapaciteit. Het schalen van een applicatie kan op een aantal manieren gebeuren:

Verticaal (scale up)

  • Door het toevoegen van geheugen, processoren aan de bestaande servers
  • Het starten van additionele processing units

Horizontaal (scale out)

  • Het toevoegen van nieuwe goedkope hardware en dit onderdeel te maken van de space.

Space-Based Architecture faciliteert in het ontwerpen en bouwen van dynamisch schaalbare SOA-omgevingen. Dit resulteert in duurzame en lineair schaalbare applicaties - tegen lagere kosten.