Een Software Defined Data Center (in het Nederlands: een op software gebaseerd rekencentrum) is een rekencentrum waarbij de gehele infrastructuur is gebaseerd op software. Maar wat houdt dit nu precies in? Is het rekencentrum nu opeens een lege zaal geworden? Nee, er zitten nog steeds computers in het rack, er ligt nog steeds bekabeling en ook harde schijven zijn nog volop aanwezig. Dus wat betekent ‘software defined’ eigenlijk? Vanaf 1999 zijn we gewend geraakt aan het virtualiseren van servers. Bij server virtualisatie wordt er een laag software (de Hypervisor) geplaatst tussen de fysieke server en het besturingssysteem, met als doel de efficiëntie, de flexibiliteit en het beheer van de servers te verbeteren. Server virtualisatie maakt het mogelijk om meerdere servers samen te voegen op één fysieke server (de host), deze servers tussen hosts te verplaatsen, te klonen, snapshots te maken, hoge beschikbaarheid te leveren zonder speciale hardware, etc. etc. En deze virtualisatie maakt het ook mogelijk om het uitrollen van servers te automatiseren, zelf zover dat eindgebruikers dit zelf kunnen aanvragen, waarna deze, volgens een gecontroleerd proces (orchestratie), worden uitgerold en opgeleverd. Tot voor kort was virtualisatie beperkt tot de servers. Het netwerk, met als belangrijkste onderdelen: switches, routers, firewalls en loadbalancers, en de opslagcapaciteit, meestal een dubbel uitgevoerde centrale SAN, werden beheerd door aparte teams op specifieke, leveranciersafhankelijk hardware en software. En het zijn deze aparte omgevingen die een verdere professionalisering van het rekencentrum tot nu toe blokkeerden. Het heeft namelijk geen zin om automatisch servers uit kunnen rollen als de benodigde netwerken, firewall rules, loadbalancers en opslagcapaciteit daarna alsnog met de hand moesten worden geconfigureerd. Vanaf nu is het ook mogelijk om met netwerkvirtualisatie alle netwerktaken binnen het rekencentrum uit te laten voeren op dezelfde hosts als waar de (virtuele) servers op draaien. En dan niet door een router te implementeren als een virtuele machine, want dat zou maar een beperkte meerwaarde geven, maar als onderdeel van de hypervisor. De capaciteit van het netwerk schaalt dan automatisch mee met het aantal hosts, routering kan plaatsvinden binnen de hosts en firewall rules kunnen worden gebaseerd op de eigenschappen van de servers ipv op het ip-adres. Daarnaast levert netwerkvirtualisatie nog twee grote voordelen op:
  1. Het is mogelijk om een enorm aantal (maximaal 2^24 = 16777216) logisch gescheiden netwerken te definiëren op één enkel VLAN, zelfs met overlappende netwerkadressen, die elkaar niet kunnen zien. Dit wordt ook wel microsegmentatie genoemd.
  2. De firewall, tot nu toe alleen praktisch bruikbaar aan de buitenkant van het netwerk, kan nu ook gebruikt worden voor beveiliging van het netwerk aan de binnenzijde, dus tussen servers onderling, zonder dan een onbeheersbare brij van firewall rules ontstaat.
Is er dan nog wel een fysiek netwerk nodig? Ja, maar dat kan beperkt blijven tot de bekabeling en switches, en zonder ACL’s en VLAN’s. En de bonus? Het configureren van het netwerk kan volledig geautomatiseerd worden. En de SAN/NAS dan? Worden de disken ook virtueel? Nee, althans niet letterlijk. Wat wel kan is dat disken uit de verschillende hosts door middel van software georganiseerd worden als een enkel, logisch SAN, een zogenaamd Virtueel SAN. Maar de belangrijkste wijziging is dat er geen schijfruimte handmatig meer wordt uitgedeeld op basis van LUN’s, maar op basis van policies. Dit houdt in dat de hypervisor aan de SAN vraagt wat zijn capaciteiten zijn (denk aan eigenschappen zoals maximaal aantal IOPS, deduplicatie, thin/thick provisioning, backup retentie, etc. etc.) en dat automatisch diskruimte wordt uitgedeeld, dus zonder tussenkomst van een beheerder, op basis van deze policies (lees: eisen) die een specifieke virtuele machine van zijn disk(en) verlangt. En dit kan zowel op basis van een fysiek SAN/NAS, als op basis van een Virtueel SAN. En hiermee kan ook de toewijzing van opslagcapaciteit geautomatiseerd worden. Met een Software Defined Data Center kunnen de voordelen van virtualisatie, zoals al jaren bekend voor servers, nu ook behaald worden met de overige onderdelen van het rekencentrum, namelijk het netwerk, de beveiliging en de opslagcapaciteit. En omdat nu alles met software kan worden aangestuurd, is het rekencentrum ook als één eenheid te managen, uiteraard met software. Voeg een self-service portaal toe voor (geautoriseerde) eindgebruikers, en u heeft uw eigen (echte) cloud! En wat levert dit op voor uw business: Efficiëntie, flexibiliteit en controle!