Google Cloud Scheduler: Cost of required App Engine instance? - google-app-engine

I would like to use google cloud scheduler to invoke a Google Cloud Run function on a routine schedule.
On google cloud scheduler documentation it states:
Cloud Scheduler is currently available in all App Engine supported
regions. To use Cloud Scheduler your Cloud project must contain an App
Engine app that is located in one of the supported regions. If your
project does not have an App Engine app, you must create one.
I have never used app engine as a deployment target and don't really want to. This one cloud run function meets my needs.
Beyond the stated costs of cloud scheduler pricing will I also incur google app engine costs for a service I don't otherwise use?

You can definitely create an scheduler job that runs your Cloud function on a timed interval.
However, App Engine needs to be at least enabled since Cloud scheduler requires it (see point 4 of the before you begin section):
Cloud Scheduler uses App Engine cron jobs, so Cloud Scheduler requires App Engine enablement and configuration.
You would only need to set up the region of App Engine, not deploy an App Engine app which incurs costs.

Related

Who starts the google cloud scheduler?

I can't find any documentation on how gcp scheduler works under the hood. An App Engine is needed in the project, so I assume that the Http calls or Pub/Sub messages are started from the App Engine.
Currently I can use a cloud scheduler even without an App Engine in the project. Apparently a compute engine that also contains a permanently running VM is also sufficient. Could someone confirm my assumptions please or does anyone have sources on this?
I can't tell you how work Cloud Scheduler under the hood. I can just tell you that works well!
I'm sure there is a VM, or a cluster of VM, on Google serverless environment, and your Cloud Scheduler job is set on it. It's serverless, the under the hood doesn't matter, it works, and it's what I want!
Now, the relation with App Engine can be confusing. In fact, there is no longer relation between the product now, but you need the App Engine API activated on your project to use Cloud Scheduler. This strange things is normal if you have been using Google Cloud for a while. At the beginning, only App Engine existed, and Datastore, Cloud Task, Cloud Scheduler was all "modules" of App Engine. Years, after years, google has refactored and extracted these modules to create independent products, as you can see them today. However, some relations are still present, like the API activation.

Compute engine to app engine queuing system changes in php project

Our project was running in GCP compute engine. For scaling purpose, it is moved to app engine. We had rabbitmq implemented for push messages and chatbots in compute engine. In app engine it is not feasible to implement rabbitmq. So I was going through alternate options. There I found cloud task option. But I have doubts in certain areas even after reading their documentation
In my understanding, we need an app engine instance for cloud tasks. In that case, can I implement it in same project itself as a different service? Will this affect the performance of the existing project?
Is there any better solution than cloud tasks in this case?
You can implement additional services under your app in the App Engine as shown in this diagram.
By default, App Engine scales your app to match the load. Your apps will scale up the number of instances that are running to provide consistent performance, or scale down to minimize idle instances and reduces costs.
You can consider running a RabbitMQ Cluster on Google Kubernetes Engine. You can find more information in the following documentation: rabbitmq.

Google Cloud Tasks availability in asia-southeast1

I'm not sure whether this is the right place to ask such question. Feel free to direct me to the right place.
According to https://cloud.google.com/about/locations/#asia-pacific Cloud Tasks is available in the region asia-southeast1 (but App Engine is not available in the region)
But from the Cloud Tasks documentation
To access the Cloud Tasks service using Cloud Tasks API , you must
have a project that contains an App Engine app that hosts the Cloud
Tasks queues that you create. This app is located in a specific region
which serves as the LOCATION_ID parameter for your Cloud Tasks
requests, so make a note of it. The app serves as the location for
whatever queues the developer creates. The underlying Cloud Tasks
service itself runs in that same location.
I assume that there should be App Engine configured for a particular region in order to use Cloud Tasks for that region. And since only 1 App Engine configuration can be made for each project, am I correct to assume that we can only create Cloud Tasks queue in only 1 region per project?
But asia-southeast1 seems to have Cloud Tasks available, but not App Engine. Is the information on https://cloud.google.com/about/locations/#asia-pacific incorrect or is there a way to create a Cloud Tasks queue in asia-southeast1 ?

I want to choose my own Server and own database in google app engine

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.

Multiple App Engine apps inside the same Google Cloud project

I have one App Engine app inside a Google Cloud Platform project. How can I create a second App Engine app inside the same project?
I tried to create a new application on https://appengine.google.com/ but it seems to create a new Google Cloud Platform Project.
I believe there is a 1:1 relationship between App Engine apps and Cloud projects, but you can create up to 20 (at time of writing) App Engine services (previously modules) within the same Cloud project.
It depends how much you want the apps / services to be able to share data / task queues, etc. Services will share the same Datastore, for example.
You can also have multiple Cloud projects associated with the same billing account.

Resources