Kevin Bogusch | Senior Competitive Intelligence Analyst | 24 januari 2024
De kosten die gepaard gaan met uitgaand dataverkeer zijn een onwelkome verrassing waarmee veel organisaties al vroeg in hun cloudmigratietraject worden geconfronteerd. Hoewel cloudservices zoals virtuele machines en opslag vaste prijzen hebben, zijn de kosten om gegevens uit de cloud te verplaatsen variabel en vaak onvoorspelbaar.
Wanneer organisaties hier kennis van nemen, overwegen ze vaak om hun applicaties opnieuw te ontwerpen om de hoeveelheid gegevens die tussen netwerksegmenten worden verstuurd te verminderen. Dit kan door technieken zoals compressie en deduplicatie toe te passen, of door een cachinglaag toe te voegen die de hoeveelheid gegevens die over het netwerk gaan vermindert. Idealiter zouden bedrijven die naar de cloud overstappen, hun applicaties moeten ontwerpen met deze overwegingen in gedachten, om de kosten van gegevensoverdracht te minimaliseren en de prestaties te verbeteren.
Uitgaand dataverkeer in de cloud verwijst naar alle informatie die het netwerk van een cloudprovider verlaat naar een andere locatie. Die andere locatie kan een on-premises datacenter zijn, een ander clouddatacenter in een andere regio, een 'beschikbaarheidszone' (datacenter) in dezelfde cloudservice of zelfs een ander virtueel netwerk binnen hetzelfde datacenter.
Cloudproviders variëren, soms aanzienlijk, in hoe en hoeveel ze in rekening brengen voor uitgaand dataverkeer, dus is het belangrijk om de componenten te begrijpen die in hun berekeningen voor uitgaand dataverkeer meespelen. Regio's zijn bijvoorbeeld locaties die doorgaans bestaan uit meerdere datacenters binnen een nauwe geografische grens. Clouddiensten bieden normaal gesproken voldoende netwerkconnectiviteit tussen regio's om maximaal beschikbare, regio-overschrijdende applicaties te ondersteunen. Gegevens die van de ene regio naar de andere worden verplaatst, worden gemeten en meestal aangerekend op basis van het aantal gigabytes aan verzonden gegevens.
Beschikbaarheidszones zijn het andere primaire concept voor de beschikbaarheid van clouddiensten. Hoewel elke cloudprovider een iets andere naam heeft voor dit begrip, waaronder "beschikbaarheidsdomeinen" of simpelweg "zones", omvat het concept meerdere datacenters in dezelfde geografische regio die diverse netwerken en stroomleveranciers hebben en die daarom waarschijnlijk niet tegelijkertijd uitvallen. Cloudproviders moedigen aan om diensten in meerdere beschikbaarheidszones te draaien voor hoge beschikbaarheid, maar gegevens die van de ene zone naar de andere worden verplaatst, worden gemeten en kunnen per gigabyte in rekening worden gebracht.
Organisaties profiteren van meerdere voordelen wanneer ze IT-systemen naar een cloudcomputingmodel verplaatsen. Voorbeelden hiervan zijn het ontsluiten van de bedrijfswaarde van moderne cloudeconomie, snellere IT-verbeteringen, hogere beschikbaarheid en snellere toegang tot nieuwe technologieën, zoals machine learning en AI.
Maar een mogelijk 'verborgen' aspect van cloudeconomie is uitgaand dataverkeer, die in meerdere vormen kan voorkomen. Cloudserviceproviders volgen en meten het netwerkverkeer dat van de ene locatie in hun clouds naar de andere wordt verplaatst - van regio naar regio, van zone naar zone of zelfs van het ene virtuele netwerk naar het andere in dezelfde regio.
Inkomend dataverkeer, dat wil zeggen gegevens die in de cloud terechtkomen, ook wel data-ingress genoemd, is bijna altijd gratis, ongeacht het volume en bij elke cloudprovider. Uitgaand verkeer (data-egress) wordt anders behandeld. Of gegevens nu naar het internet, datacenters op locatie, kantoren of zelfs een andere cloudregio gaan, de kosten zijn afhankelijk van de cloudprovider, de specifieke service en het netwerkpad. Meestal wordt voor het verzenden van gegevens een vaste prijs per gigabyte gerekend tot een bepaalde drempel, met kortingen voor het verzenden van gegevens daarboven.
Uitgaand dataverkeer in de cloud kan standaard netwerkverkeer zijn van cloudvirtuele machines naar andere cloudvirtuele machines, zoals gegevens die van een database naar een spreadsheet van een zakelijke gebruiker gaan. Een ander voorbeeld, en een grotere zorg in termen van kosten, is verkeer dat is gerelateerd aan cloudgehoste opslagactiva die op websites of in mobiele apps worden gebruikt. Een gebruikelijke praktijk voor cloud object stores is om website-activa gescheiden van de website-applicatie te bewaren. Dit verbetert de prestaties en de efficiëntie van de ontwikkelaar. In deze architectuur zou een website afbeeldingen rechtstreeks vanuit een cloud object store laden, zoals Amazon Web Services (AWS) S3, Azure Blob Storage, Google Cloud Storage of Oracle Cloud Infrastructure (OCI) Object Storage, waar die bestanden bestaan als HTTP-eindpunten, in tegenstelling tot het opslaan van die bestanden op een webserver. Wanneer afbeeldingen rechtstreeks vanuit de cloudopslag worden geladen, zal de applicatie kosten maken voor zowel leesbewerkingen op de opslag als de netwerkkosten die gepaard gaan met het overbrengen van die gegevens van de cloud naar het internet.
Voor drukke webapplicaties die instanties in verschillende cloudregio's hebben, kan het opslaan van hun afbeeldingen in één cloudaccount in een afgelegen regio hoge kosten voor gegevensoverdracht met zich meebrengen. Een content delivery network (CDN) kan de kosten verlagen en de prestaties verbeteren voor een grote website of applicatie. Maar nieuwe of snelgroeiende sites zijn misschien niet ontworpen om CDN's te gebruiken en kunnen dus te maken krijgen met hoge exportkosten.
Dit zijn slechts enkele voorbeelden van uitgaande gegevens in cloudapplicaties. Verkeer tussen virtuele machines en database-instanties, virtuele netwerkpeering, privékoppelingen naar platform-as-a-service aanbiedingen en andere architecturen kunnen allemaal aanzienlijke exportkosten met zich meebrengen.
Voornaamste conclusies
Cloudproviders brengen kosten in rekening voor het verzenden van gegevens om de infrastructuurkosten terug te verdienen die gepaard gaan met het bouwen van grote netwerken naar hun datacenters en de bandbreedte tussen locaties, die miljoenen of miljarden dollars kunnen kosten. Een voorbeeld van de investeringen die cloudproviders doen in grootschalige netwerkinfrastructuur om hun datacenters met elkaar te verbinden, is het aanleggen van onderzeese netwerken. Microsoft deed dat in 2017, toen het een onderzeese kabel van 104 mijl tussen de Amerikaanse oostkust en Spanje legde.
Cloudproviders investeren ook voortdurend om de betrouwbaarheid en prestaties van deze netwerken te garanderen en exportheffingen ondersteunen deze investeringen. Klanten profiteren ervan dat ze niet met meerdere providers hoeven te plannen en te werken om een wereldwijd netwerk te ontwikkelen. Hoewel de kosten voor het exporteren van cloudgegevens frustrerend kunnen zijn, maken ze deel uit van de prijs die organisaties moeten betalen om te kunnen profiteren van de wereldwijde publieke cloudinfrastructuur.
Een belangrijk verschil tussen de publieke cloud en on-premises implementaties is dat in de publieke cloud alle kosten op één factuur staan. Aan de andere kant hebben on-premises implementaties meestal te maken met aparte rekeningen voor opslag, servers, netwerkcomponenten en services die waarschijnlijk bij meerdere leveranciers en op verschillende tijdstippen zijn aangeschaft. Organisaties betalen niet alleen voor de hardware en het onderhoud van hun datacenters, maar ook voor de elektriciteit en de koeling die ze verbruiken. Daarnaast zijn er nog kosten voor de huur van een ruimte in een colocatiefaciliteit, en voor diverse software- en ondersteuningsdiensten. Een onverwachte factuur voor clouddiensten kan een onaangename verrassing zijn voor IT-managers die daar niet op voorbereid zijn.
Daarnaast zijn de meeste kosten van on-premise implementaties vast, terwijl publieke cloudproviders veel computeroplossingen aanbieden met variabele kosten. Variabele kosten kunnen voordelig zijn omdat ze stijgen en dalen naarmate de computerbehoeften stijgen en dalen, zodat organisaties kunnen voorkomen dat ze te veel betalen voor capaciteit die ze niet nodig hebben. Hoewel dit variabele-kostenmodel vaak handig is voor cloudservices met veranderende vraagpatronen, kunnen onjuiste configuraties of een slecht ontwerp tot een torenhoge cloudfactuur leiden.
Kosten voor uitgaand dataverkeer worden op verschillende manieren berekend, afhankelijk van het type service en de cloudprovider. De basis is echter hetzelfde.
Om een idee te krijgen van wat dit in de echte wereld zou kunnen betekenen, bedenk dan dat de mediane grootte van alle pagina's op het web in juni 2022 2.315 kilobytes was, volgens de Web Almanac van HTTP Archive. Stel dat een in de cloudgehoste website bestaat uit pagina's van gemiddelde grootte en 10.000 maandelijkse bezoekers ontvangt, die elk twee pagina's bekijken. Die website genereert elke maand ongeveer 44,2 GB aan cloudgegevens genereren:
10.000 x 2 = 20.000
20.000 x 2.315 KB = 46,3 miljard KB
46,3 miljard KB/1 GB (1.048.576 KB) = 44.155 GB
Laten we vervolgens eens kijken naar enkele voorbeelden uit de praktijk van de kosten voor uitgaand dataverkeer in de cloud. Als eerste een heel eenvoudig voorbeeld op basis van Azure-prijzen vanaf juni 2023 voor uitgaand verkeer van een webserver naar het internet.
Laten we nu eens kijken naar een iets complexer scenario voor een AWS-klant. Ontwikkelaars uploadden 1 TB aan gegevens naar een S3 opslagemmer en brachten vervolgens 4 TB over naar een AWS-regio buiten de Verenigde Staten en 2 TB naar het internet. De kosten vanaf juni 2023 zouden als volgt zijn:
In dit scenario vertegenwoordigen de opslagkosten minder dan 10% van de totale maandelijkse kosten voor uitgaand dataverkeer. Het cruciale punt om te begrijpen is hoeveel verkeer een applicatie of dienst zal genereren en wat dat zal kosten voor de soorten diensten die worden gebruikt. Een website met hoge volumes zou zijn uitgaven in het bovenstaande voorbeeld kunnen verlagen door gebruik te maken van een content delivery network (CDN) om de hoeveelheid verkeer die rechtstreeks naar het internet gaat te verminderen. CDN's cachen gegevensbestanden dichter bij de voorspelde gebruikers en in de eigen netwerken van de CDN-providers, dus de nettokosten van hun diensten zijn meestal veel lager dan de kosten voor het verzenden van gegevens om telkens dezelfde bestanden vanuit de cloud te serveren.
Het is vermeldenswaard dat Oracle Cloud Infrastructure klanten elke maand gratis tot 10 TB aan data geeft. Dus, kijkend naar het voorbeeld van AWS, zou een OCI-klant slechts $25,24 aan kosten voor gegevensopslag betalen voor dezelfde hoeveelheid uitgaand dataverkeer. Op dezelfde manier zou $ 882,18 aan kosten voor uitgaand dataverkeer in het voorbeeld van Azure in de kosten van de VM worden opgenomen voor OCI-klanten.
Zoals u in de bovenstaande voorbeelden ziet, kunnen kosten voor uitgaand dataverkeer snel oplopen. Dit onbeperkte kostenmodel betekent dat potentiële verkeerde configuraties, zoals verbinding maken met het verkeerde eindpunt van een geo-gerepliceerde opslagaccount, tot uit de hand lopende cloudrekeningen kunnen leiden. Hoe gaat een IT-team nu om met deze realiteit?
Het is cruciaal om de uitgaven voor uitgaand dataverkeer in de cloud eerder vroeger dan later te bepalen om de kosten te minimaliseren. De volgende vijf tips kunnen helpen:
Het bewaken en beheren van kosten voor uitgaand dataverkeer is maar één uitdaging. Deze verlagen is een andere. Om de kosten voor uitgaand dataverkeer te verlagen, moeten IT-teams van bedrijven een niveau dieper in de technische stack gaan.
Een CDN leest eenmalig de website-assets van een organisatie en slaat deze vervolgens op in een edge-locatie die veel dichter bij de klant is. Het gebruik van een CDN betekent dat wanneer een klant een afbeelding of bestand van uw website opvraagt, dit wordt geserveerd vanaf het CDN in plaats van rechtstreeks vanaf uw cloudhosted webserver. De kosten van een CDN zijn veel lager dan de kosten voor uitgaand dataverkeer en met CDN's krijgen klanten betere laadtijden. Hoewel het gebruik van een CDN kleine wijzigingen in de applicatiecode kan vereisen, zijn de kosten- en prestatievoordelen het bijna altijd waard.
Het is niet altijd mogelijk om netwerkverkeer te comprimeren, maar infrastructuurverkeer (denk aan VM naar VM via een virtueel netwerk) kan vaak worden gecomprimeerd voor een klein beetje extra CPU-cycli. De incrementele kosten van het CPU-gebruik zijn vele malen lager dan de kosten voor uitgaand netwerkverkeer.
Veel cloudservices, zelfs binnen dezelfde cloudprovider, bieden meerdere manieren om bijna identieke functionaliteiten te krijgen. Zo zijn er bijvoorbeeld bijna 20 manieren om een container in AWS te draaien. Als onderdeel van het planningsproces moeten organisaties een prijs bepalen voor elke aanpak, inclusief de netwerkkosten, die aanzienlijk kunnen variëren.
Een speciale netwerkverbinding tussen de cloudprovider en uw site kan duur zijn, maar een privéverbinding geeft u wel onbeperkt gebruik van de verbinding zodra deze is aangeschaft. Voor organisaties die een hoog volume aan uitgaande clouddata niet kunnen vermijden, kan deze investering de totale eigendomskosten zelfs verlagen.
In een hybride cloudmodel, met een mix van on-premises en gehoste systemen, kan de overstap naar een 'all-cloud'-model de hoeveelheid data die uit de cloud stroomt verminderen door alles op één plek te plaatsen.
Deze wijzigingen kunnen moeilijk te implementeren zijn, vooral voor productietoepassingen. In sommige gevallen kunnen ze vereisen dat applicatie-engineers grote wijzigingen aanbrengen. Maar de kostenbesparingen maken deze inspanningen vaak de moeite waard. Hoewel het gebruik van een speciale netwerkverbinding, zoals ExpressRoute en Direct Connect, coördinatie kan vereisen met zowel de cloud als de netwerkprovider van de organisatie, geven zowel Microsoft als Amazon een korting op de prijs voor het verzenden van gegevens via deze directe verbindingen ten opzichte van het tarief van normaal uitgaand dataverkeer.
Het is dan ook geen verrassing dat verschillende cloudproviders verschillende prijsstructuren hebben. Azure berekent bijvoorbeeld kosten voor verkeer van een virtueel netwerk naar andere verbonden virtuele netwerken, zelfs binnen dezelfde cloudregio. Het is dus de moeite waard om zorgvuldig te beoordelen wat de kosten van uitgaand dataverkeer kunnen zijn, vooral wanneer u voor het eerst naar de publieke cloud verhuist.
Oracle is zich terdege bewust van de hoge kosten die andere cloudproviders in rekening brengen voor het uitgaand dataverkeer en heeft zich ingespannen om lagere kosten tot een belangrijk voordeel van zijn cloudservices te maken. Oracle Cloud Infrastructure (OCI) biedt lage netwerkprijzen waarmee bedrijven tegen lage kosten grote hoeveelheden gegevens kunnen verplaatsen, waaronder diensten die vaak de grootste hoeveelheden bandbreedte verbruiken, zoals live videostreaming, videoconferenties en games. Net als bij andere clouds is inkomend dataverkeer gratis; OCI biedt echter elke maand 10 TB aan dataverkeer zonder kosten - aanzienlijk meer dan de 100 GB per maand van AWS - waardoor organisaties aanzienlijk kunnen besparen op uitgaand dataverkeer. Bovendien zijn de uitgaande bandbreedtekosten van OCI tot 25% lager dan die van AWS, wat een groot voordeel is als u services gebruikt die grote hoeveelheden bandbreedte vereisen.
Een van de belangrijkste overwegingen voor cloudeconomie waar cloudklanten mee te maken krijgen, is de bandbreedte voor uitgaand dataverkeer uit cloudservices en -netwerken. De bijbehorende kosten kunnen een grote verrassing zijn op de cloudfactuur en de kosten kunnen zeer variabel zijn. Een van de belangrijkere aspecten van cloudarchitectuur is het minimaliseren van de kosten van uitgaand dataverkeer door gebruik te maken van technologieën, zoals compressie, content delivery-netwerken en cachinglagen, die de prestaties van een site of applicatie kunnen verbeteren en tegelijkertijd de kosten kunnen verlagen.
Leer vernieuwende technieken, van het leiden van verandering met AI tot het optimaliseren van uw M&A-strategie en het bevorderen van coöperatief leiderschap, om u te helpen de problemen van vandaag - en die van morgen - op te lossen en te groeien.
Zijn kosten voor uitgaand verkeer inbegrepen in cloudopslag?
Nee, er zijn een paar factoren die bijdagen aan de kosten van cloudopslag. De eerste en meest voor de hand liggende is het volume van de gegevens die zijn opgeslagen in de opslagaccount of -bucket. De tweede is het aantal keren dat de gegevens zijn gelezen en geschreven tijdens de factureringsperiode. Beide factoren worden beïnvloed door het niveau (heet, koel, koud of archief) van de gegevens: hoe heter het niveau, hoe lager de kosten voor die lees- en schrijftransacties, maar hoe hoger de opslagkosten per datavolume. Deze transactiekosten staan los van de kosten voor uitgaand dataverkeer via het netwerk.
Wat zijn kosten voor inkomend en uitgaand dataverkeer in de cloud?
Ingangs- en uitgangskosten zijn kosten voor gegevensoverdracht tussen cloudregio's en -zones, van en naar het internet en van en naar netwerken op locatie. Inkomend dataverkeer (inkomend naar de cloud) is over het algemeen gratis, maar alle providers brengen kosten in rekening voor uitgaand dataverkeer (uitgaand van de cloudprovider). Uitgangskosten zijn gebaseerd op de hoeveelheid gegevens en de locatie ervan, zoals het internet, de beschikbaarheidszones en andere cloudregio's. Deze kosten worden niet-gebonden of unbounded costs genoemd, wat betekent dat ze variabel zijn en een dure verrassing voor cloudklanten kunnen zijn.
Waarom brengt AWS kosten in rekening voor uitgaand dataverkeer?
Net als andere cloudproviders brengt AWS voor de meeste van zijn diensten kosten in rekening voor het verzenden van gegevens om de kosten voor het bouwen en onderhouden van het netwerk te dekken. AWS neemt de kosten van uitgaand dataverkeer niet op in de prijs van hun diensten. Daardoor kan Amazon lagere prijzen vragen voor diensten zoals virtuele machines en opslagbuckets. Klanten van wie de applicaties veel gegevens verzenden, betalen uiteindelijk de rekening voor die netwerktransmissie-infrastructuur, terwijl klanten van wie de applicaties minder gegevens overdragen een kleiner deel van de rekening betalen.