Among the flurry of news announced during the WWDC event by Apple as part of its annual developer conference, there were over a very interesting announcement made by Apple in the cloud in a way that sounds very similar to Microsoft Azure or Amazon Web Services.
Apple introduced CloudKit, a new set of integrated in the iOS SDK designed to make life easier for developers of mobile applications by eliminating the need to write code on the server side. In other words, CloudKit is the Apple’s “Mobile Backend as a Service” solution.
The idea of the solution is to let developers have to establish their developments from both the client side and server side separately, something that poses them a number of difficulties, which aims to simplify through CloudKit. With it, developers will no longer need to rely on third party service like Microsoft Azure, Google or Amazon Cloud Platform Web Services.
CloudKit APIs will offer authentication system user ID with iCloud, public and private databases and data storage system and structure of additional resources. Best of all is that all the services mentioned above are free, but with limits. Apple will offer 5GB of storage resources, adding additional 100MB for each new user to up to one petabyte; database up to 50MB storage, adding additional 1MB for every new user up to a maximum of 10 terabytes; 25MB daily resource transfer, adding additional 0.5 MB for each new user up to five terabytes per day; 250KB daily traffic related databases, adding additional 5KB for each new user up to 50GB per day.
Basically, developers can use elements in the CloudKit client to add features to their applications such as search, notifications, iCloud integration and authentication. One of the most important benefits offered by this technology is that now developers will not have to maintain dedicated servers for their applications. It should be noted that previously, many developers prefer to use external services such as Microsoft Azure Cloud Platform, Google or AWS.
Apple’s Advantage
Apple says iCloud is a free service that lets users access their personal content on all their devices—wirelessly and automatically via Apple ID. CloudKit integration with iCloud combine 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.
The core idea behind the solution 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 developers adopt iCloud storage APIs as described in Apple’s document, changes appear automatically on all the devices attached to an iCloud account. CloudKit users get safe, consistent, and transparent access to their personal content everywhere.
What happens when I want to develop the same app for Android Platform?
It won’t work?! So there’s still a case to be made for Azure / Parse / etc.
Even though I’ve no plans to make an Android version of the app I’m working on, I also really don’t feel like shutting out the possibility completely. So until CloudKit is cross platform, not going to use.
I don’t see how iCloud would replace other MbaaS systems. MbaaS is used majorly to provide a Backend control panel for mobile apps to perform analytics and manage users & business data (apart from providing technical infrastructure). It is not used to let users sync their data across multiple devices which is what iCloud would do.