Can I delete default buckets on Google App Engine Storage? - google-app-engine

When I create a new application on Google Cloud App Engine, these buckets in Google Storage show up as well:
bucket_1: <region>.artifacts.<app_id>.appspot.com
bucket_2: staging.<app_id>.appspot.com
bucket_3: <app_id>.appspot.com
I've only added 300MB on bucket_3 and never added anything to bucket_1. Nonetheless, bucket_1 is currently occupying 3.9GB. Why do I need this bucket_1? Can I delete all its content or even delete the whole bucket?
Thanks in advance.

When you create a new App Engine Application, these buckets in Google Storage are created:
bucket_2: staging.<app_id>.appspot.com
bucket_3: <app_id>.appspot.com
Bucket bucket_1: <region>.artifacts.<app_id>.appspot.com is created when you run the command gcloud app deploy. This is the Container Registry bucket where App Engine stores container images. You can delete this bucket, however, next time when you deploy a new version gcloud app deploy the bucket will be recreated.
I did some testing on my side and observed that when you deploy your first app engine standard version, 48 images are created in us.artifacts.your-project.appspot.com/containers/images folder. From this moment, every time you deploy a new app engine version 3 more images are added to this folder. I am not sure about the internal implementation, but I think it caches the images in this folder.

Related

Google Cloud App Engine - Default Storage Buckets

When I create a new application on Google Cloud App Engine, these buckets in Google Storage show up as well (where yyy is my app's name):
eu.artifacts.yyy.appspot.com
staging.yyy.appspot.com
yyy.appspot.com
What do they do exactly ?
From the official documentation Using Cloud Storage for App Engine:
When you create an app, App Engine creates a default bucket that
provides the first 5GB of storage for free. The default bucket also
includes a free quota for Cloud Storage I/O operations. See Pricing,
quotas, and limits for details. You will be charged for storage over
the 5GB limit.
The name of the default bucket is in the following format:
project-id.appspot.com
App Engine also creates a bucket that it uses for temporary storage
when it deploys new versions of your app. This bucket, named
staging.project-id.appspot.com, is for use by App Engine only. Apps
can't interact with this bucket.
eu.artifacts.yyy.appspot.com is your container registry bucket
Your Container Registry bucket URL will be listed as
gs://artifacts.[PROJECT-ID].appspot.com or
gs://[STORAGE-REGION].artifacts.[PROJECT-ID].appspot.com, where:
[PROJECT-ID] is your Google Cloud Console project ID. Domain-scoped
projects will have the domain name as part of the project ID.
[STORAGE-REGION] is the location of the storage bucket: us for
registries in the host us.gcr.io eu for registries in the host
eu.gcr.io asia for registries in the host asia.gcr.io
Each of these buckets are for App Engine build and temporary artifacts.
Example: App Engine also creates a bucket that it uses for temporary storage when it deploys new versions of your app. This bucket, named staging.project-id.appspot.com, is for use by App Engine only. Apps can't interact with this bucket.

How to link/connect Firebase and Google App Engine for image resizing

I'm using Firebase and I'm trying to leverage the image resizing service that AppEngine has with get_serving_url(). https://medium.com/google-cloud/uploading-resizing-and-serving-images-with-google-cloud-platform-ca9631a2c556.
I'm confused about how to go about linking my google app engine image resizing service to my firebase cloud storage instance.
I see this quote in the documentation https://firebase.google.com/docs/storage/gcp-integration
The Firebase SDKs for Cloud Storage use the Google App Engine default
bucket, which means that if you build an App Engine app, you can use
the built in App Engine APIs to share data between Firebase and App
Engine. This is useful for performing audio encoding, video
transcoding, and image transformations, as well as other computation
intensive background processing.
How can I point to this Google App Engine default bucket? I don't see it in the google app engine dashboard interface anywhere.
I've already set up a firebase project and I then created an app engine project - but I don't see any way to point my app engine to the default bucket that firebase created. Is that based on some sort of account id? Where in the admin interface or tools can I set up that linkage so that the files I'm uploading to the firebase default storage bucket are available to be resized by the app engine image server?
It doesn't seem to be possible to link existing firebase projects with an existing google cloud platform (GCP) / app engine project.
First create the GCP app engine project
Then, on firebase, go to Add Project -> Open the "Project name" drop-down and select the existing GCP project.
The firebase project ID will then be the same as the GCP project ID, the GCP default bucket gs://<project_id>.appspot.com is the default firebase storage bucket, and you can select additional GCP buckets on the firebase storage page.
If you have an existing Firebase project, then the corresponding Google Cloud project is created for you automatically.
Just go to Google Cloud console (https://console.cloud.google.com) and there you'll be able to select the project with the same name (as your Firebase project's). If you deploy your GAE app to that project then it should be able to access your data.

There is limit on google cloud projects and firebase projects?

I build websites, maybe 100 per year maybe more and I start to use Firebase and Google cloud for my hosting and as a backend but after some projects on blade for firebase I am not able to create new projects.
I make project quota to increase my projects but I don't have any response
My point is there is any alternative for hosting angular 2 apps with node.js
backend
There are lot more of hosting options available on google cloud than only firebase.
Google App Engine(Standard) is one of them. They even give you a predefined run time environment. If you want to use node.js in the background you just have to mention node as your runtime environment in the application configuration file.
Then there is Google App Engine(flexible)
If you want to create your own virtual machine and create your own servers you can choose Google Compute Engine

Project created from App Engine Console comes with less features compared with project created from Cloud Console

When I create a new Application from App Engine Console https://appengine.google.com/,
the application also appears on Cloud Console https://cloud.google.com/console#c=l
However, clicking into the project shows that only these features are included:
App Engine
BigQuery
Cloud Datastore
Compared with Project created directly from Cloud Console:
App Engine
Compute Engine
Cloud Storage
BigQuery
APIs
Cloud Datastore
Cloud SQL
That leads to problem that App Engine project is missing access to many features and there seems no obvious way to add them back later.
Any idea what's wrong here?
1,This only implies that when you create an application from app engine console, it directly creates 3 types of projects: app engine app, datastore instance and big query(i think you need to enable the api first) with the same project id. This does not mean you cannot use the other features. It only means you need to separately enable them and give project ids.
2, If you create a project from cloud console, then it will automatically create projects under all the 7 different categories with the same project ID
Finally I found how to do this:
Go to https://appengine.google.com/
Open your app
Open Administration / Application Settings
Click the button in the "Cloud Integration" section

Effect on updating current running WAR file in Google App Engine

What would happen on the current running application if you are going to update the WAR file in Google App Engine? Will Google App Engine automatically stop the service of your application while new WAR file is being uploaded?
Thanks!
Deploying a new version of your app causes App Engine to spin up an entirely new set of VMs with your new code, transfer traffic from the old VMs to the new ones, then shutdown the old ones (presuming you're deploying to the default version). At no point is your service down - traffic transitions seamlessly from the old instance to the new one.

Resources