I am running Rails on the App Engine. My question is why Google is running the Compute Engine. I just want to run the App Engine. Google starts the App Engine and the Compute Engine when I deploy.
App Engine provides two environments - standard "sandboxed" environment and Managed VMs. Currently the standard environment supports only Java, Python, PHP and Go. If you want to use something else, you have to go with Managed VMs. In fact, Managed VMs are Google Compute Engine virtual machines.
You can find more details here.
Related
I want to deploy and app using compute engine as my company does not provide access to app engine yet. Is there a way to deploy the same app using compute engine rather than app engine on google cloud. I have searched multiple forum but unable to find relevant answers.
Any help would be much appreciated.
With python3, I recommend you to write a Flask web application. Your web application will be similar on App Engine and on your compute.
However, you have several things to perform at the infrastructure level. I recommend you to have a look to managed Instances group with auto scaling and health check and Global load balancer.
Note: Because, it's not serverless, you have to pay at least 1 instance even if there isn't traffic on your app
Alternatively, you can have a look to GKE (easier VM management and scaling) and Cloud Run.
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.
I am very newly in google app engine.. There are three Questoins on google app engine and in google app engine i want to choose JAVA language.
Does google app engine provide private cloude ?
I want to deploy my application with my own server( E.x.glassfish or JBoss) on google app engine ?
I want to use my own database instead of cloud SQL in google app engine?
Is it possible or not?
With Google Cloud Appengine - no, it's impossible.
With Google Cloud Instances or Google Cloud Containers - all of this is possible.
Appengine is just one piece of Google Cloud, designed for very specific job, with infrastructure managed by Google. You can only write some code (with lot of restrictions too) that runs inside it. You can read some details about code restritions there: https://cloud.google.com/appengine/docs/java/#Java_The_sandbox
What you're looking for is Google Cloud Instances, that are more standard virtual machines, where you can run anything you want. See https://cloud.google.com/compute/
There is still tools for Load Balancing, Health Check, Centralized Logging for Cloud Instances, and other stuff similar to features provided by Appengine.
Hi I like to know if it is possible to run phantomjs on Google App Engine.
My use case is to use Phantomjs to take snapshots of html pages served on GAE using a cron job.
Has this been done before ?
Google App Engine supports a number of language runtimes (Java, Python, PHP and Go), but you can use the Managed VMs feature of Google App Engine to run anything in a Docker container (such as PhantomJS), and you can also use Google Compute Engine to get a VM where you can also install anything you would like, in any language.
For reference, here's a tutorial for running Node.js on Managed VMs to help guide you in the right direction.
Alternatively, Google Cloud Run lets you run arbitrary stateless containers pn a serverless platform, so you can run your PhantomJS app there if you wish.
You cannot run phantomjs on Google App Engine.
Currently, Google App Engine supports Java, Python, PHP, and Go. (https://cloud.google.com/appengine/kb/?hl=en)
As #artjom-b mentioned you can use some services that aren't written in the supported languages (like memcache), but phantomjs is not one of them.
If you are asking about testing an application that you are building on Google App Engine, it is possible to run phantomjs tests against a google app engine application. You would just need to run phantomjs on a different service, such as an EC2 instance.
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.