Cloud Platform Blog: Bridging Mobile Backend as a Service to Enterprise Systems with Google App Engine and KinveyThe following post was contributed by Ivan Stoyanov, VP of Engineering for Kinvey, a mobile Backend as a Service provider and Google Cloud Platform partner. Kinvey helps individual and enterprise developers dramatically reduce the time and cost of developing and maintaining a backend for their native and HTML5 mobile apps.
Over the past year at Kinvey we have observed a number of mobile development trends. First, developers are building more complex mobile apps and need to take them to market faster. Second, enterprise use cases are now the rule, not the exception. They present specific security and data transformation requirements which demand unique features. Third, even if Backend as a Service, or BaaS, meets the immediate requirements of an application, mobile developers need the peace of mind that their backend platform will be flexible enough to meet their needs in the future.
The best way for us to stay ahead of these trends and ensure we continue to meet developer requirements was to roll down the stack and integrate with Google App Engine. This integration makes it possible for developers to write code on App Engine and have that code run seamlessly as part of their Kinvey backend, offering more choice and flexibility to support more complex app requirements.
Increasingly Complex Requirements
Yet as use cases grow in complexity, we find this feature is limited in several ways:
- The APIs are highly asynchronous. For many developers this is not a problem, but for a growing number of them, the execution flows are confusing and the complexity beyond a single page of code gets very high.
- Only Kinvey-approved modules are allowed.
Over the next month, as a technology partner of Google, we will make it possible for Business Logic code to run on Google App Engine, seamlessly hooking the App Engine app into your Kinvey backend. Developers will be able to write code in multiple languages, such as Java and Python, with simpler synchronous APIs as well as take advantage of Google App Engine’s development workflows.
Most importantly, developers will be able to go beyond Kinvey’s sandbox requirements and run virtually any APIs, including the large set of built-in App Engine APIs. For example, an app can take a user uploaded image and resize and convert it using the Image API, or use the XMPP API to enable instant messaging in a collaborative app.
Business-to-enterprise applications need to connect to on-prem database systems. Mission-critical apps have especially high requirements - a mobile application that connects to an existing CRM system needs complex user authorization and data transformation flows.
For enterprise mobile developers, this integration means easily running secure instances of Kinvey Data Link and Auth Link on App Engine to unlock enterprise databases such as a CRM system and performing complex BPI integrations.
Peace of Mind
By virtue of being a Platform as a Service (PaaS), Google App Engine provides stronger isolation, allowing developers to run virtually any code they want. This will allow for highly custom use cases to be offloaded to the PaaS infrastructure, while the backbone remains the out of the box backend provided by BaaS.
We think of this integration as bringing together the best of two worlds: BaaS and PaaS. The combination of these two cloud-based services allows developers to easily build complex applications on of a virtually limitless platform. As you can see in the Mobile Cloud Reference Architecture (below), we see Google App Engine as a bridge from BaaS to Enterprise systems.
For more information on the Kinvey / Google App Engine partnership and to get started building your enterprise mobile apps, visit us at kinvey.com/google-cloud.
- Contributed by Ivan Stoyanov, VP of Engineering, Kinvey