Senast uppdaterad: Februari 2013
Under det senaste året har jag lyckats med 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 som jag gick igenom och mina tankar på var och en. Det här är inte en omfattande guide till varje CDN-nätverk där ute, men jag lärde mig mycket med min tid på var och en.
Cloudfront
Låt mig bara börja med att säga att jag under inga omständigheter skulle använda Cloudfront som min CDN om du inte vill spola pengar på toaletten.
Det var här vi började, det är Amazon Web Services, jag var redan välbekant med sina tjänster. Vi behövde 500 GB per månad, så inget för galet. Vid denna tidpunkt hade vi just börjat implementera en CDN för att servera våra stora bildfiler som redan var uppladdade till S3. 12 cent per GB verkade inte så dyrt då, men det fanns också en extra kostnad per 10 000 förfrågningar. Återigen var antalet begäranden försumbar då, så jag tror att vår totala kostnad var under $ 100 / månad, vilket var helt bra.
Vi började springa in i andra saker som gjordes med Cloudfront frustrerande. Det går inte att ogiltiggöra objekt via AWS-gränssnittet online. Du måste använda sina kommandoradsverktyg eller skriva ett skript för att rensa en specifik fil från cacheminnet. Inte så stor av en affär, 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 manus för att rensa några filer i en cronjob, ändå så lätt att räkna upp ett litet gränssnitt för att rensa användardefinierade objekt också. Rapporteringen är inte heller bra, det är bara inte vad de fokuserade på.
Då 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 även våra faktiska serierade HTML-filer för att speglas genom Cloudfront (det här är inte idealiskt 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 var vi med 12 cent för de första 10 TB, då 8 cent för de närmaste 40, men vi tog också upp en rejäl faktura i antalet begäranden. Det kom till den punkt där vår effektiva kurs per GB var nästan 18 cent. Det går inte att förhandla med Amazon för mindre utgivare (åtminstone tror jag inte det), och även om det fanns deras prissättning var så långt bort skulle jag inte ens ha störd. Jag älskar allt om AWS för de flesta av mina projekt, men det är inte en av dem som använder Cloudfront för att distribuera filer.
MaxCDN / NetDNA
Låt mig först säga att jag älskade MaxCDN. Deras gränssnitt är en glädje att använda. De har snygga snygga grafer på nästan alla mätvärden du kan önska. Invalidering av ett objekt i cacheminnet är enkelt som paj. Strax efter vi började relationen blev vi flyttade till NetDNA, vilket jag tror paraplyet där de sätter sina större kunder och försöker få dig att låsa in i ett långsiktigt kontrakt. Hur som helst, det är exakt samma webbplatser som jag kan berätta. Jag tror att vår slutliga förhandlade ränta kom ut till cirka 5-6 cent per GB, men håll mig inte till det exakt.
Detta ger mig den viktigaste posten om CDN-prissättning, du borde förhandla. Uppenbarligen är CDN-världen mycket cutthroat, och de är väldigt lätta att spela fram och tillbaka från varandra. Det påminde mig faktiskt om sista gången jag fick ett hypotekslån, med att kontonvärdare ber att se den andras kontrakt och sådant. När jag först fick prisnoteringar från MaxCDN / NetDNA kunde jag förhandla om ett pris utan att någon annan konkurrent erbjöd budgivning. Jag har precis fått ett bättre citat eftersom jag försöker aldrig betala fullt pris om möjligt. MaxCDN driver hela tiden bra erbjudanden för både nya och befintliga kunder.
I slutändan visade sig det finnas några begränsningar kring cachning av aktuellt innehåll som orsakade en viss del av vår ansökan att misslyckas, vilket var en dealbreaker för oss. Jag kommer inte att komma in i detaljer, men de får en tumme upp från mig på både service, användargränssnitt och pris. Det skulle ha fungerat för 99% av mina användarfall, bara inte för den här specifika förekomsten.
Edgecast
Edgecast är ett mycket stort företag, har ett mycket bra nätverk och mycket konkurrenskraftiga priser. Deras system kunde hantera det problem vi körde med NetDNA, så vi förhandlade fram en överenskommelse och undertecknade den. 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 en whoooooooole mycket att önska, men du kan göra allt du kan tänka dig från en cache-ståndpunkt. Med NetDNA skulle jag känna mig bekväm med att ha en icke-teknisk person inloggning för att rensa cachen i en fil, med Edgecast jag skulle inte känna mig så säker med att ha gjort det.
De försöker att nickel och dime bara lite med några addon funktioner i motsats till att ha allt inbyggt i priset. Jag kan inte komma ihåg vad allt exakt, men till exempel Realtidsrapportering. Återigen är det vem vi använder för närvarande, och de har utmärkt prissättning och utmärkt flexibilitet ur ett utvecklingsperspektiv. Om du kunde skapa min perfekta CDN, skulle det vara priset och användargränssnittet för NetDNA med flexibiliteten i Edgecast-administrationen
Runda upp
Jag kommer inte att komma i hastighetsjämförelser. Jag gjorde en liten hastighetsprovning och hastigheten i varje fall kom ut till en nästan försumbar skillnad. Alla 3 var väldigt snabba och alla konton verkade ha mycket robusta nätverk.
Det finns 2 saker som du borde ha fått ut av det här:
- Använd inte Cloudfront
- Förhandlingspris
- Jag föredrar MaxCDN / NetDNA men det kommer verkligen ner till vad dina behov är
Och ja, det finns ju många andra CDN-nätverk, men det handlar inte om dem.