Instructeur: Tegenwoordig
is cloud computing overal te vinden, en dat
komt echt omdat er zoveel grote voordelen zitten aan het gebruik
van cloud computing.
En dat is waar we ons in deze les op gaan richten
als we het gaan hebben
over de verschillende kenmerken van de cloud.
Als we het over cloud computing hebben, zijn er
een handvol voordelen of kenmerken die we zien als we
ervoor kiezen om de cloud te gebruiken.
Deze omvatten hoge beschikbaarheid, schaalbaarheid, elasticiteit,
gemeten gebruik, gedeelde
bronnen en bestandssynchronisatie.
Laten we deze eens bekijken.
Ten eerste hebben we hoge beschikbaarheid.
Hoge beschikbaarheid verwijst
naar het feit dat services zeer weinig
downtime ondervinden wanneer je de cloud gebruikt.
Dit komt omdat de meeste diensten die
in de cloud worden gebouwd, zeer betrouwbaar
en fouttolerant zijn.
Dit betekent dat we een hoge mate van beschikbaarheid kunnen garanderen.
Nu, als het gaat om beschikbaarheid,
meten we dit meestal in termen van een percentage
van hoeveel uptime er is versus hoeveel downtime.
Zo staat de gouden standaard binnen
netwerken bekend als vijf negens.
Vijf negens betekent 99. 999% uptime of beschikbaarheid
zoals ervaren door uw eindgebruikers.
Dit betekent dat we elk jaar slechts ongeveer vijf
minuten en 15 seconden downtime kunnen hebben.
Dat klopt, slechts vijf minuten en 15 seconden
over de hele 365 dagen in een jaar.
Om dat te kunnen doen, moet je beschikken
over zeer betrouwbare systemen die zeer beschikbaar zijn.
Dus als je één website hebt, heb
je in feite minstens twee webservers die deze
hosten.
Dus als er één uitvalt,
draagt de andere nog steeds de belasting
en dat betekent dat de eindgebruiker geen downtime ervaart.
Dat is waar we het over hebben
als we het over hoge beschikbaarheid hebben.
Bijvoorbeeld met mijn eigen website, diontraining. com hebben we eigenlijk een zeer
hoog beschikbare opstelling die is gemaakt
met behulp van cloudservices.
Dus afhankelijk van waar je vandaan komt in de wereld, bereik
je een van onze meerdere
servers in de wereld die het dichtst bij jou
in de buurt staat voor een betere ervaring.
Als je server om de een of andere reden down is,
word je automatisch omgeleid naar een andere server die iets verder
bij je vandaan ligt, maar nog steeds up is.
Op die manier krijg je nog steeds de service die je
zoekt en dat is een manier om hoge beschikbaarheid te garanderen.
Het tweede kenmerk van de cloud waar we het over gaan
hebben staat bekend als schaalbaarheid.
Als we het nu hebben over schaalbaarheid, dan
hebben we het over het feit dat we het aantal
mensen of het aantal dingen in
ons systeem lineair of minder dan lineair kunnen verhogen.
Wat ik daarmee bedoel
is dat ik 100 gebruikers heb die mijn systeem gebruiken
en dat het me $10 kost.
Nou, als ik 200 gebruikers op mijn systeem zet, zou het
me $20 of minder moeten kosten, en dat zou een lineaire schaal zijn.
Als ik nu van 100 naar 200 gebruikers ga en de prijs
gaat van $10 naar $100, dan zou dat een exponentiële
schaal zijn en dat willen we niet.
Dus terwijl we onze cloudsystemen uitbouwen,
zijn we altijd op zoek naar schaalbaarheid, en dat
betekent dat zelfs als we vandaag maar 10 gebruikers hebben, we er morgen
misschien wel 100 hebben.
De dag daarna hebben we er 1000,
de dag daarna misschien 10.000, enzovoort.
Als je kijkt naar
een aantal grote bedrijven zoals Facebook en Google
en LinkedIn en UNI, dan hebben zij miljoenen eindgebruikers die elke
dag toegang hebben tot hun platformen en zij zijn in
staat om op te schalen op basis van de schaalbaarheid
van cloudservices, want ik hoef niet nog
een server van $10.000 te
kopen voor in mijn lokale datacenter, want in
plaats daarvan kan ik gewoon die
van Amazon gebruiken en een deel van hun capaciteit
gebruiken als ik dat nodig heb.
Wat schaalbaarheid betreft, zijn
er twee manieren om te schalen.
Eén daarvan is om op te schalen, wat bekend staat als verticale schaal.
Dit gebeurt door meer bronnen toe
te voegen aan een bepaalde server of node.
Als je bijvoorbeeld een cloud-gebaseerde
server gebruikt die twee virtuele CPU's
heeft, kun je dat verhogen naar vier virtuele CPU's.
Dit is het idee van schaalvergroting.
Je voegt meer bronnen toe, of
dat nu meer processors, meer RAM, meer opslag, meer
bandbreedte of dat soort dingen zijn.
Aan de andere kant kun je ook naar buiten schalen,
wat bekend staat als horizontaal schalen.
Hierbij gebruik je nog steeds kleinere machines,
maar je gebruikt er
meer die allemaal samenwerken achter een loadbalancer.
Dus in plaats van één server te hebben die
al je belasting afhandelt en naar boven te schalen
door de CPU's en het geheugen te vergroten, kun je in plaats daarvan
naar buiten schalen en van één server naar twee servers
gaan, of van twee servers naar vier, of van vier naar acht, en je kunt naar buiten
blijven schalen door extra
servers toe te voegen achter je loadbalancer waarmee je dan
extra verkeer kunt afhandelen.
Dit brengt ons bij ons derde gebied,
dat bekend staat als snelle elasticiteit.
Als we het nu hebben over snelle elasticiteit, dan hebben
we het over het feit dat
we heel snel kunnen op- of afschalen.
Dit wordt gedaan omdat we gebruik maken van automatisering
en orkestratie met veel virtuele machines op deze
fysieke servers die eigendom zijn
van Amazon, Google, Microsoft en andere
bedrijven die ons in staat stellen om delen of al hun
diensten op aanvraag te gebruiken.
En dit geeft ons die snelle elasticiteit.
Als je de term snelle elasticiteit of elasticiteit
in het algemeen hoort, denk dan aan het vermogen van het systeem
om veranderingen in de vraag in realtime op te
vangen.
Laten we teruggaan naar het
voorbeeld van mijn website diontraining. com.
Als ik nu op mijn website kijk en er
zijn 1000 studenten ingelogd, en ik kijk over
vijf minuten en er zijn 10.000
studenten ingelogd, dan zijn mijn systemen
ontworpen om extra cloudresources
op te starten en een deel van de belasting van die nieuwe gebruikers
naar die extra services te duwen.
Dat is het idee van snelle elasticiteit.
Als je in de cloud werkt, heb je over
het algemeen, als je je systemen goed
hebt ontworpen, de mogelijkheid om snel elasticiteit
te hebben en heel snel op te schalen, en op dezelfde
manier, als de vraag wegvalt, kun je snel die extra servers wegdoen en
ze weer terugbrengen.
En de reden waarom je dat zou willen doen
is omdat al die extra servers je meer geld gaan kosten, en
als je niet genoeg gebruikers hebt om ze te hebben,
wil je daar niet voor betalen,
dus ga je ze vrijgeven en teruggeven aan je serviceprovider zodat
zij die service aan iemand anders kunnen verhuren.
In plaats daarvan, als je een on premise model gebruikt,
stel dat ik vandaag 1000 studenten had.
Nou, voor 1.000 studenten heb ik misschien drie webservers nodig.
Maar als ik naar 10.000 studenten
ga, heb ik nog eens 15 webservers nodig.
Om dat te doen, zou ik 15 extra servers moeten kopen.
Ik zou ze moeten rekken.
Ik zou alle software moeten installeren,
ik zou ze moeten configureren.
Dat kost allemaal tijd,
en dus is het niet erg snel in elasticiteitsmaatregelen
voor ons om op te schalen om aan die vraag te voldoen.
Als je een heel langzaam groeiend bedrijfsmodel hebt, is dat prima.
Maar als je te maken hebt met iets dat een hoge snelheid
heeft of een van deze moderne sociale mediaplatforms,
en iets wat je hebt gedaan is viraal gegaan en iedereen
gaat naar je website en begint je te overspoelen, als je niet
de mogelijkheid hebt om snel op te schalen, zul je
de mogelijkheid missen
om het verkeer vast te leggen dat afkomstig is van
dat viraal incident.
En dus wil je in staat zijn om je spullen
te bouwen op een snelle elastische manier,
en dat is waar de cloud ons toe in staat stelt.
Het vierde ding dat we hebben staat bekend als gedoseerd gebruik.
Dit gaat terug naar
de discussie over snelle elasticiteit die we net hadden.
Als we het nu hebben over gedoseerd gebruik,
dan hebben we het over het feit
dat we betalen voor een dienst op basis van betalen per gebruik.
Dus als we een gedoseerde service gebruiken, zoals een database, kunnen ze
ons kosten in rekening brengen
op basis van het aantal gebruikers of het
aantal verbindingen, of het aantal gegevens dat wordt opgeslagen.
In wezen worden we afgerekend op basis van
het werkelijke gebruik van de service die wordt verbruikt.
En dat doen we op secondebasis, minuutbasis,
uurbasis, dagbasis of zelfs maandbasis.
Ik gebruik bijvoorbeeld AWS Lambda
voor veel van mijn back-end automatiseringen en functies,
en ze rekenen me op basis van mijn gebruik.
Voor elke miljoen aanvragen die ik doe, brengen
ze me nu 20 cent in rekening.
En dus is het voor mij een heel efficiënte
manier om mijn automatiseringen te
doen, omdat het heel weinig kost.
Ik kan miljoenen en miljoenen aanvragen hebben
en het zou me maar een paar dollar kosten, en dat
is het idee van een bemeterde dienst.
Wat je ook zult zien is
dat er soms onderscheid wordt
gemaakt tussen gemeten en gemeten diensten.
Als we het hebben over gemeten diensten, hebben
we het eigenlijk over hetzelfde en
dat is ons vermogen om voor
iets te betalen op basis van verbruik.
Maar er is hier een verschil.
Als je een service met meter gebruikt,
betaal je voor dingen op
basis van het werkelijke gebruik van wat je hebt gedaan.
Dus als je denkt aan je
waterrekening of je elektriciteitsrekening thuis.
Als je deze maand je waterslang
hebt aangezet en je zwembad hebt gevuld,
ga je veel meer betalen voor
je waterrekening omdat je veel meer water hebt gebruikt.
Omgekeerd, als je te maken hebt met een gemeten service,
lijkt dit meer op je mobiele telefoonabonnement.
Op de meeste plaatsen betaal je een maandelijks bedrag voor een bepaalde
hoeveelheid gebruik van die mobiele telefoon, of dat
nu het aantal sms'jes, minuten of data is die je mag verbruiken.
En als je die limiet hebt bereikt,
stoppen ze je service en geven ze je niets meer tot
je opnieuw betaalt.
Dus als je denkt aan een gemeten dienst, denk
dan aan het feit dat je vooraf betaalt voor een bepaalde
hoeveelheid en of je er nu gebruik van maakt of niet, je hebt al
betaald voor die hoeveelheid.
Maar als je te maken hebt
met service op meter, betaal je voor de exacte hoeveelheid
die je gebruikt.
En dit is echt een van de voordelen van het gebruik van de cloud,
is dat de meeste dingen worden gedaan op een gedoseerde
basis waarbij je alleen betaalt voor wat je gebruikt.
Het volgende waar we het over gaan hebben is gedeelde bronnen.
Als we het nu hebben over gedeelde bronnen, hebben we het
echt over de mogelijkheid om onze kosten te minimaliseren omdat
we onze virtuele machines op de servers
van iemand anders kunnen zetten.
Als je kijkt naar de servers die we
gebruiken voor Amazon, Azure en Google Cloud,
die dingen kosten 10, 20, 30.000 dollar
per stuk voor een server van goede kwaliteit.
En dus als je er zo eentje moet
kopen om je WordPress blog te hosten, gebruik je niet
echt al die capaciteit, want als je maar een paar
honderd lezers hebt, zal het niet zoveel
belasting gebruiken.
In plaats daarvan is het veel logischer
om die ene echt dure server te nemen, hem in kleine
stukjes te knippen en hem in virtuele
machines uit te delen aan iedereen
die hem wil gebruiken.
We kunnen dus 50 of 100 WordPress blogs
hosten op die ene server in plaats van slechts één.
Dat is het idee van het gebruik van gedeelde bronnen.
Als we het hebben over gedeelde bronnen,
hebben we het over het samenvoegen van alle hardware
in het datacenter van de cloudaanbieder.
En op die manier is het niet toegewijd aan één
individu, maar kunnen we het allemaal gebruiken op basis van
snelle elasticiteit omdat, hopelijk, wat Amazon en Google en Azure
denken is dat wanneer er hoge periodes
van vraag zijn voor mijn bedrijf, er misschien lage
periodes zijn voor jouw bedrijf en vice versa.
Dus in plaats van dat we voor elk van onze bedrijven specifieke
hardwarebronnen moeten hebben,
kunnen we over de hele linie bronnen delen.
En het laatste kenmerk van de
cloud is de mogelijkheid om bestanden te synchroniseren.
Het mooie van het gebruik van cloudgebaseerde bronnen
is dat je iets op één plek kunt zetten
en dat het zich dan kan verspreiden naar
andere plekken op basis van hoe je het configureert.
In mijn bedrijf vertrouwen we bijvoorbeeld
veel op bestandssynchronisatie omdat de
meeste van onze mensen medewerkers op afstand zijn die over
de hele wereld werken, niet alleen in onze eigen kantoren.
Dus terwijl ik hier nu
in mijn kantoor zit om dit op te nemen, heb
ik een manier nodig om dit bestand aan mijn grafisch ontwerper te
geven, zodat zij alle verschillende dingen
kan maken die je op het scherm ziet terwijl ik praat.
En dan gaat ze het naar een
ander land sturen, waar mijn video-editor zich bevindt.
En als ze klaar zijn, sturen ze het terug naar
mijn kantoor waar een van mijn medewerkers
onze kwaliteitscontroles uitvoert, en dan sturen we het naar
een ander land die het uploadt naar de
uiteindelijke site waar
je het te zien krijgt.
En dus heeft deze ene video waarschijnlijk naar vier
of vijf verschillende plaatsen gereisd om het eindproduct
te worden dat je nu op het scherm ziet.
Dit is het idee van bestandssynchronisatie,
want als ik dit opneem, neem ik het op naar een cloud-gebaseerde
bestandsserver, iedereen in mijn team heeft toegang
tot dat bestand omdat we die gesynchroniseerde kopie op al
hun apparaten hebben en op al onze servers over de hele wereld,
zodat ze er toegang toe hebben en kunnen doen wat ze moeten doen.
En terwijl ze dat doen, staat
het niet alleen op hun computer,
maar wordt het gesynchroniseerd op al onze cloudservers,
zodat alle andere handelingen die moeten gebeuren tussen
het opnemen en publiceren, en vervolgens
het bekijken, op een zeer gestroomlijnde
manier kunnen gebeuren op al die servers.
En dat is een van de grote voordelen
van de cloud vanuit zakelijk oogpunt: je
hebt geen server in je kantoor staan.
Het bevindt zich nu
in de cloud in een datacenter dat beschermd is, dat hoog
beschikbaar is, dat schaalbaar
is en dat elastisch kan reageren
op hogere en lagere eisen.
We hoeven alleen te betalen voor
wat we gebruiken en we kunnen bronnen delen met andere
mensen die we misschien niet eens
kennen omdat we allemaal op dezelfde fysieke server zitten.
En dit zijn allemaal dingen
waar we het over hebben als we het over cloudkenmerken
hebben en waarom veel bedrijven over de
hele wereld naar de cloud zijn overgestapt.