Facebook is among the world’s most popular social networking sites and has a rich developer platform on which you can create and share your applications with a massive and growing community of users. In selecting the Facebook platform, you gain a viral distribution capability and powerful social networking tools to offer your users valuable, shareable experiences. When selecting a cloud vendor on which to deploy your Facebook application, be sure to consider the answers to these questions:
- Can I use the programming languages and web application platform of my choice?
- Can I use the operating systems and environments on which my existing website is already deployed?
- Does the cloud provider have a track record of operating highly available and dependable web infrastructure?
- Do I have to sign up-front contracts or purchase my own hardware out of pocket?
- If my application becomes incredibly successful as a result of the viral nature of the Facebook environment, will I be able to quickly scale to meet that demand?
- How much global coverage do I receive to deploy rich media functionality?
- How will I keep up with all the user-generated content moderation that Facebook requires me to do?
A Facebook application is, effectively, a hosted web application that utilizes the Facebook Developer API to be accessed from within the Facebook environment. Developers can host their Facebook applications on Amazon Web Services (AWS) to access a reliable, scalable, and cost-effective compute infrastructure. You can use the following AWS components alone or combined to build your scalable Facebook application:
Amazon Elastic Compute Cloud (Amazon EC2). Amazon EC2 provides resizable compute capacity in the cloud. You define your virtual Amazon EC2 environment with the operating system, services, databases, and application platform stack required for your hosted application. Amazon EC2 provides a full management console and APIs to manage your compute resources. Learn more »
Amazon Simple Storage Service (Amazon S3). Amazon S3 provides a simple web services interface to store and retrieve any amount of data, at any time, from anywhere on the web. It is durable, highly available, and secure. Amazon S3 also stores multiple redundant copies of your data. Learn more »
Amazon Relational Database Service (Amazon RDS). Amazon RDS makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable database capacity while managing time-consuming database administration tasks. Learn more »
Amazon SimpleDB. Amazon SimpleDB provides the core database functions of data indexing and querying. You can write your applications to take advantage of Amazon SimpleDB’s simplicity and its ability to scale seamlessly. Learn more »
Amazon CloudFront. Amazon CloudFront provides a high performance, globally distributed content delivery system. Your application can use Amazon CloudFront to easily distribute content to Facebook users with low latency, high data transfer speeds, no commitments, and seamless integration with Amazon S3. Learn more »
Amazon Simple Queue Service (Amazon SQS). Amazon SQS provides a high performance, secure queuing system for your application that enables you to reliably distribute work between your application’s processes. Learn more »