New Mobile Services in Amazon's Cloud
Amazon has launched new web services designed to simplify the building and operation of mobile applications using their cloud as a back end. Cognito provides an identity management platform and key/value store, and is complemented by Mobile Analytics. The AWS Mobile SDK has been updated to version 2.0 to provide integration with the new services, and there are samples in github for iOS and Android.
Cognito connects identity management to data synchronisation. Users don’t need to sign in, as data can be synchronised for guest identities. Users who do sign in with their Amazon, Facebook or Google identity are able to synchronise across devices, and the service takes care of associating any data created under a guest identity. The service is aimed at storing preferences, game progress and other types of state that users might expect to be persistent and available across multiple devices. Cognito can also work offline, taking care of sync once a device is back online and able to connect to supporting services. Amazon claims:
This means you can focus on creating great app experiences instead of having to worry about building and managing a backend solution to handle identity management, network state, storage, and sync.
Mobile Analytics presents metrics such as daily and monthly active users and per user revenue, which can be split by platform (iOS, Android and Amazon’s own Android derived Fire OS). Metrics originate from classes within the Amazon Web Services (AWS) Mobile SDK. Reports can be viewed in the AWS console, and aggregated data can also be accessed via the Mobile SDK or through a REST API.
Cognito is priced at $0.15 for every 10,000 sync operations plus $0.15 per month for each GB of stored data (which compares favourably to $0.25/GB/month for key/value storage in DynamoDB). Mobile Analytics costs $1 per million events per month. Both services are available within Amazon’s 12 month promotional Free Tier for new users, which bundles 1 million sync operations and 10GB of Cognito storage plus 100 million events for Mobile Analytics (in addition to the range of other services offered in Free Tier). The pricing model is notable in that it strips out complexity associated with sizing that would apply to similar underlying AWS services such as DynamoDB and Kinesis, replacing it instead with a structure that’s aligned with the scale of utilisation coming from mobile applications.
Identity pools for Cognito are tied to a given AWS region, which gives developers some degree of choice over where data is stored. Multiple regions could be used to store data in prefered locations for given user populations.
For mobile developers these services offer the opportunity to avoid much of the preliminary drudgery involved in managing state for users and determining how users are interacting with mobile applications. In exchange Amazon benefits by creating a new stream of users for its cloud platform.