Hey Yair,
The extent to which your specific app will scale or not scale is largely dependent on what code is running, what language runtime and frameworks you use, and how you
configure your
scaling settings. Needless to say, efficient scaling is something we make a top priority and to the extent that we can at all control for these factors beyond your own code and configuration, we strive to make our services (Datastore, Memcache, etc.) as available and efficient as possible so that you can focus on your code and the issue of scaling can be manageable to consider.
To see what potential bottlenecks exist in any system you build, you'll really need to do load testing of your app on the infrastructure
in addition to any abstract reasoning based on technical specs, and all of this is to speak agnostically with respect to serving infrastructure (of course, again, we believe our infrastructure, due to our extensive and explicit work towards this end, is very scalable indeed, and
numerous companies have found the same to be true).
All this said, scaling effectively in an environment different to the traditional heavy monolithic server paradigm of web development in years past does require a mind-shift, although that's true of any modern cloud deployment infrastructure. Check out some of these articles we've produced to get a start on best-practices:
Finally, I want to assure you that migrating away from the platform is definitely a possibility, especially so if you use an abstraction layer to our services and APIs, such as Datastore (interacting with Datastore via JDO or JPA in Java is one example). Secondly,
Managed VMs and especially
Custom Runtimes for Managed VMs makes this even easier, given that you can deploy your application as a self-contained Docker image which can really run on any deployment infrastructure.
I hope this has answered some of your questions and given you confidence to go deeper into our documentation. Feel free to ask me any further questions you have and I'll be happy to assist.
Regards,
Nick
Cloud Platform Community Support