« Thread Pool Engine in MS CLR 4, and Work-Stealing scheduling algorithm | Main | Some things about Memcached from a Twitter software developer »
Tuesday
Apr212009

What CDN would you recommend?

Update 10: The Value of CDNs by Mike Axelrod of Google. Google implements a distributed content cache from within large ISPs. This allows them to serve content from the edge of the network and save bandwidth on the ISPs backbone.
Update 9: Just Jump: Start using Clouds and CDNs. Bob Buffone gives a really nice and practical tutorial of how to use CloudFront as your CDN.

Update 8: Akamai’s Services Become Affordable for Anyone! Blazing Web Site Performance by Distribution Cloud. Distribution Cloud starts at $150 per month for access to the best content distribution network in the world and the leader of Content Distribution Networks.
Update 7: Where Amazon’s Data Centers Are Located, Expanding the Cloud: Amazon CloudFront. Why Amazon's CDN Offering Is No Threat To Akamai, Limelight or CDN Pricing. Amazon has launched their CDN with "“low latency, high data transfer speeds, and no commitments.” The perfect relationship for many. The majority of the locations are in North America, but some are in Europe and Asia.
Update 6: Amazon Launching New Content Delivery Network: No Threat To Major CDNs, Yet. All the Amazon will kill all other CDNs is a bit overblown. As usual Dan Rayburn sets us straight: The offering won't support streaming, live broadcasting, or provide many of the other products and services that video content owners need...the real story here is that Amazon is going to offer a high performance method of distributing content with low latency and high data transfer rates.
Update 5: When It Comes To Content Delivery Networks, What Is The "Edge"?. Dan Rayburn is on edge about the misuse of the term edge: closest location to the user does not guarantee quality, often content is not delivered from the closest location, all content is not replicated at every "edge" location. Lots of other essential information.
Update 4: David Cancel runs a great test to see if you should be Using Amazon S3 as a CDN?. Conclusion: "CacheFly performed the best but only slightly better than EdgeCast. The S3 option was the worst with the Nginx/DIY option performing just over 100 ms faster." Also take look at Part 2 - Cacheability?
Update 3: Mr. Rayburn takes A Detailed Look At Akamai's Application Delivery Product . They create a "bi-nodal overlay network" where users and servers are always within 5 to 10 milliseconds of each other. Your data center hosted app can't compete. The problem is that people (that is, me) can understand the data center model. I don't yet understand how applications as a CDN will work.
Update 2: Dan Rayburn starts an interesting series of articles on Highlights Of My Day In Cambridge With Akamai. Akamai is moving strong into the application distribution business. That would make an interesting cloud alternative..
Update: Streamingmedia links to new CDN DF Splash that specializes in instant-on TV-quality video streaming.

