Hi Samir,
Some things are still settling, so I may not be able to give any concrete answers, but…
1) Cloud API: If we call some API in cloud (e.g. coronium.mongo:createObject )) by running the cloud lua file vs. directly calling some API from the Corona SDK (e.g. coronium:createObject()) - I presume the Cloud API will be consuming more CPU cycles. Is this correct? Should we use cloud API only when the direct client side API is not available (e.g. mongo:incObjectKeys to increment counters is only available in cloud). Please chime in your thoughts on the same.
Whether you call a method through client or server, it will use about the same amount of processing (which is barely worth mentioning depending on your data payload), Cloud Lua is probably ever-so-slightly quicker (mc:run()). While you do have to be concerned about network connectivity, building with Cloud Lua as a base offers unparalleled opportunities to tweak your code in realtime and after release. But that is a risk you will need to assess depending on how your app works.
2) Cost: I saw the news of Coronium.io is part of Coronalabs which is now part of Perk. Coronium2 and Corona Cloud is coming in. Does it mean the image we are using will not work later on OR do we need to pay any charges for the same later on? Will be great if you can share more details on the costing perspective of existing Coronium.io that we have hosted on AWS (apart from the cost of Amazon AWS).
As a thank you to Corona developers, there will always be a self-hosted, no-cost version of the Coronium Cloud Platform that is sponsored by Corona Labs, Inc. Whether that will stay in sync with the upcoming hosted version of Corona Cloud, is yet to be determined. But most likely there will some value add, as well as, extra features not included in CC Self-Hosted. The latest discussions include some type of starter (no-cost) tier for hosted. What that will look like resource-wise is to be determined.
3) Performance: How concurrent connections are handled in Coronium.io? Is there any maximum limit? How can we scale it to handle more in future - any pointers in this direction?
This is always a tricky question based on the massive variations in code, network, location, etc. that are possible at any given time. Load testing and the like are on the shoulders of the developer (or a really nice sys-admin ) to figure out what the throughput is for a specific set-up and app.
What I tend to do is point people to the technologies Coronium is built on. While I speak often to confining usage to small/medium projects, Coronium is no slouch. But I can’t offer free support at that level.
Coronium is built on Nginx (which powers Netflix, GitHub, etc). LuaJIT*, MongoDB, and MySQL are some of the other main components. All well known industry solutions.
*Widely considered to be one of the fastest dynamic language implementations. It has outperformed other dynamic languages on many cross-language benchmarks since its first release — often by a substantial margin.
4) Production use: Do we need to worry about anything else before we move Coronium.io to production. I have SSL certificate in my list already (i.e. all REST api should use https).
Besides SSL, take note that Coronium scales well vertically first, before horizontally.
Hope that helps answer some questions.
Cheers.