Cloudcomputing
Cloudcomputing uitgelegd
Wat is cloudcomputing?
In de kern verwijst cloudcomputing naar het op aanvraag leveren van ict-middelen – waaronder servers, opslag, databases, netwerken, software, analyse en intelligentie – via het internet (‘de cloud’) met een betaal-per-gebruikmodel. In plaats van zelf een eigen ict-infrastructuur te bezitten en te onderhouden, kun je deze diensten afnemen bij een cloudprovider zoals SURF of een publieke cloudleverancier.
Verschil tussen HPC en cloudcomputing
Hoewel zowel High-Performance Computing (HPC) als cloudcomputing aanzienlijke rekenkracht bieden, dienen ze verschillende hoofddoelen en hebben ze verschillende architecturen:
- HPC (High-Performance Computing): Traditioneel ontworpen voor sterk gekoppelde, rekenintensieve taken die grootschalige parallelle verwerking en lage-latentieverbindingen vereisen. HPC-systemen zijn geoptimaliseerd voor specifieke wetenschappelijke simulaties, grootschalige data-analyse en complexe modellering waarbij snelheid en efficiëntie voor één grote taak cruciaal zijn. Ze maken vaak gebruik van gespecialiseerde hardware en worden doorgaans ingezet voor ‘scale-up’-problemen.
- Cloudcomputing: Biedt een flexibelere, schaalbare en vaak gevirtualiseerde omgeving. Het is ideaal voor een breed scala aan workloads, waaronder webapplicaties, data-analyse, ontwikkeling en testen, en algemene ict-infrastructuur. Cloudcomputing blinkt uit in ‘scale-out’-scenario’s, waarbij veel onafhankelijke taken gelijktijdig kunnen draaien op talrijke virtuele machines of containers. Het on-demand karakter en het betaal-per-gebruikmodel zorgen voor wendbaarheid en kostenefficiëntie bij wisselende workloads.
Wat zijn de voordelen van cloudcomputing?
Voor hoger onderwijs en onderzoek zijn de voordelen van cloudcomputing aanzienlijk:
- Schaalbaarheid en flexibiliteit: Middelen eenvoudig op- of afschalen op basis van projectbehoeften, zonder grote voorafgaande investeringen in hardware. Dit is essentieel bij wisselende onderzoeksvragen of variërende studentenaantallen.
- Kostenefficiëntie: Vermindering van kapitaalinvesteringen in hardware en infrastructuuronderhoud. Je betaalt alleen voor de middelen die je daadwerkelijk gebruikt.
- Toegankelijkheid: Toegang tot rekenkracht en data vanaf elke locatie en op elk moment, wat samenwerking tussen onderzoekers en studenten over instellingen en geografische grenzen heen bevordert.
- Innovatie en wendbaarheid: Snel nieuwe diensten implementeren, experimenteren met verschillende technologieën en onderzoekscycli versnellen.
- Betrouwbaarheid en beveiliging: Cloudproviders bieden vaak robuuste beveiligingsmaatregelen en hoge beschikbaarheid, waardoor dataintegriteit en continuïteit van diensten worden gewaarborgd.
- Focus op de kernmissie: Door het beheer van de infrastructuur over te dragen aan cloudproviders kunnen onderzoekers en docenten zich richten op hun academische en wetenschappelijke kerntaken.
Wat zijn de bekendste cloudtechnologieën?
In grote lijnen zijn clouddiensten op te delen in drie categorieën:
- IaaS (Infrastructure as a Service): Biedt de fundamentele bouwstenen van cloud-ict. Je huurt ict-infrastructuur – servers, virtuele machines (VM’s), opslag, netwerken en besturingssystemen – van een cloudprovider. Je beheert zelf je applicaties, data, runtime en middleware. Voorbeelden zijn SURF Research Cloud, Amazon EC2 en Google Compute Engine.
- PaaS (Platform as a Service): Biedt een complete ontwikkel- en implementatieomgeving in de cloud, met middelen om alles te leveren van eenvoudige cloudapplicaties tot complexe bedrijfsapplicaties. De provider beheert de onderliggende infrastructuur, waaronder servers, opslag en netwerken, terwijl jij je richt op je applicatiecode en data.
- SaaS (Software as a Service): Levert softwareapplicaties via het internet, op aanvraag en meestal op abonnementsbasis. De cloudprovider host en beheert de softwareapplicatie en de onderliggende infrastructuur en verzorgt onderhoud. Gebruikers maken eenvoudig via het internet verbinding. Voorbeelden zijn SURFdrive, Gmail en Microsoft 365.
De verschillen tussen deze categorieën kunnen goed worden uitgelegd aan de hand van welke onderdelen van de technologiestack door de cloudprovider worden beheerd. In het SaaS-model beheert de cloudprovider de volledige stack en is verantwoordelijk voor beveiliging, dataintegriteit en beschikbaarheid.
Wat is cloudnative?
Cloudnative is een benadering voor het bouwen en draaien van applicaties die volledig gebruikmaakt van de voordelen van het cloudcomputingmodel. Het gaat om het ontwerpen van applicaties die specifiek zijn geoptimaliseerd voor cloudomgevingen, vaak met behulp van technologieën zoals containers, microservices en serverless-functies.
Belangrijkste voordelen van cloudnative
Een belangrijk voordeel van cloudnative ontwikkeling is portabiliteit en verminderde vendor lock-in. Wanneer applicaties cloudnative zijn ontworpen, kunnen ze relatief eenvoudig worden verplaatst tussen verschillende cloudomgevingen (bijvoorbeeld van de ene publieke cloud naar een andere, of naar een hybride cloudopstelling). Dit biedt meer flexibiliteit en een exitstrategie als omstandigheden veranderen.
Een ander voordeel is de mogelijkheid om applicaties mee te laten schalen met de vraag. Bij hoge vraag moeten meer middelen beschikbaar zijn dan bij lage vraag. Het elastisch kunnen opschalen met de vraag is een kernkenmerk van cloudnative applicaties.