Facebook Cookbook - Jay Goldman [54]
Discussion
Facebook’s Developer Resource page lists two hosting partner programs: Joyent Facebook Developers Progam and Amazon Web Services (AWS).
Joyent Facebook developers program
A proud member and leader of the cloud computing world, Joyent provides scalable web application hosting using their Accelerator technology. From its site (http://joyent.com/developers/facebook):
Facebook, Joyent, and Dell have partnered to provide free scalable, on-demand infrastructure from Joyent to Facebook developers. Joyent’s Accelerator on-demand infrastructure (peered with Facebook’s datacenter!) provides the very best load balancers, routing and switching fabric, x86 servers, and storage from Dell. Facebook developers can take advantage of Joyent Accelerators to quickly launch Facebook applications capable of scaling to millions of users. All for free.
Joyent’s program offers one of its entry-level Accelerators for one year for free (up to certain levels, over and above which you have to pay), after which you have to start paying. A limited number of free Accelerators are available, so you might not get a spot if you want to take advantage of this program. We host our Zerofootprint application with Joyent (in a non-free account) and have been very happy with the service and support, so I can personally recommend it.
As of May 2008, the restrictions on the free Accelerator are as follows: you need to use your Accelerator within the first 30 days of signing up (or they release it back into the pool); you need to log into your Accelerator every 60 days by either ssh or webadmin; you have 512 MB of RAM and 10 GB of storage; you can use the Accelerator to host non-Facebook apps but need to have at least one active Facebook app (i.e., more than 50 total users); and you can have only one Accelerator account per person. If you want to bypass the potential hassle of waiting for a free account, pricing for regular Accelerators starts at $45/month for 5 GB of storage, 256 MB of RAM, and 1/16 of a CPU, and they range up to $4,000/month for 100 GB of storage, 32 GB of RAM, and 8 CPUs. The Joyent team has a post up on their blog about a presentation they did at the Graphing Social Patterns conference in 2007, which includes some price comparisons with Amazon Web Services, showing that you can save a considerable amount by going with Joyent’s Accelerators: http://joyeur.com/2007/10/10/graphing-social-patterns-joyent-web-application-presentation. Check the math for yourselves since prices may well have changed.
More info about Accelerators can be found at http://www.joyent.com/accelerator.
Amazon Web Services (AWS)
AWS may have started as an attempt by Amazon to leverage extra capacity in its data centers into a new revenue earner, but it’s grown way beyond that. Its fourth quarter earnings report for 2007 revealed that traffic to AWS had exceeded traffic to Amazon’s actual sites for the first time:
Adoption of Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3) continues to grow. As an indicator of adoption, bandwidth utilized by these services in fourth quarter 2007 was even greater than bandwidth utilized in the same period by all of http://amazon.com’s global websites combined.
Facebook and Amazon have partnered together to provide hosting in EC2 and S3 for Facebook apps, as well as some sample code, plug-ins, etc. See Recipes and for more information about setting up those services.
As of May 2008, the rough cost to host 1 GB worth of assets on S3 (1 GB of data inbound, 100 GB outbound, 1000 PUT/LIST requests, 1000 other requests) and to have a small instance of EC2 running for the full month (with 100 GB of data in and out) was $116. That won’t handle a popular Facebook application, but it would serve up a smaller app without a huge number of graphic and rich-media resources.
More information about Amazon Web Services can be found at http://www.amazonaws.com.
Amazonian Backends: Simple Storage Solution
Problem
My app is going to require me to store a whole big heaping pile