Nieuwe mogelijkheden met moderne cloudtechnologie

o31-technologie-datacenter-cloudoplossingen

Ooit was de cloud de magische oplossing voor eindeloze opslag en toegankelijkheid. Een decennium later is die magie verdwenen en is de cloud overal. Iedereen, van smartphonegebruiker tot datagrootverbruiker, maakt gebruik van de cloud. Met de opkomst van managed services zijn cloudoplossingen echt volwassen geworden. De voordelen voor ontwikkelaars en opdrachtgevers zijn groot. Infrastructuur en techniek zijn vanaf de start klaar voor gebruik en de ontwikkeling kan zich volledig focussen op functionaliteit en het slim combineren van bestaande platforms.

Artikel uit Objective 31, mei 2019 - ook beschikbaar als pdf

De evolutie van de cloud

Eigenlijk is het verhaal van de cloud een verhaal van een uitdijende infrastructuur. Een fileserver was vroeger een fysieke computer die ergens in een kelder stond te zoemen. Toen computers krachtiger werden, ontstond virtualisatie: op één fysieke machine konden meerdere virtuele servers draaien. Voor de gebruikers was er geen verschil merkbaar. De machine stond nog steeds te zoemen in de kelder, totdat groeiende bandbreedte en sneller datatransport het mogelijk maakten om virtuele servers op grote afstand op computers in een datacenter te laten draaien. Zelf een technische infrastructuur opzetten en beheren, zoals die server in de kelder, was opeens niet meer strikt noodzakelijk. De cloud bood onbeperkte opslagmogelijkheden en back-upfaciliteiten en was altijd beschikbaar vanaf elke locatie met een internetverbinding. En dit was nog maar het begin.

Als technologiebedrijf werken wij vooral met moderne cloudtechnologie in de vorm van managed services. Grote partijen als Amazon, Google en Microsoft bieden complete diensten aan zonder investering vooraf. Denk hierbij aan een kant-en-klare webserver of een database-server die direct in gebruik kan worden genomen, de keuze van het platform is aan de afnemer. Of, als we meer de technische diepte induiken: een containerservice voor het gebruik van Docker-containers met Kubernetes; een technologie om applicaties platformonafhankelijk te kunnen draaien. Het portfolio van managed services en platforms groeit snel.

Netwerk in de cloud

Met managed services beschikken we over een ‘blokkendoos’ voor het opzetten van een complete infrastructuur. Hiermee kunnen we snel complete netwerken in de cloud bouwen, inclusief volledig ingerichte virtuele servers, firewalls, load balancers etc. Een dergelijke ‘infrastructure as a service’ kan zelfs op een bepaalde geografische locatie worden neergezet. De drie grote cloudproviders bieden daarvoor availability zones: datacenters op specifieke locaties. Amazon heeft bijvoorbeeld datacenters in onder meer Frankfurt, São Paulo en Tokyo. Door te kiezen voor een specifiek datacenter heeft de opdrachtgever de garantie dat een virtuele infrastructuur draait op machines die zich fysiek bevinden op de gekozen locatie. Een belangrijke optie gezien de nationale en Europese wetgeving die geldt voor sommige toepassingen.

Terwijl aan de ene kant voortdurend nieuwe concepten als managed services en availability zones worden ontwikkeld, staan aan de andere kant de ‘oude’ voordelen van de cloud nog steeds stevig overeind: ultieme schaalbaarheid in opslagruimte, brede online beschikbaarheid en grote betrouwbaarheid. Hoewel zelfs de cloud geen 100% uptime kan garanderen, kun je met de juiste opties zeker in de buurt komen. Maar uiteindelijk bestaat ook een cloud gewoon uit racks met computers.

