At this year’s WWDC, Apple made a big announcement: the introduction of its new CloudKit developer framework. The word “new” might be misleading — this isn’t Apple’s first foray into cloud application programming interfaces (APIs). The API set for iCloud was previously available to developers, providing an easy way to use core data (a very powerful, proprietary data store available on iOS and Mac alike, where contents are then stored in iCloud.)
CloudKit is now Apple’s return to cloud APIs and its answer to data storage in the cloud. With CloudKit, every application has its own CloudKit container, which includes CloudKit records and CloudKit databases. These records support relationships, they can be queried, and applications can subscribe to changes to this data. CloudKit also comes with support for both shared and public databases for an app, with the addition of private databases for data specific to users. Another new benefit is CloudKit’s high limits for both storage and bandwidth — 1 PB for assets and 10 TB for databases — rendering storage practically free. And Apple says it will also scale and grow storage with every user.
With such promise for cloud storage, backup, and transfer, CloudKit might seem like Apple’s new mobile-backend-as-service (MBaaS) offering. MBaaS concentrates on simplifying the connectivity of mobile apps to backend systems, providing developers a way to link their mobile apps to cloud backends. It has grown in popularity as a mobile development approach, given the benefits to enterprise users, such as the ease of access, scalability, and flexibility in the cloud. But there are marked differences between true MBaaS and Apple’s CloudKit, and enterprise organizations should approach the solution with a degree of caution.
Lock-in to the Apple ecosystem: Is it worth it?
Apple is often positioned as being on the front line of technology and innovation, but the reality is that enterprise organizations deal with a wide variety of devices. A recent ComScore report found that 41 percent of U.S. smartphones operate on the Apple platform, while 52 percent operate on Android. CloudKit’s critical challenge is that it locks your data into the Apple ecosystem, which means that your users on Android won’t be able to access the same data. Likewise, there’s no access for web applications (on desktops), no access for web apps (on mobile phones), and no access to the data for an analytics engine to crunch the numbers.
Such lock-in could be a non-starter with organizations that look for the flexibility of multi-platform deployments. While Apple continues to be a very popular development ecosystem — especially with this added easy access to Apple’s out-of-the-box cloud APIs — the reality is that locking into this one system, or any one system, is ultimately constraining on an organization’s overall mobile efforts. Rarely now are organizations developing their entire mobile strategies solely for iOS. These mobile efforts require access to data and business logic from multiple sources in the cloud, and limiting to CloudKit won’t be feasible in the long-term.
In stark contrast, existing MBaaS providers offer a much more open and flexible architecture, with the ability to export data via REST API or download compressed data for offline, local processing. Users can access data from anywhere.
Is CloudKit enterprise enough?
The question of adoption depends on specific considerations. Where CloudKit supports both consumer apps and enterprise apps, a true MBaaS option can be more enterprise-focused. This includes, but is not limited to, support for services such as caching, user management, and usage analysis tools, as well as online and offline sync to the cloud.
These more sophisticated enterprise-grade platforms can also offer developers easy access to plugins to integrate with all of the popular services such as Salesforce and SAP.
CloudKit also requires that a device have access to an iCloud account on the device. If the user is not logged into iCloud, or if the account changes, it could cause frustrations that are not an issue for MBaaS offerings where there are no end-user account requirements.
CloudKit appears to be Apple’s challenge to Microsoft Azure, and it is an initial step toward MBaaS. But while they are taking a big step forward (especially when it comes to opening up additional new cloud APIs), the new offering comes with risks, including a critical issue of lock-in to the Apple ecosystem. Apple has yet to release any details of a REST API or an export mechanism, meaning that data will likely stay locked into Apple’s systems — unusable across other mobile projects.
Advertised as being able to provide useful cloud storage and promising to allow developers to focus on client-side work, CloudKit may not be enough of a solution at this time for businesses looking toward the promise of enterprise-grade mobility.
Instead, the kit is somewhat shy of the flexibility and scalability required for the large enterprise development projects of today’s mobile-first organizations. Despite CloudKit’s promise, app developers for the enterprise and consumers alike must take note.
A serial entrepreneur, Cathal McGloin is the chief executive of FeedHenry, provider of the industry’s leading open standards-based mobile application platform. Cathal has championed startup ventures in IT and Telecoms, including Performix Technologies which he founded, and Aran Technologies where he was President/VP Sales. His previous enterprise IT career was with Siemens, Germany and Cap Gemini, UK. He is based in Boston.