Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using amazon web services as google app engine back end

I am currently using google app engine as my mobile application back end. I have a few tasks that can not be performed in the gae environment (mainly image recognition using opencv). My intention is to retain gae and use AWS to perform these specific tasks.

Is there a simple way to pass specific tasks from gae to AWS? E.g. A task queue?

like image 700
Ajax Avatar asked Mar 31 '13 07:03

Ajax


People also ask

What is the AWS equivalent of Google App Engine?

The AWS Elastic Beanstalk platform is used to deploy applications. It is designed for web applications. Initially, Elastic Beanstalk used Apache Tomcat as the J2EE runtime environment. Google App Engine is a similar framework for web applications.

What is the benefit of EC2 compared to Google App Engine?

"Quick and reliable cloud servers", "Scalability" and "Easy management" are the key factors why developers consider Amazon EC2; whereas "Easy to deploy", "Auto scaling" and "Good free plan" are the primary reasons why Google App Engine is favored.

Is Google App Engine the same as AWS Lambda?

App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. AWS Lambda can be classified as a tool in the "Serverless / Task Processing" category, while Google App Engine is grouped under "Platform as a Service".

Why is AWS better than GCP?

AWS Vs Google Cloud: Pricing Models In the case of AWS, a very basic instance that includes two virtual CPUs and 8 GB of RAM will cost you around US$69 per month. Compared to AWS, GCP will provide you the most basic instance, containing two virtual CPUs and 8 GB of RAM, at a 25 percent cheaper rate.


2 Answers

You could either push tasks from GAE towards AWS, or have your AWS instances pull tasks from GAE.

If you push tasks from GAE towards AWS, you could use URLFetch to push your data towards your AWS instances.

If you prefer to have your AWS instances pull tasks from GAE, you could have your GAE instances put their tasks in the GAE Pull Queue, and then have your AWS instances use the Task Queue REST API to lease tasks from the queue.

In either case, the AWS instance could report back the processing result through a simple POST request to your GAE servlets, or through inserting tasks via the abovementioned REST API which would later be leased by your GAE instances. The latter could be useful if you want to control the rate of which your GAE app process the results.

like image 133
Ibrahim Arief Avatar answered Nov 09 '22 22:11

Ibrahim Arief


Disclaimer: I'm a lead developer on the AppScale project.

One way that you could go is with AppScale - it's an open source implementation of the App Engine APIs that runs over Amazon EC2 (as well as other clouds). Since it's open source, you could alter the AppServer that we ship with it to enable OpenCV to be used. This would require you to run your App Engine app in AWS, but you could get creative and have a copy of your app running with Google, and have it send Task Queue requests to the version of your app running in AWS only when you need to use the OpenCV libraries.

like image 45
Chris Bunch Avatar answered Nov 09 '22 22:11

Chris Bunch