Werken in de cloud biedt naast flexibiliteit ook technologische voordelen. De cloudcenters zijn doorgaans dicht op de internetbackbone gebouwd, waardoor hoge datasnelheden en een grote verbindingsbetrouwbaarheid zijn gegarandeerd. Daarnaast hoeft een ontwikkelaar zich nooit zorgen te maken over zaken als stroomvoorziening, energiebehoefte en koeling. Die aspecten worden allemaal door de cloudprovider afgedekt.

Cloud-onafhankelijk werken in de cloud

Opdrachtgevers kiezen om verschillende redenen voor een oplossing in de cloud. Een van onze klanten, Energie Data Services Nederland (EDSN), zocht in een aanbesteding voor de ontwikkeling van een reeks IT-voorzieningen naar een partner, waarbij ‘anticiperend’ en ‘innovatie’ kernwaarden waren. Bovendien moest deze partner de balans kennen tussen het adequaat in stand houden van voorzieningen en inspelen op de juiste veranderingen. Uiteraard speelde schaalbaarheid ook een rol: het was nog niet bekend hoeveel applicaties zouden worden ontwikkeld en hoeveel data moest worden opgeslagen. Al deze eisen bij elkaar maakten het voor ons duidelijk dat we onze oplossing moesten baseren op cloudtechnologie.

‘Vendor lock-in’ (vastzitten aan één leverancier) is altijd een risico bij grote partijen als Amazon, Google of Microsoft. Technolution heeft leveranciersonafhankelijkheid echter hoog in het vaandel staan. In onze oplossing voor EDSN kozen wij daarom voor een ‘cloud-agnostische’ oplossing met Amazon Web Services. Dit lijkt een onmogelijke opgave. Toch kan het: een complete infrastructuur inrichten in de Amazon-cloud (of bij een van de andere grote providers) die in principe kan worden overgezet naar een andere cloudprovider of naar een eigen infrastructuur. We schrijven ‘in principe’, omdat het overzetten van een complexe infrastructuur naar een andere omgeving altijd de nodige voeten in de aarde heeft. Al was het maar omdat er al snel sprake is van enorme hoeveelheden aan data, niet iets dat je even oppakt en ergens anders neerzet. Cloud-agnostisch ontwikkelen betekent vooral: binnen de cloud zo veel mogelijk werken met platformonderdelen die zijn gebaseerd op opensource-componenten. Amazon biedt bijvoorbeeld de database-service Aurora, die is gebaseerd op de opensource-standaard MySQL. Dat betekent dat een export van de database met weinig aanpassingen kan worden ingelezen in een andere MySQL-implementatie.

Infrastructure as code

Een virtuele infrastructuur in de cloud heeft een duidelijk voordeel ten opzichte van een kantoorpand vol zoemende hardware: wanneer hij niet meer nodig is, kan hij eenvoudig worden opgeheven. Het omgekeerde geldt ook: met de huidige stand van zaken kunnen we met een aantal eenvoudige handelingen een complete infrastructuur inrichten in de cloud. Dit kan zelfs vrijwel volledig geautomatiseerd worden in scripts. In die scripts leggen we vast hoe de infrastructuur moet worden samengesteld. Bijvoorbeeld: een Kubernetes cluster van vier machines, een Active Directory Server, een load balancer en een hoog beschikbare Database service, inclusief netwerkroutering en firewalling. Het script wordt opgestart en een half uur later is deze hele infrastructuur klaar voor gebruik. Als we dit met ‘echte’ apparatuur en software zouden willen doen, zouden we al snel dagenlang bezig zijn.

Met deze methode, die Infrastructure as code wordt genoemd, wordt het heel eenvoudig om snel een testomgeving in te richten en pilots uit te voeren in een geïsoleerde setting. Voldoet het geteste systeem aan alle eisen? Dan maken we een kloon van de infrastructuur inclusief alle geïnstalleerde applicaties en de gebruikers kunnen aan de slag. Wij hanteren deze aanpak met succes binnen de ontwikkelingen voor EDSN. Het gevolg is dat we maximale controle hebben over de technische omgeving en ons volledig kunnen focussen op het ontwikkelen van de applicaties.

