Make Google App Engine as Load Balancing Server - google-app-engine

I'm wondering if anyone knows any script in Python or Java to setup Google App Engine as Load Balancer server?
I choose GAE, because of 100% uptime and free, so it would be the best to setup as Load balancer.
So what I want to do is set up a GAE app (a load balancer application) in "www.domain.com" - using Google Apps, it will share the load to all my servers (with round-robin, or any technique), but when all servers are down, show maintenance page which is host in GAE.
Is this possible?

You could do it, but you'd
incur extra latency by requiring an extra hop from google app engine to your servers
have all your servers public to the web, since otherwise google app engine won't be able to redirect to them Edit: apparently this is incorrect. See Nick Johnson's comment below!
have to implement something in google app engine to keep track of what servers you have up and how and when to route to them
Seems like it might not be worth it, but it'd be cool if you did it and posted some numbers about how it works!

Related

Does App Engine automatically load balance if we configure it to auto-scale?

Does App Engine automatically load balance if we configure the App Engine to auto-scale? Or do we manually need to add a load balancer for an app hosted on App Engine?
I just started learning GCP this week and I have been given an assignment by my trainer to deploy an application on App Engine and to connect it to a load balancer and a CDN. I have understood how to use load balancers with Compute Engine. But since App Engine takes care of auto-scaling without us having to configure anything, does it also take care of load-balancing automatically? Or do we have to manually setup a load balancer? I tried to search a lot about load balancers with App Engine but the only thing I could find was some "Network Endpoint Groups(NEG)". I couldn't understand any of NEG articles because I am not familiar with containers and Kubernetes. Can someone please explain load balancing for App Engine and how to do it?
Yes, GAE includes a load balancer. As soon as you scale to 2 instances, this is necessary and GAE takes care of it for you. GAE does an amazing job of taking care of this for you (much better than AWS Elastic Beanstalk for example).
For more complicated situations (e.g., Kubernetes), you can manually create and configure a load balancer. I don't think you would ever you use a custom load balancer with GAE.

How to deploy app on Google Compute engine similar to app engine?

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.

GeoDNS routing on Google Cloud Load Balancer with Google App Engine as backend

We are looking to use Google App Engine for one of our low latency service. We are required to provide low latency service across the globe. Since Google App Engine is a regional service and there is no straight forward way to deploy it multi-regional. So, looking at Google Load Balancer to route at DNS level, but that also does not seems to be possible as load balancer not supporting App Engine as a backend service. Is there any other way to achieve GeoDNS routing in GCP for App Engine service.
There is not an direct way to achieve GeoDNS routing since App Engine is a regional service, as you said.
Read this feature request to have further insight on this. In the second comment they state the two possible workarounds, useful for both standard and flexible environments:
The workaround is how you mentioned, using a single project with a load balancer to route requests to Compute Engine instances in
different regions. Then have each Compute Engine instance act as
proxies to an App Engine project in each of the different regions
(where you would copy your code to each App Engine project).
It may be easier in the meantime to use Google Kubernetes Engine instead of App Engine for multi-regional application serving.
You could star the FR to support it.

Deploy non-web Java application

I have a relatively small Java app, which I'd like to move over to the Google App Engine. It runs in the console, with no user input needed after the initial startup. I researched a bit on how to deploy it, but all tutorials seem to focus on Java web apps, when I don't really need that. Is it possible to deploy my app if it's not a web app?
App Engine is probably the wrong GCP platform for you - you'd probably be better served just deploying your jar directly onto a Google Compute Engine node. GAE is pretty explicitly oriented around web applications and you'd need to do a bunch of configuration in order to have it work for your use case.
Does your non-web Java app handle web requests? If not, it seems difficult to imagine that you would be able to reach your deployed app and use it for any purpose, once deployed. Your Java app should be able to handle requests, to make deployment worthwhile, and the deployed app useful.
You may find out about how your app should handle requests by reading the How Requests are Handled documentation page.

What Google hosting should I choose for a Node.js and React website?

I want to be able to host my website on google servers, i would like to design the website using react along with node js in the backend, from my current research it seems that google app engine is the way to go.
Am i on the right path or should i be looking at another avenue.I don't expect the site to intake a lot of traffic so a low cost plan would be ideal, a free plan would be amazing if possible if possible.
I also read that google dns could be used for a website which seems pretty convenient, how exactly do i go about this?
Your on the right path. Goole app engine flexible environment is the ideal choice for you. Since you want your backend to run in Nodejs it's very simple to run Nodejs in Google app engine. Google also give you free $300 for the free trial and you can use it for 12 months.
Read more about the pricing in here
Read more about Nodejs in Google app engine flexible here

Resources