Hoping to lure cloud developers to the iCloud platform, Apple on Monday unveiled CloudKit, which gives developers “effectively free, with limits” storage for server-based apps. “You’ve gotta pay somebody to host it all,” said Craig Federighi, Apple’s senior vice president for software engineering. Before CloudKit, that somebody was Amazon, Google, or Microsoft.
At first glance, it sure sounds like it. CloudKit scales based on the number of users, and developers get up to a petabyte of assets an application relies on (such as images, user data, and other resources), one terabyte of database storage, and “all the bandwidth you could use,” Federighi said. Apple details what it gives developers free:
This sounds pretty generous compared to Amazon’s free tier for its cloud services, or Google’s free tier. It’s not a direct comparison, however. Amazon limits its free services to a specific number of hours, which Apple doesn’t, and its free tier data storage for various services is measured in megabytes and gigabytes, while Apple is talking about offering up to a petabyte for assets and a terabyte for storage. Googles gives developers up to 5GB of storage.
However, despite the virtually free cloud services, Apple isn’t really competing with Amazon or Google in the war for cloud developers. What Apple appears to be doing is keeping the iOS developer ecosystem vibrant, said Quinton Alsbury, co-founder and president of product innovation for Roambi.
“I really think it’s an attempt to keep innovation iOS centric, and keep the new ideas and new developers doing their first versions on iOS,” he told me. Most developers, especially small shops, write their first apps for iOS. Not having to worry about server-side components, such as authentication, “makes it even easier,” Alsbury said.
CloudKit “helps developers eliminate the need for writing server code and maintaining servers,” Apple said in a press release. CloudKit gives developers a client-side programming model, and server side functions like app logic, iCloud authentication, asset storage, database storage, search, and notifications, Federighi said.
In its iCloud Design Guide, Apple lays out its approach:
A user never needs to think about syncing and your app never interacts directly with iCloud servers.
Apple’s new appeal to cloud developers harkens back to its old, familiar mantra: “It just works.” That’s a great pitch for consumers, but will it appeal to developers, especially those who expect to tinker with server instances, virtual machines, and operating systems on cloud platforms like Amazon’s, Google’s, or Microsoft’s?
A pre-release iCloud Design Guide for incorporating iCloud into your app explains the benefits of designing for iCloud:
iCloud is a free service that lets users access their personal content on all their devices—wirelessly and automatically via Apple ID. iCloud does this by combining network-based storage with dedicated APIs, supported by full integration with the operating system. Apple provides server infrastructure, backup, and user accounts, so you can focus on building great iCloud-enabled apps.
Sync, a serious problem for iCloud developers currently, is another issue Apple promises to tackle:
The core idea behind iCloud is to eliminate explicit synchronization between devices. A user never needs to think about syncing and your app never interacts directly with iCloud servers. When you adopt iCloud storage APIs as described in this document, changes appear automatically on all the devices attached to an iCloud account. Your users get safe, consistent, and transparent access to their personal content everywhere.
Developers are thrilled at the prospect of integrating their apps more tightly with iOS and iCloud. “With extensibility in iOS 8, we’re excited to bring our users more options and the ability to seamlessly access all of their Box files right from within their favorite apps, eliminating the need to create additional copies,” Aaron Levie, Box founder and CEO said in a statement. “This is a major milestone for the Post-PC enterprise, and a bellwether moment for openness. “
In yesterday’s keynote, when Federighi demonstrated saving a document to the cloud, the options for cloud storage included iCloud, Microsoft OneDrive, and Box. Noticeably absent from this cloud storage integration? Dropbox.
Could it be in part because of Apple’s history with Dropbox? Steve Jobs notoriously called it a “feature,” and integration with iCloud certainly makes it look that way. Or could it be because Samsung bundles Dropbox with its devices, and gives away free storage? I contacted Dropbox for comment; a spokeswoman said that “we don’t have anything to share at this time.”
What’s The Security?
Apple also talked up the security aspects of iCloud. Via iCloud authentication, customers can sign in with their iCloud Apple ID without sharing personal information.
In typical Apple fashion, it glossed over details, such as the type of security CloudKit uses for user authentication. The iCloud Design Guide barely mentions authentication. However, an Apple support knowledge base article divulges a little more:
When you access iCloud services using Apple’s built-in apps (for example, Mail, Contacts, and Calendar apps on iOS or OS X), authentication is handled using a secure token. Using secure tokens eliminates the need to store your iCloud password on devices and computers. Even if you choose to use a third-party application to access your iCloud data, your username and password are sent over an encrypted SSL connection.
Developers are still waiting for the details, but initially, several developers commented that free storage is not enough in a cross-platform development world.
Cian Clark, a developer, blogged that CloudKit sounds great, but cautioned about one “glaringly obvious point” that developers shouldn’t ignore—the potential for vendor lock-in:
Storing data with CloudKit comes with huge risks of Vendor Lock-In which should not be overlooked, and as the data storage needs of an application expand, it’s worth considering the use of an mBaaS rather than relying on Cloud Kit alone for storage needs.
If the queue for the CloudKit presentation at WWDC is any indication, developers are anxious to learn more.