-
Notifications
You must be signed in to change notification settings - Fork 8
Google App Engine
Pada sesi ini kita akan bahas tentang cara tampilkan Frontend di GAE.
URL dari aplikasi (Rute):
- URL dari aplikasi (default):
http://<app-version>.<application-id>.appspot.com
- URL (service):
http://<app-version>.<service-name>-dot-<application-id>.appspot.com
Layanan tersedia untuk Region berikut:
[1] asia-east2 (supports standard and flexible)
[2] asia-northeast1 (supports standard and flexible)
[3] asia-south1 (supports standard and flexible)
[4] australia-southeast1 (supports standard and flexible)
[5] europe-west (supports standard and flexible)
[6] europe-west2 (supports standard and flexible)
[7] europe-west3 (supports standard and flexible)
[8] northamerica-northeast1 (supports standard and flexible)
[9] southamerica-east1 (supports standard and flexible)
[10] us-central (supports standard and flexible)
[11] us-east1 (supports standard and flexible)
[12] us-east4 (supports standard and flexible)
[13] us-west2 (supports standard and flexible)
Jumlah limit services and versi
- Maksimum service per aplikasi: 5 (Gratis), 105 (Berbayar)
- Maksimum versi per aplikasi: 15 (Gratis), 210 (Berbayar)
- Maksimum Instance per manual/basic: 20 (Gratis), 25 (Berbayar), 200 (Berbayar kusus us-central)
Dispatch rute URL kita bisa arahkan sampai 20 service
#gcloud app deploy dispatch.yaml
dispatch:
# Default service serves the typical web resources and all static resources.
- url: "*/img/favicon.ico"
service: default
# Send to portfolio
- url: "*/konsep/portfolio/*"
service: portfolio
# Send to Frontstore
- url: "*/product/*"
service: product
# Send to wordpress
- url: "*/blog/*"
service: wordpress
# Send to reverse-proxy
- url: "*/ansible/*"
service: proxy
# Default service serves simple hostname request.
- url: "www.chetabahana.com/*"
service: default
File app.yaml
runtime: python37
instance_class: F1
default_expiration: "365d"
handlers:
# site root
- url: /
static_files: index.html
upload: index.html
- url: /(.*)
static_files: \1
upload: .*
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
File app.yaml
runtime: python27
api_version: '1'
env: standard
threadsafe: true
service: portfolio
handlers:
- url: /konsep/portfolio/
static_files: _build/html/index.html
upload: _build/html/index.html
secure: always
# login: admin
- url: /konsep/portfolio/
static_dir: _build/html
secure: always
# login: admin
- url: /konsep/portfolio/(.*\.(gif|png|jpg|ico|js|css|html))
static_files: /
upload: _build/html/(.*\.(gif|png|jpg|ico|js|css|html))
secure: always
# login: admin
skip_files:
- ^parts
- ^bootstrap.py
- ^env$
- ^buildout.cfg
- ^downloads$
- ^eggs$
- ^bin$
- .installed.cfg
- develop-eggs
- ^venv
cd ..
rm -rf portfolio
git clone https://github.com/chetabahana/portfolio.git
cd portfolio
sh install.sh
Untuk Frontend dari Fronstore kita pakai Build Image.
Kita sudah bahas di Instalasi di GAE jika pemasangan tidak dapat dilakukan di GAE Standard. Jadi kita pasang di GAE Flexible supaya transaksi bisa dilakukan dalam satu host.
Seperti halnya Portfolio kita akan tampilkan via disptach di GAE dengan menyetel template halaman sesuai halaman utama.
Salah satu kelebihan dari GAE Standar adalah kita bisa setel Batas Biaya Harian. Karenanya untuk optimalkan biaya tagihan, kita bisa memperkaya Site maka diluar Frontend dari Portfolio dan Frontstore kita perlu pasang juga untuk menampilkan layanan lain seperti Blog, Panduan dll.
Namun jika dia memerlukan instance MySQL di Cloud SQL sementara kita sudah pasang Postgres maka ongkosnya tidak akan efektif karena secara keseluruhan hanya sebagai penunjang.
Solusi yang dapat dilakukan agar tidak perlu pasang instance MySQL adalah:
- Pasang di GAE dengan PostgreSQL for WordPress (PG4WP).
- Pasang di GCE berikut dengan MySQL dalam satu localhost.
- Pasang di GAE dengan MySQL di GCE konek via VPC Peering.
Sepanjang bisa dilakukan maka sebaiknya aplikasi dipasang di GAE Standard.
Apabila tidak bisa maka jika tidak harus pasang di GAE Fleksibel (misal tidak perlu transaksi di domain utama), akan lebih hemat jika dilakukan pakai type GCE yang Always Free dan disetel sbb:
- Pakai 1 non-preemptible f1-micro VM US regions dengan manual instance
- Pasang dan operasikan HDD dibawah 30 GB-months
This documentation is mapped under Mapping and licensed under Apache License, Version 2.0.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright (c) 2018-2020 Chetabahana Project
You are on the wiki of our repo
- Site
- Main
- Project
- Pratinjau
- Pola Dasar
- Bagan Kerja
- Field Tutorial
- Cloud Site API
- Google Ads API
- Cloud Tasks API
- Google Trends API
- Basis Implementasi
- Beranda
- Perangkat
- Pasang Aplikasi
- Penyetelan Aplikasi
- Menyiapkan Frontend
- Menjalankan Backend API
- Menjalankan Toko