With millions of iPhone users worldwide and tens of thousands of iPhone applications, Apple has created an advanced and innovative mobile computing platform. To reach this growing audience of iPhone users, businesses are creating iPhone applications to complement their existing websites or creating new applications solely for the iPhone (and other mobile platforms). These applications are made available through the iPhone AppStore and iPhone users often demand that the applications they install and use be complemented with network-based services.
Since the success of a new iPhone app may be unknown, many businesses are looking to scalable cloud solutions to host the backend services of their iPhone application. When selecting a cloud vendor for your iPhone application, be sure to consider these questions:
- Can I use the programming languages and application platform of my choice?
- Can I use the operating systems and environments on which my existing services, if any, are 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 hardware out of pocket?
- If my application becomes incredibly successful, will I be able to quickly scale to meet that demand?
- How much global coverage do I receive to deploy rich media functionality?
An iPhone application is, essentially, a rich client front-end installed from the AppStore and run on the iPhone handset optionally connected via the built-in WiFi or cellular 3G connection to a suite of services hosted by the application developer on the Internet. Amazon Web Services (AWS) delivers reliable, scalable, and cost-effective compute and storage resources on which to host the services for your iPhone application. You can use the following AWS components alone or combined to build your hosted services:
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.
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.
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 capacity while managing time-consuming database administration tasks, freeing valuable resources so that you can focus on driving distribution of your iPhone application.
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.
Amazon CloudFront. Amazon CloudFront provides a high performance, globally distributed content delivery system. Your service can use Amazon CloudFront to easily distribute content to iPhone users with low latency, high data transfer speeds, no commitments, and seamless integration with Amazon S3.
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.
Easy to use. AWS is designed to minimize much of the heavy lifting of setting up and managing your own IT infrastructure. You don’t need to purchase and configure hardware. You can get started with AWS in minutes and take your idea and deploy it to your customers with minimal friction. And, you can use the AWS Management Console, a variety of third-party management tools, or the well-document AWS web service APIs to manage and maintain your cloud infrastructure.
Flexible. AWS enables you to select the operating system, programming language, web application platform, database, and other services you need. With AWS, you receive a virtual environment that lets you load the software and services your application requires.
Cost-Effective. You pay only for the compute power, storage, and other resources you use, with no long-term contracts or up-front commitments. For more information on comparing the costs of other hosting alternatives with AWS, see the AWS Economics Center.
Reliable. With AWS, you take advantage of a scalable, reliable, and secure global computing infrastructure, the virtual backbone of Amazon.com’s multi-billion dollar online business that has been honed for over a decade.
Scalable and high-performance. Using AWS tools, Auto Scaling and Elastic Load Balancing, your application can scale up or down based on demand. Backed by Amazon’s massive infrastructure, you have access to the compute and storage resources when you need them.
Secure. AWS utilizes an end-to-end approach to secure and harden our infrastructure, including physical, operational, and software measures. For more information, see the AWS Security Center.
The AWS SDK for iOS makes it easier for software developers to call an AWS web service API directly from a mobile application. Previously, developers either wrote their own libraries to handle the HTTP connection, request retries, and error handling, or built additional infrastructure to proxy the API requests through a server fleet. With the mobile SDKs, developers can add storage, messaging, and databases to their mobile applications.
> Get the SDK