Deploy existing Java web application on Google App engine or Amazon AWS - google-app-engine

We have a Java web application developed locally without using any GAE components / AWS components (GAE/AWS SDK etc.,).
We used the following technologies: Java, Spring framework, MySQL Database, Hibernate ORM, Jersy REST library, Tomcat web server.
Our application is up & running fine on our local server.
Now my question is
If I deploy the existing WAR to Google App Engine/ Amazon AWS will it start working right away OR Do I have to make extra changes to my code and deploy new WAR file in order to make it working on Google App Engine / Amazon AWS?
If I want to start a new java web project(using same configuration I mentioned above) that will eventually run on Google App Engine / Amazon AWS, What is the best strategy:
Should I start my development using Google App Engine / Amazon AWS from the beginning ? or just deploy when everything is done?
EDIT : I just wanted to know about GAE and/or AWS in general.

It looks like Google Computer Engine is more suited if you rely on a relational database. Google app engine uses a NoSQL datastore that is not compatible with your relational scheme.

Related

Do I need to enable App Engine Admin API for deployment?

On GCP, I run Cloud Build from one project and deploy code to App Engine in another project. It looks like the project where build runs from needs to have App Engine Admin API enabled. Is it a real request or I missed the real configurations?
App Engine Admin API is required as it is used for any App Engine-related management operations
Also, based on the link above:
The Admin API provides you with:
An integration point for your development and build tools.
Tighter control around deploying new versions, including the ability to automate traffic
migration between two versions or traffic splitting across one or more versions.
The ability to programmatically manage applications across multiple Google Cloud projects.
So yes, if you plan on deploying code to App Engine using Cloud Build, you need GAE Admin API enabled.

Google App Engine vs Tomcat

I was able to create the basic 'hello world' program.
When I tried to understand the difference between a cloud and a server I learned that Cloud is where you have an access to virtual instance created exclusively for you and you are free to choose and install software of your choice.Why Google App Engine(GAE) is used widely where as tomcat is not used. What are major differences between GAE and Tomcat?
Cloud is Google Cloud Platform at this case. App Engine is just one of their services.
App Engine is a platform to build your apps on top of it. A Platform As A Service or PaaS. It simplifies the process of building a scalable application, and you should use it when you understand what you really need and understand principles of scalable application.
Tomcat is a Java web container, and there're many alternatives. Google App Engine is using Jetty. You could actually use it with Tomcat by using Flexible VM, though it doesn't make much sense.
App Engine is not about web server, it's a set of services that helps you to build a scalable app. It includes Memcache, Datastore, Task Queue, Images API, deployments tools and versioning, CDN for static files, and most important automatic scale.
Actually you aren't limited to App Engine on Google Cloud Platform. There is more traditional service, like own server in the cloud, called Compute Engine. There you can run your Tomcat or anything else.

can i upload a web app programmed with google app engine on aws amazon?

Hello i want to know can i upload a web app programmed with python on google app engine on a host but not the host of google app engine i have heard about hosts like A W S amazon can i upload my web app on it ?
and also can i upload it on an ordinary host like go daddy ?
i have tried to read but i didn't found a useful information
now i am using this method to upload my file to google app engine cloud
google_appengine/appcfg.py update apps/appname
note i am on linux and can i use this method to upload it to amazon ?
Thank you
From the Appscale docs: AppScale is a platform that allows users to deploy and host their own Google App Engine applications. It executes automatically over Amazon EC2, Rackspace, Google Compute Engine, Eucalyptus, Openstack, CloudStack, as well as KVM and VirtualBox. It has been developed and is maintained by AppScale Systems, Inc., in Santa Barbara. It supports the Python, Java, Go, and PHP Google App Engine platforms.
More:
https://github.com/AppScale/appscale/wiki
List http://www.appscale.com/

Google App Engine's Web Application server and Apache Tomcat

I read this sentence in google resources for GAE : "Google App Engine has it's own Web Application Server for simulating in desktop environment", so, my question is: Can I deploy Google App Engine apps (in .war format) on TomCat?
Thanks for any help!
the short answer is: it depends
according to the app engine doc:
App Engine Java applications use the Java Servlet standard for
interacting with the web server environment.
so for a simple servlet app, it can be run on tomcat
but
The App Engine runtime environment imposes some constraints to ensure
that your app can be scaled to multiple instances on App Engine's
distributed infrastructure
if you have used apis from app engine such as UserService, or Datastore then you are not able to run it on tomcat. in this case, you can use the development web server from app engine sdk for dev and test purpose.

Deploy Java Web Application and MySQL database in the cloud

my issue is that I've been developing a Java Web app in Netbeans 7.2, which I've used Hibernate and JSF Facelets to communicate and show the data from a MySQL database deployed in my local server (localhost).
But now, I want to deploy both (my java web app and mysql database) in the cloud in a web server, or something but I don't know even how to start this. I've seen something about Google App Engine, but I didn't get the idea, and many others...
I just need to deploy my app to give access to other people to use my web app.
Google Appengine is a Framework.
its not webserver where you can deploy your app as on your local machine.
what you are looking for is
Amazon EC2
Google ComputeEngine
OpenShift
and others...... (to many to list them all)
most of them are not free.
some like openshift are if you dont need much resources.
there you can install the server you need, (its just like a remote server)
and deploy your app to.

Resources