Anonim

Senast uppdaterad: februari 2013

Under det senaste året har jag hanterat en webbplats som har gått från att konsumera 500 GB data per månad till 100 TB data per månad. Här är utvecklingen av CDN: er som jag gick igenom och mina tankar om var och en. Detta är inte alls en omfattande guide till alla CDN-nätverk där ute, men jag lärde mig mycket med min tid vid varje.

Cloudfront

Låt mig bara börja med att säga, jag skulle inte under några omständigheter använda Cloudfront som mitt CDN om du inte vill spola pengar på toaletten.

Det är här vi började, det är Amazon Web Services, jag var redan väl förtrogen med deras tjänster. Vi behövde 500 GB per månad, så inget för galet. Vid denna tidpunkt hade vi precis börjat implementera ett CDN för att betjäna våra stora bildfiler som redan laddats upp till S3. 12 cent per GB verkade inte så dyra då, men det var också en extra avgift per 10 000 förfrågningar. Återigen var mängden förfrågningar försumbar då, så jag tror att vår totala kostnad var under $ 100 / månad, vilket var helt bra.

Vi började stöta på andra föremål som gjorde frustrerande med Cloudfront. Det finns inget sätt att ogiltiga objekt via AWS-gränssnittet online. Du måste använda kommandoradsverktygen eller skriva ett skript för att rensa en specifik fil från cachen. Inte så stort, men det är trevligt att kunna logga in direkt till din leverantör för att göra det. Jag var tvungen att skriva ett skript för att rensa några filer i en cronjob ändå, så lätt nog att rigga upp ett litet gränssnitt för att rensa användarspecifika objekt också. Rapporteringen är inte heller bra, det är bara inte det de fokuserade på.

Sedan började vi växa. Vi flyttade först alla våra mindre statiska filer som våra CSS- och javascript-filer. Snart flyttade vi till och med våra faktiska serverade HTML-filer för att speglas genom Cloudfront (detta är inte perfekt att göra, men det är en diskussion för en annan dag). 500 GB till 5 TB till 10 till 50. Du gör matte, som lägger till snabbt. Inte bara fick vi 12 cent för de första 10 TB, sedan 8 cent för de kommande 40, men vi gjorde också en rejäl räkning i mängden förfrågningar. Det kom till den punkt där vår effektiva ränta per GB var nästan 18 cent. Det finns inga förhandlingar med Amazon för mindre utgivare (åtminstone tror jag inte det), och även om det fanns, var deras prissättning så långt ifrån basen att jag inte ens skulle ha brytt mig. Jag älskar allt om AWS för de flesta av mina projekt, men att använda Cloudfront för att distribuera filer är inte ett av dem.

MaxCDN / NetDNA

Låt mig först säga att jag älskade MaxCDN. Deras backend-gränssnitt är en glädje att använda. De har trevliga snygga grafer på nästan varje mätvärde du kan önska dig. Det är enkelt som paj att ogiltiga en artikel i cachen. Strax efter att vi började förhållandet flyttade vi till NetDNA, vilket är att jag tror paraplyet där de placerar sina större kunder och försöker få dig inlåst i ett långsiktigt kontrakt. Hur som helst, det är exakt samma webbplatser så långt jag kan veta. Jag tror att vår slutgiltiga förhandlingsfrekvens uppgick till cirka 5-6 cent per GB, även om jag inte håller mig precis till det.

Detta ger mig till det viktigaste objektet om CDN-prissättning, bör du förhandla. Uppenbarligen är CDN-världen väldigt trångt och de är väldigt enkla att spela fram och tillbaka från varandra. Det påminde mig faktiskt om förra gången jag fick en inteckningsteckning, med kontorepresentanter ber om att se den andras kontrakt och sådan. När jag först fick prisuppgift från MaxCDN / NetDNA kunde jag förhandla fram ett pris utan att nytta av en annan konkurrent. Jag fick precis en bättre offert eftersom jag försöker aldrig betala fullt pris om möjligt. MaxCDN kör utmärkta kampanjavtal hela tiden för både nya och befintliga kunder.

I slutändan visade det sig vara vissa begränsningar kring caching av faktiskt innehåll som orsakade att en viss del av vår ansökan misslyckades, vilket var en dealbreaker för oss. Jag kommer inte att gå in på detaljer, men de får tummen upp från mig både för service, UI och pris. Det skulle ha fungerat för 99% av mina fall, bara inte för den här specifika instansen.

Edgecast

Edgecast är ett mycket stort företag, har ett mycket bra nätverk och mycket konkurrenskraftiga priser. Deras system kunde hantera problemet vi stötte på med NetDNA, så vi förhandlade fram en affär och undertecknade det. Deras prissättning var inte lika bra som NetDNA, men deras backend möjliggör mycket flexibilitet. Det är en backend som definitivt byggdes av utvecklare för utvecklare. UI lämnar ett whoooooooole-parti att önska, men du kan göra allt du kan tänka dig från ett cache-synvinkel. Med NetDNA skulle jag känna mig bekväm med att logga in en icke-teknisk person för att rensa cachen i en fil, med Edgecast skulle jag inte känna mig så säker att ha gjort det.

De försöker nickel och dime bara lite med några tilläggsfunktioner i motsats till att allt är inbyggt i priset. Jag kommer inte ihåg vad allt exakt, men till exempel realtidsrapportering. Återigen är det här vi använder för närvarande, och de har utmärkta priser och utmärkt flexibilitet ur ett utvecklingsperspektiv. Om du kunde skapa mitt perfekta CDN, skulle det vara priset och användargränssnittet för NetDNA med flexibiliteten i Edgecast-administrationen

Runda upp

Jag tänker inte komma in på hastighetsjämförelser. Jag gjorde lite hastighetstestning och hastigheten i alla fall kom till en nästan försumbar skillnad. Alla tre var väldigt snabba och tycktes av alla konton ha mycket robusta nätverk.

Det är två saker du borde ha fått ut av detta:

  1. Använd inte Cloudfront
  2. Förhandla pris
  3. Jag föredrar MaxCDN / NetDNA men det kommer verkligen till vad dina behov är

Och ja, det finns naturligtvis många andra CDN-nätverk, men det handlar inte om dem.

Min cdn-utveckling