The Apple CDN Team needs to decide whether to go the open source route, or build a caching platform from scratch. I’m sure Apple is currently using some form of caching software in their web environment. However, building a highly scalable, high performing CDN is going to require an extensive evaluation. Selecting the wrong platform, will cause major headaches down the road. Fortunately, some of the grunt work has already been done, from the likes of Netflix and Comcast.
Time to Market
Rapid time-to-market is critical for any new product launch, especially a CDN product. Open source software is the best option. Not only is it free, but it’s an off-the-shelf product loaded with many prebuilt features. Also, the major caching platforms, have large, vibrant, development communities. The four most popular caching platforms are Nginx, Squid, Apache Traffic Server, and Varnish.
Case Study: Comcast CDN
Thank you Comcast, for presenting your entire CDN strategy publicly, for the world to see. This case study comes in very handy for Apple, or any company that’s deciding on a CDN platform. Comcast conducted extensive internal tests, and concluded that the Apache Traffic Server (ATS) is the best fit for the Comcast video content. Some of their requirements included the following; no vendor lock-in, strong development community support, horizontal scalability, and reference-able customer base.
The name that pops out from the ATS customer list is Yahoo. Yahoo actually donated this caching software to the Apache Foundation many years ago. Apache claims that ATS is battle hardened, demonstrated by Yahoo, who is pushing more than 400TB per day. Netflix decided to go with Nginx. The Nginx team worked hand-in-hand with Netflix in customizing the caching platform to their environment. Nginx is a great option, because the company “Nginx” actually provides professional services, to help architect, and deploy their own prodcut. For that reason alone, I personally prefer Nginx, over ATS.
Whatever Apple decides to do, it’s best to select two options, then get feedback from external caching experts. The external experts can test the platform, and bring fresh perspective to the evaluation process. Sometimes they see things that internal teams don’t. With the money Apple has, it might be a good idea to pay a CDN to be part of the evaluation process. The CDN can set aside a part of their CDN network, load Apple’s CDN platform, and conduct extensive pilot testing.
If time to market is important, Apple’s best option is to go the open source route. Apple is known for their secrecy, so no need to publicize the CDN strategy, like Netflix and Comcast. Then in two years, when the Apple CDN team has vast experience, it can go onto phase 2. This phase can be called “building the fastest CDN ever”, which will require Apple to re-write every line of code of their platform, starting from the Linux kernal, to web server, to the caching platform. That’s what its going to take to match Akamai’s performance, or at least get close to it.