Schaalbaarheid
Schaalbaarheid is een requirement die hoog op de verlanglijstjes van gebruikers staat. Tijdens de selectie van software vragen ze er een keer naar bij de leveranciers en als het antwoord volstaat checken ze de box en gaan ze snel door met het volgende item. Er is echter meer aan de hand, een onvoldoende schaalbare oplossing kan in de toekomst grote problemen veroorzaken. Dit artikel gaat dieper in op schaalbaarheid en waar we op moeten letten.
Schaalbaarheid is de eigenschap van een systeem om een groeiende hoeveelheid werk aan te kunnen door resources aan het systeem toe te voegen.
In de informatica is schaalbaarheid een kenmerk van computers, netwerken, algoritmen, netwerkprotocollen, programma’s en applicaties. Een voorbeeld is een zoekmachine, die een toenemend aantal gebruikers moet ondersteunen, en het aantal onderwerpen dat wordt geïndexeerd.
Schaalbaarheid is dus een kenmerk van een systeem of applicatie dat aangeeft wat het vermogen is om goed blijven te presteren onder een verhoogde of groeiende werklast. Een systeem dat goed schaalt, kan zijn prestatie- of efficiëntieniveau behouden of zelfs verhogen, zelfs als de operationele eisen toenemen.
Schaalbaarheid hangt nauw samen met de term schaalvoordelen. Schaalvoordelen zijn voordelen die optreden als een bedrijf groeit, autonoom of door overnames. Dankzij een grotere schaal kunnen zij bijvoorbeeld hun productiekosten verlagen en de winstgevendheid verhogen naarmate ze groeien en meer produceren. Bij dit soort bedrijven zien we dan ook dat ze de schaalvoordelen vaak halen uit het samenvoegen van businessunits en het opheffen van dubbele functies. Dit gaat meestal gepaard met massa-ontslagen.
In de kern is een schaalbaar bedrijf een bedrijf dat zich richt op de implementatie van processen die leiden tot een efficiënte bedrijfsvoering. De workflow en structuur van het bedrijf zorgen daarbij voor schaalbaarheid.
Sommige technologiebedrijven hebben bijvoorbeeld een verbazingwekkend vermogen om snel op te schalen, waardoor ze grote groeimogelijkheden hebben. De achterliggende reden is het ontbreken van een fysieke inventaris en een Software as a Service (SaaS)-model voor het leveren van de ondersteunende diensten. Bedrijven met lage operationele overhead en weinig tot geen last van opslag en inventaris hebben niet veel middelen of infrastructuur nodig om snel te groeien.
Een schaalbaar bedrijf heeft effectieve meetinstrumenten, zodat het hele bedrijf op elk niveau te managen is. Dit beheer leidt tot de hierboven beschreven efficiënte bedrijfsvoering.
Het vermogen van SaaS-leverancier om on-demand te schalen, speelt een cruciale rol in ons langetermijnsucces. SaaS-schaalbaarheid stelt ons niet alleen in staat om wendbaar te blijven en zodoende te voldoen aan de eisen van klanten, maar stelt ons ook in staat om pieken op te vangen en snel te kunnen factureren. Er is echter wel een afhankelijkheid: elke dag of week waarmee onze SaaS-provider vertraagt in het opschalen van de capaciteit, creëert omzetverlies die we nooit meer kunnen terugverdienen.
Een SaaS provider biedt zijn services aan aan meerdere klanten. Daarvoor moet hij beschikken over een groot en zeer schaalbaar platform. Zijn klanten kunnen daardoor ongelimiteerd groeien zonder daarvoor andere bedrijven over te hoeven nemen.
Dankzij SaaS kunnen we:
Een andere belangrijke requirement van een SaaS-oplossing is de aanwezigheid van een klantenportal. Een dergelijk portal moet zelfvoorziening mogelijk maken. Iedere keer dat we extra middelen nodig hebben, liggen ze voor het oprapen. We kunnen namens onszelf handelen zonder op iemand anders te wachten. We moeten er wel rekening mee houden dat iedere handeling gepaard gaat met een aanpassing van de maandfactuur.
SaaS oplossingen staan eigenlijk altijd in de cloud. Dit betekent dat het gebruikte cloudplatform net zo schaalbaar moet zijn als de eisen aan de SaaS oplossing. De SaaS provider moet dus een cloudprovider selecteren die in staat is om te leveren als dat nodig is.
Het doel van cloudproviders is om schaalbare computercapaciteit en geavanceerde services on-demand te leveren. Daarvoor gebruiken ze servers, opslag- en netwerkinfrastructuur om onze volledige SaaS-bedrijfsworkloads te ondersteunen. Toch zijn niet alle cloudaanbieders hetzelfde. Daarom moeten SaaS providers letten op deze zes eisen aan een cloudcontract:
De schaalbaarheid van de cloud was een zegen voor bedrijven die zich voortdurend zorgen maakten over de kosten voor gegevensopslag en beveiliging. Vóór de cloud vergden gegevensopslag en -beheer veel investeringen en infrastructuur van bedrijven. Voor dergelijke bedrijven zijn cloudoplossingen met de kenmerkende voordelen van kostenefficiëntie en eenvoudige schaalbaarheid een zegen.
Opslag in de cloud was bijzonder gunstig voor kleinere bedrijven in een groeifase. Vergeleken met het bescheiden begin, is de cloud nu een toevluchtsoord waar de meeste activiteiten van veel bedrijven plaatsvinden.
Binnen een paar klikken kunnen we extra VM’s in gebruik nemen om de toenemende werkdruk aan te kunnen. Ook in de dienstverlening is er geen vertraging.
Op-/afschalen of scale-up / scale-out of diagonaal is zeer kostenefficiënt in vergelijking met het opzetten van een infrastructuur die het grootste deel van de tijd ongebruikt blijft.
Een schaalbare architectuur kan omgaan met plotselinge toename of afname van verkeer en dienovereenkomstig presteren. Er is geen verspilling van middelen of vertraging door onvoldoende infrastructuur.
Wanneer de zakelijke vereisten groeien, groeit ook de capaciteit. Een schaalbare cloud is door zijn ontwerp in staat om groei en gegevensvereisten te ondersteunen.
Schaalbaarheid stelt twee belangrijke eisen aan de onderliggende infrastructuur:
Het vermogen van een applicatie of product (hardware of software) om goed te blijven functioneren wanneer we hem in grootte of het volume veranderen om aan de behoeften blijven te voldoen. Meestal is het opnieuw schalen naar een groter formaat of volume. Het herschalen kan van het product zelf zijn (bijvoorbeeld een reeks computersystemen van verschillende groottes in termen van opslag, RAM, enzovoort) of in de vervanging van het schaalbare object naar een hogere versie (een software upgrade bijvoorbeeld).
Het is niet alleen het vermogen om goed te functioneren in de herschaalde situatie, maar ook om er daadwerkelijk optimaal van te profiteren. Een applicatie is bijvoorbeeld schaalbaar als we het van een kleiner naar een groter besturingssysteem kunnen verplaatsen. Daarbij moeten we ten volle kunnen profiteren van dat grotere besturingssysteem in termen van prestaties (responstijden) om zodoende een groter aantal gebruikers kunnen afhandelen.
Het is meestal gemakkelijker om opwaartse schaalbaarheid te hebben in plaats van neerwaartse. Dat komt omdat ontwikkelaars vaak volledig gebruik moeten maken van de systeembronnen (bijvoorbeeld de hoeveelheid beschikbare schijfopslag) wanneer een applicatie nog in ontwikkeling is. Een omgeving naar beneden schalen kan betekenen dat men probeert om dezelfde resultaten te bereiken in een meer beperkte omgeving.
Data-opslag en databases moeten om goed te blijven functioneren wanneer we ze in grootte of volume wijzigen. Hierbij maken we onderscheid tussen verticale-, horizontale-, diagonale- en Software Defined Storage schaalbaarheid.
Verticale (scale-up) schaalbaarheid vergroot de capaciteit van hardware of software door resources toe te voegen aan een fysiek systeem, zoals het toevoegen van verwerkingskracht aan een server om deze sneller te maken. Voor opschaalbare opslag betekent dit het toevoegen van meer apparaten, zoals schijfstations, aan een bestaand systeem wanneer meer capaciteit nodig is.
Horizontale (scale-out) schaalbaarheid verbindt meerdere items om als één logische eenheid te werken. Voor scale-out storage betekent dit het toevoegen van apparaten in verbonden arrays of clusters. Elk cluster kan veel knooppunten (apparaten) hebben en knooppunten kunnen geografisch zijn gescheiden. Dankzij een scale-out-architectuur is de initiële investering in opslag klein, omdat men toekomstige opslag naar behoefte kan toevoegen.
Deze manier van schalen kunnen we zien als een combinatie van verticale en horizontale schaalbaarheid. Met diagonaal schalen krijgt we de flexibiliteit om meer resources toe te voegen op basis van de behoeften onder specifieke omstandigheden. Als het verkeer toeneemt, schakelt het systeem resources bij, wanneer het verkeer afneemt, schakelt het de configuratie weer naar normaal.
Software Defined Storage (SDS) creëert een gevirtualiseerd netwerk van opslagbronnen door de beheersoftware te scheiden van de onderliggende opslaghardware. SDS-bronnen kunnen over meerdere servers verspreid en gedeeld zijn alsof ze zich op één fysiek apparaat bevinden. Dit type opslag maakt onbeperkte schaalbaarheid op aanvraag mogelijk.
Mogelijk is dit een vertaling van Google Translate en kan fouten bevatten. Klik hier om mee te helpen met het verbeteren van vertalingen.