o31-technologie-datacenter-cloudoplossingen-2

De belangrijkste voordelen van de cloud op een rijtje:

  • Schaalbaarheid en flexibiliteit; opslag, infrastructuur en platforms zijn snel bij en af te schakelen.
  • Geen eigen infrastructuur nodig.
  • Grote stabiliteit en robuustheid; grote datacenters bieden automatische back-up en recovery van de infrastructuur. Altijd de laatste technologie beschikbaar. Cloudservices groeien mee met technologische ontwikkelingen.

Aandachtspunten

De voordelen van de cloud zijn dus groot. Uiteraard zijn er ook aandachtspunten. Bijvoorbeeld de kosten. Het bij- en afschakelen van cloudservices is in veel gevallen een kwestie van opties aan- of uitklikken. Het is gemakkelijk om te vergeten dat deze flexibiliteit ook een financiële kant heeft. Elke extra ingeschakelde cloud-optie brengt kosten met zich mee. Het aanmaken van een tijdelijke infrastructuur voor een pilot of een test maakt een aanmerkelijk verschil in de maandelijkse abonnementskosten. Financieel management van grotere projecten is daardoor moeilijker voorspelbaar. Het is cruciaal om goed in beeld te houden welke cloud-opties wanneer vereist zijn en te zorgen dat de beschikbare opties zo efficiënt mogelijk worden gebruikt. Dat geldt des te meer wanneer de oplossing binnen een resultaatverantwoordelijkheid wordt gerealiseerd, zoals Technolution dat gewend is in het EDSN-project. Uiteraard hebben ook de cloudproviders dit aspect geïdentificeerd. Zij spelen hier op in met slimme oplossingen, zoals spot services: goedkopere cloudservices, die alleen beschikbaar zijn op momenten dat het cloudcenter overcapaciteit heeft. Dit kan een oplossing zijn voor taken die niet direct hoeven te worden uitgevoerd.

Een ander aandachtspunt is technologisch van aard. Voor cloudsystemen is een koppeling met internet noodzakelijk. Dat kan een uitdaging zijn voor de integratie met sommige ‘real world’ systemen. Denk aan de koppeling met slimme energiemeters, die niet zomaar via internet benaderd kunnen of mogen worden. Of het aansturen van verkeersregelinstallaties vanuit verkeersmanagementsystemen. Voor zulke situaties zijn altijd oplossingen te vinden, zoals communicatie via een dedicated systeem, maar die zijn soms verrassend ingewikkeld.

De toekomst van de cloud

De technologische mogelijkheden van de cloud zullen de komende jaren verder groeien. Een recente ontwikkeling op dit gebied is bijvoorbeeld serverless computing: stukjes software die kunnen worden uitgevoerd zonder dat er een specifieke infrastructuur gedefinieerd is. De software zweeft als het ware in de cloud en reageert op vooraf gedefinieerde triggerwaarden en gebeurtenissen. Deze stukjes software (of services) functioneren uiteraard in een groter geheel, waarbij het aan de ontwikkelaar is hoe het geheel aan services samenhangt.

Daarmee wordt meteen duidelijk waarom grondige technische expertise onmisbaar is en blijft bij de ontwikkeling van systemen in de cloud. Vanaf een hoog niveau gezien lijkt de cloud een eenvoudige blokkendoos. Toch vragen zaken als de efficiënte inrichting van infrastructuren, het ontwikkelen en configureren van applicaties, managed services, en het maximaal uitnutten van nieuwe ontwikkelingen als serverless computing nog steeds om diepgaande kennis van zaken.

Contact:

jasper-molenmaker

Gerelateerde items

Vehicle-to-gridcommunicatie voor EV

Lees verder

Project

Flexibiliteit zoeken en bieden

Lees verder

Publicatie

Kostenreductie MS/LS-instrumentatie

Lees verder

Project

De stille revolutie van de intelligente machine

Lees verder

Publicatie