I know that App Engine has its own datastore. This is great for most cases and fairly easy to used. However, we have a MySQL database that we use for several applications and not all of them are Web based. We want to use App Engine for many reasons, but would like to have the App Engine application access our MySQL database. The documentation I've found doesn't clearly state whether I can do this or not. Has anyone done it or have pointers to documents that show how to do it?
An open-source relational DBMS, MySQL is a fully managed database service used to deploy cloud-native apps.
Then the answer is yes. MySQL will do fine as would PostgreSQL or NoSQL databases. It all boils down to your app requirements and an effort on your part to tune the database to that requirements.
Because App Engine and Compute Engine use the same networking infrastructure, you can use the VPN connection to establish a connection between the App Engine app and your on-premises database using the database server's internal IP address.
You can use Cloud SQL to host your MySQL database in Google's cloud, and let Google Cloud handle administrative duties like replication, patch management, and database management. Cloud Marketplace provides a simple click-to-deploy interface that makes it easy to install MySQL onto a Compute Engine instance.
Google recently announced support for Cloud SQL in GAE - http://googleappengine.blogspot.com/2011/10/google-cloud-sql-your-database-in-cloud.html
You cannot create a direct network connection to your database. The overview page outlines the major restrictions that would stop you from using Mysql - the major one in this case being "arbitrary network connections". You can only make http(s) calls from within app engine.
The JVM runs in a secured "sandbox" environment to isolate your application for service and security. The sandbox ensures that apps can only perform actions that do not interfere with the performance and scalability of other apps. For instance, an app cannot spawn threads, write data to the local file system or make arbitrary network connections. An app also cannot use JNI or other native code. The JVM can execute any Java bytecode that operates within the sandbox restrictions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With