Cloudkit concurrent connection

Hi everyone

i am amazed by the _huge_ amount of data storage given for free by apple with cloudkit. App can scale to 1PB and 10.000.000 users at no cost. and this is amazing. the one thing that make me wonder is the connection per seconds allowed.

On the cloudkit page if we bring the bar to the maximum we can see that with 10.000.000 users the connections per seconds are capped to 400.

You may say "that's a lot" and i agree with this. In my weirdest dreams i have 400 users per seconds on my app. BUT. if we consider 10.000.000 milion users, which with a good app could be, due to the vast amount of apple devices out there, 400 users per seconds seems low.

Lets suppose i project a social app, something that can get for example 1 milion users. it will be likely that of this 1 milion user at least 1% can connect at the same time, ok maybe not at that precise single seconds in the day, but 10.000 user can connect in the same "moment". So if i base my app on cloudkit, which seems great to me, this means that i get a spyke that costs to me a lot of money?

it is said that after 400 connections per seconds there is a fee of 100$ for 10 more connections, so if for example we consider not 10.000 but 1.000 in that single seconds this means that i need (1.000/10)*100=10.000$ on that month.... is it so?

or apple does an average based on month? so for example if i get 100.000 users in 2 seconds and for the rest of the day only 100 users on average i get the final month average which is below the 400 per seconds on the free tier?

Answered by protocool in 10036022

This year's What's New in CloudKit talk had some information about how limits are calculated and enforced.


If I remember correctly, CloudKit handles spikes in requests-per-second by responding with an error instructing your application to retry the request after a certain amount of time (see CKErrorRequestRateLimited and CKErrorRetryAfterKey).

Accepted Answer

This year's What's New in CloudKit talk had some information about how limits are calculated and enforced.


If I remember correctly, CloudKit handles spikes in requests-per-second by responding with an error instructing your application to retry the request after a certain amount of time (see CKErrorRequestRateLimited and CKErrorRetryAfterKey).

Cloudkit concurrent connection
 
 
Q