A question was raised on the forum asking for a CDN recommendation. As usual there are no definitive answers, but here are three useful articles that may help your deliberations.
  • First, Tony Chang shows how to drive down response times using edge acceleration strategies.
  • Then Pingdom gives a nice overview and introduction to CDNs.
  • And last but not least, Dan Rayburn from StreamingMedia.com gives a master class in how much you should pay for your CDN, what you should be getting for your money, and how to find the right provider for your needs.

    Lots and lots of good stuff to learn, even if you didn't roll out of bed this morning pondering the deeper mysteries of content delivery networks and the Canadian dollar.

    Edge Acceleration Strategies: Akamai by Tony Chang



    The edge network is the "network physically closest to the end user and the 'origin' is where the application(s) is hosted." Tony talks about how you use CDNs to manage the user experience through meeting millisecond+ level SLAs using edge acceleration services. He does this in an interesting way. He follows a request through its life cycle and shows how to turn your caterpillar into a butterfly at each stage:

  • An edge DNS means a name server closest to the end user will serve the DNS request.
  • Static content is easily cached on the edge.
  • Dynamic content is moving to the edge using what Akamai calls Web Application Accelerators.
  • And something I've never heard of is to use your CDN to improve routing performance by up to 33%. The service bypasses BGP using its own more optimized route tables to decrease latency.

    Pingdom's A look at Content Delivery Networks, or “how to serve lots of content really fast”



    CDNs are the hidden powerhouse of the internet. The unsung mitochondria powering bits forward. Cost, convenience and performance are the reasons people turn to CDNs. A CDN does what you can't, it put lots of servers in lots of different places. Panther Express, for example, puts 800 servers in 22 different geographical locations. Since CDNs sell delivery capacity capacity planning is one of their big challenges. And Pingdom would like you to recognize the importance of monitoring for detecting and quickly reacting to problems :-) The future of CDNs lies in larger caches for HD video, better locality, and more integration with hosting providers.

    Video on Content Delivery Network Pricing, Costs for Outsourced Video Delivery by Dan Rayburn



    Also CDN Pricing Data: Average Cost Per GB Declines In Q4 Due To Startups.

    It's evident Dan really knows his stuff. His articles and presentations are highly educational for anyone interested in the complex and confusing CDN world. Dan sees hundreds of real-life customer-CDN vendor contracts a year and he reports on real prices averaged over all the contracts he has seen. One of the hardest things as a consumer is knowing what a good price is for your basket of goods and Dan gives you the edge, so to speak.

    What I learned:
  • You decide who is a CDN.There's no central agency setting a standard. Dan's minimal definition is a service delivering live video in the US and Europe.
  • CDN market has gone from 10 to 30 vendors. VCs are pumping hundreds of millions into the space.
  • CDN providers provide a wide variety of services: application caching, static caching, streaming video, progressive video, etc. Dan concentrates only on video delivery.
  • You can't say vendor A is better than vendor B. It depends on your needs.
  • When comparing vendors you need to do an "apples to apples" comparison. He really likes that phrase. You can't compare vendors, only like products between vendors.
  • Video serving is complex because there are few standards in the market. There are multiple platforms, multiple encoding standards, etc.
  • Customer's don't buy on price alone. Delivery of bits over a network is a commodity. Buy on SLA, customer service, product, format, support, geographic reach, and performance.
  • There appears to be no way to compare vendors on the performance of their network. There are too many variables in play to make an accurate comparison.He's quite adament about this. Performance could mean: SLA, customer service, upload content, buffering, etc. No way to measure performance network performance across networks. Static image performance is very different than streaming performance. People all over the globe are accessing your content so what is the "performance" of that?
  • A trend this year is demand for P2P pricing and services.
  • To price your video delivery you need to answer 4 questions: 1) How many hours? 2) How many users? 3) How long will they watch? 4) What encoding and what bit rate?
  • Price varies on product bundle. Vendors need to specialize so they can move themselves out of the commodity market. If you would pay 8 cents a gig for delivered video your price will be different if you add application and static caching.
  • Contracts are at 12 months. Maybe 2 years when bundling services.
  • P2P is not necessarily cheaper so compare. Pricing is very confusing.
  • You can sometimes get a lower price by using the vendor's player.
  • Flash streaming is more expensive because of licensing fees. The number varies because each vendor cuts their own licensing deals. Could be 20% more, or it could be double, depends on volume.
  • When signing a vendor think if you need global reach or is regional reach sufficient? Use a regional service provider if you need a CDN just once in a while. It's matter of picking based on your needs. You can often get a less expensive deal and get a quarterly commit versus a montly commit.
  • Storage costs have really fallen. High of $10/gig and low of 10 cents per gig.
  • Most CDNs will pull from your origin storage and cache, which reduces your storage cost.
  • CDNs don't want to get paid with promises of ad sharing.
  • Pick a CDN vendor that will take the time to educate you. They should ask you about your business first, they shouldn't talk about themselves first. He mentions this point a few times and it makes a lot of sense.
  • Consider a dual vendor strategy where you pick one vendor for video and another for application.
  • Quality in the industry is very high. People rarely complain about the network. Customers want better support and reporting. Poor reporting is the #1 complaint. Run away if a vendor wants to charge for reporting.

    Lots of good stuff.


    Related Articles



  • Highscalability CDN Tag Cloud
  • Edge Acceleration Strategies: Akamai by Tony Chang
  • A look at Content Delivery Networks, or “how to serve lots of content really fast”
  • Content Delivery Network Pricing, Costs for Outsourced Video Delivery
  • CDN Pricing Data: Average Cost Per GB Declines In Q4 Due To Startups
  • A Taxonomy and Survey of Content Delivery Networks
  • Content Delivery Networks (CDN) Research Directory
  • Reader Comments (16)

    After doing some pricing and performance analysis, we went with Panther Express for Wikispaces. This was for static asset caching (images, css, javascript), not video. Setup was simple, good reporting tools, good pricing, perfect reliability record. The performance bump - especially in Europe - was stunning. When I poke around at what other web startups are using, I see Panther Express a lot. Highly recommended.

    December 31, 1999 | Unregistered CommenterJames Byers

    We used Panther Express and Limelight for a long time, and just recently switched to Level 3 - who undercut both by about 25% price. Level 3, for those of you who aren't familiar with them, owns a lot of the bandwidth network in America -- as in Limelight and Panther have to purchase bandwidth from them and then resell it.

    I have good things to say about Panther though, as a smaller operation, they pay very close attention to their clients, and have a pretty good setup for as small as they are.

    December 31, 1999 | Unregistered CommenterUltimateBrent

    I need a CND unexpensive... someone have an idea about a similar option? :-)

    December 31, 1999 | Unregistered CommenterGabbo

    As usual, the best vendor for the job depends on what you think is most important.

    For budget-friendly pricing and terms, Panther Express seems to be the best bet. Panther has some of the lowest rates I've ever seen with minimal commits. Another great thing about Panther is that they have their engineers working support so problems are generally well understood and resolved quickly.

    Akamai has the most comprehensive suite of services, and are open to discounts for those willing to sign up for more than one. Akamai's model (many many edge servers of varying hardware capacity) is also advantageous for certain end user profiles, such as the delivery of hundreds of millions of tiny (~5-7kb) files.

    Highwinds CDN is a relative newcomer to the game, but is worth keeping an eye out for. These guys use a different approach to packet delivery that seems to work very well (their SLA claims 100ms RTT from Europe to the US). However, they are -very- new to the CDN game and it's hard to see just yet how well they scale to meet customer needs.

    Hope this helps,

    Tony Chang
    tony@eliminated.org
    www.winnersdontlose.com | www.eliminated.org

    December 31, 1999 | Unregistered CommenterTony Chang

    Thank your for your reply. Actually I'm thinking to use a CDN for a website that use a lot of database resources and have a lot of users in a lot of countries. I need something that could help me to manage better the load, to help me to serve the page faster.... the cost is one of this issue, but obviously it's not alone.
    I'm searching info about the costs, but I cannot find nothing in this website. Someone have some ideas about it?

    December 31, 1999 | Unregistered CommenterGabbo

    I'm very happy with the Voxel.net CDN. I have a few managed Linux servers with them too and I like that they take care and handle everything for me. To me, it's about support - and they are excellent. I have also had experiences with Limelight and Panther-Express. Limelight hasn't been consistent but I was a customer for a while there. They were definitely good stretches with them though. Panther has also been very good I used them at a previous company. I also looked at Akamai for CDN but their rates were ridiculously high. They pretty much admit they aren't competitive unless you're spending at least 10-15K per month (and I wasn't spending about a third of that). They do seem untouchable in the Application Acceleration which really looks like good stuff.

    December 31, 1999 | Unregistered CommenterBillP

    We use Akamai's DSA product (Dynamic Site Accelerator) for website delivery -- This product reduced our load times in London from 12 seconds to 4 seconds (we have a really heavy homepage - 2 second load time in CA). Keep in mind that our colo is in Santa Clara, CA. I can't say enough about this product -- essentially convinced me not to build out a European presence. Their Sureroute technology is great. Only downside...super expensive...expect to pay 10x over traditional CDN delivery costs (all depending on commit levels of course).

    -Dan

    December 31, 1999 | Unregistered CommenterDan Benson

    I would say if its about reliability Someone that ins less expensive gives out more good rersults and gives satisfaction.
    -----
    http://underwaterseaplants.awardspace.com">sea plants
    http://underwaterseaplants.awardspace.com/seagrapes.htm">sea grapes...http://underwaterseaplants.awardspace.com/seaweed.htm">seaweed

    December 31, 1999 | Unregistered Commenterfarhaj

    I'd go for Panther Express.

    December 31, 1999 | Unregistered CommenterSan Antonio Lawyer

    I also prefer Panther Express.

    December 31, 1999 | Unregistered CommenterDayton Lawyer

    I would have to say the CDN best value would be EdgeCast edgecast.com

    December 31, 1999 | Unregistered CommenterAnonymous

    We use Interoute (biggest fiber optic network in Europe). Their web services API is great to automate publishing

    December 31, 1999 | Unregistered CommenterJavier Ruiz Jiménez

    1. I am on level3 for 8 years (formerly Footpint->Cable&Wireless->Savvys->level3) - reasonable pricing, fair number of POPs, more suited for static content then streaming IMHO.
    2. Limelight Networks - better in streaming and technologically speaking, reasonably priced, seems to be a good company.
    3. EdgeCast - haven't got much experience with them personally - getting positive ratings and becomes popular.
    4. Bitgravity - http://www.bitgravity.com/ - interesting and promising solution from ex-founder of Prolexic - checking this out personally.
    5. Cotendo - http://www.cotendo.com/ - new Israeli startup with CDN technology and UltraDNS like services

    December 31, 1999 | Unregistered CommenterAnonymous

    We've been pretty happy with Amazon's CloudFront. We're already heavy users of S3, so throwing a CDN on top of it was literally an hour of work (including testing). Price is effectively the same as the price we were already paying for data transfer out of S3 anyway.

    December 31, 1999 | Unregistered CommenterChris C

    There is a new offering from aiCache which I would refer to as roll your own CDN. It is virtual instances of their caching server running on Amazon Elastic Cloud. You can rent them the same as any other EC2 instance with an Amazon account.

    Press release here: http://www.prlog.org/10184916-amazon-web-services-and-aicache-team-to-bring-the-cloud-home.html

    Product page here: http://aicache.com/virtual.php

    Aside from the caching the thing that is appealing to me is the way they handle pattern matching.

    To configure the caching time (aka TTL or time-to-live) for different URLs on your site, you can use either "simple" patterns or "regular-expression" patterns. While regexp patterns are much more powerful in their matching abilities, in most cases "simple" patterns are all you need.

    Simple patterns are just a string that will be looked for in incoming URLs and if that string is present anywhere within the request's URL, a match will be declared. In other words, a partial match is performed with URL serving as a "haystack" and simple pattern being a "needle".

    For example:
    pattern breakingnews.html simple 10m declares all URLs that contain breakingnews.html to be cacheable and assigned TTL of 10m.

    Due to partial nature of matching of simple patterns, be aware that a simple pattern "acme" matches acmenews.html, acme.php, notacme.asp.

    If you cannot accomplish what you need with simple patterns, you can use regular expression patterns
    (so called PCRE patterns).

    December 31, 1999 | Unregistered Commentermaxrobbins

    We have been using http://www.istreamlive.net and they have a very nice interface and API set. The network has proved to be very stable and responsive to say the least.

    July 19, 2010 | Unregistered CommenterFlys in the Attic

    PostPost a New Comment

    Enter your information below to add a new comment.
    Author Email (optional):
    Author URL (optional):
    Post:
     
    Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>