Google App Engine - MappingSystem/Tutorial-Buka-Toko GitHub Wiki
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