Anda baru saja dipekerjakan sebagai developer cloud oleh perusahaan IT yang menggunakan Google Cloud sebagai Penyedia Layanan Cloud (CSP) utamanya. Anda diinstruksikan untuk membangun aplikasi web stateless secara serverless di cloud. Jadi, Anda perlu mengadopsi layanan Cloud Run yang ditawarkan oleh Google Cloud.
Beberapa permasalahan yang Anda hadapi antara lain:
Aktivasi Cloud Run API
Penyimpanan image container
Deployment aplikasi dalam container serverless
Praktik terbaik pengurangan biaya
Karena pernah bekerja dengan Azure di perusahaan sebelumnya, Anda menggunakan Azure App Services untuk meng-hosting aplikasi web. Azure menangani konfigurasi infrastruktur yang mendukung aplikasi tersebut dan Anda menerapkan kode Anda di Azure App Services dengan salah satu dari dua cara:
Kode (Menggunakan koneksi FTP)
Container Docker (Menggunakan image dalam container)
Untuk membuat layanan Aplikasi, Anda menetapkan kategori untuk menentukan jumlah daya komputasi, resource, dan fitur lain untuk aplikasi Anda.
Anda telah membuat image dan menguploadnya di Azure Container Registry menggunakan Docker. Anda mengimplementasikan image tersebut di dalam container dengan menerapkan proses yang sama dengan yang Anda gunakan dengan kode.
Anda menerapkan praktik terbaik seperti aturan menurunkan skala atau penyebaran skala untuk menentukan jumlah resource komputasi dan instance yang terkait dengan aplikasi Anda guna meminimalkan dampak biaya.
Aplikasi dalam container serverless yang dihosting di Azure App Services terlihat seperti berikut:
Sekarang Anda akan mempelajari cara men-deploy aplikasi di Google Cloud.
Ringkasan
Cloud Run adalah platform komputasi terkelola yang memungkinkan Anda untuk menjalankan container stateless yang dapat dipanggil melalui permintaan HTTP. Cloud Run bersifat serverless. Platform ini memisahkan semua pengelolaan infrastruktur di lokasi lain, sehingga Anda dapat fokus pada hal terpenting, yakni membuat aplikasi yang andal.
Cloud Run di-build dari Knative, sehingga Anda dapat memilih untuk menjalankan container secara terkelola sepenuhnya dengan Cloud Run, atau di cluster Google Kubernetes Engine dengan Cloud Run di GKE.
Tujuan lab ini adalah untuk mempersiapkan Anda membangun image aplikasi sederhana dalam container dan men-deploy-nya di Cloud Run.
Tujuan
Di lab ini, Anda mempelajari cara:
Mengaktifkan Cloud Run API.
Membuat aplikasi Node.js sederhana yang dapat di-deploy sebagai container stateless serverless.
Memasukkan aplikasi ke dalam container dan menguploadnya ke Container Registry (sekarang disebut "Artifact Registry").
Men-deploy aplikasi dalam container di Cloud Run.
Menghapus image yang tidak diperlukan untuk menghindari timbulnya biaya penyimpanan tambahan.
Penyiapan dan persyaratan
Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.
Login ke Qwiklabs menggunakan jendela samaran.
Perhatikan waktu akses lab (misalnya, 1:15:00), dan pastikan Anda dapat menyelesaikannya dalam waktu tersebut.
Tidak ada fitur jeda. Bila perlu, Anda dapat memulai ulang lab, tetapi Anda harus memulai dari awal.
Jika sudah siap, klik Start lab.
Catat kredensial lab (Nama pengguna dan Sandi) Anda. Anda akan menggunakannya untuk login ke Google Cloud Console.
Klik Open Google Console.
Klik Use another account, lalu salin/tempel kredensial lab ini ke perintah yang muncul.
Jika menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.
Setujui ketentuan dan lewati halaman resource pemulihan.
Cara memulai lab dan login ke Console
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran.
Di sebelah kiri terdapat panel berisi kredensial sementara yang harus Anda gunakan untuk lab ini.
Salin nama pengguna, lalu klik Open Google Console.
Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Choose an account.
Tips: Buka tab di jendela terpisah secara berdampingan.
Di halaman Choose an account, klik Use Another Account. Halaman Login akan terbuka.
Tempel nama pengguna yang telah disalin dari panel Connection Details. Lalu, salin dan tempel sandinya.
Catatan: Anda harus menggunakan kredensial dari panel Connection Details. Jangan menggunakan kredensial Google Cloud Skills Boost. Jangan menggunakan akun Google Cloud pribadi Anda untuk lab ini agar terhindar dari tagihan.
Klik halaman berikutnya:
Setujui persyaratan dan ketentuan.
Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
Jangan daftar uji coba gratis.
Setelah beberapa saat, Konsol Cloud akan terbuka di tab ini.
Catatan: Anda dapat melihat menu berisi daftar Produk dan Layanan Google Cloud dengan mengklik Navigation menu di kiri atas.
Mengaktifkan Google Cloud Shell
Google Cloud Shell adalah virtual machine yang dilengkapi dengan berbagai fitur pengembangan. Virtual machine ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud.
Google Cloud Shell menyediakan akses command line untuk resource Google Cloud Anda.
Di Cloud Console, pada toolbar di kanan atas, klik tombol Open Cloud Shell.
Klik Continue.
Proses menyediakan dan menghubungkan ke lingkungan memerlukan waktu beberapa saat. Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Contoh:
gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.
Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
Di bawah ini Anda akan menemukan daftar referensi untuk beberapa perintah Linux paling mendasar yang mungkin diberikan dalam petunjuk atau blok kode untuk lab ini.
Perintah -->
Tindakan
.
Perintah -->
Tindakan
mkdir (make directory)
membuat folder baru
.
cd (change directory)
mengubah lokasi ke folder lain
ls (list )
mencantumkan file dan folder di direktori
.
cat (concatenate)
membaca konten file tanpa menggunakan editor
apt-get update
mengupdate library pengelola paket
.
ping
sinyal untuk menguji keterjangkauan host
mv (move )
memindahkan file
.
cp (copy)
membuat salinan file
pwd (present working directory )
kembali ke lokasi Anda saat ini
.
sudo (super user do)
memberi hak istimewa administrator yang lebih tinggi
Tugas 1. Mengaktifkan Cloud Run API dan mengonfigurasi lingkungan Shell
Dari Cloud Shell, aktifkan Cloud Run API:
gcloud services enable run.googleapis.com
Lakukan otorisasi penggunaan kredensial Anda jika diminta. Anda kemudian akan melihat pesan seperti berikut yang menandakan bahwa proses berhasil:
Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully.
Catatan: Anda juga dapat mengaktifkan API melalui bagian APIs & Services pada konsol.
Tetapkan region komputasi:
gcloud config set compute/region {{{ project_0.default_region| "Region" }}}
Dalam tugas ini, Anda akan membangun aplikasi NodeJS sederhana berbasis express yang merespons permintaan HTTP.
Di Cloud Shell, buat direktori baru bernama helloworld, lalu pindahkan tampilan Anda ke dalam direktori tersebut:
mkdir helloworld && cd helloworld
Berikutnya, Anda akan membuat dan mengedit file. Untuk mengedit file, gunakan vi, emac, nano atau Editor Kode Cloud Shell dengan mengklik tombol Open Editor di Cloud Shell.
Buat file package.json, lalu tambahkan konten berikut ke dalamnya:
Dan yang paling penting, file di atas berisi perintah mulai skrip dan dependensi pada framework aplikasi web Express.
Tekan CTRL+X, lalu Y untuk menyimpan file package.json.
Berikutnya, di direktori yang sama, buat file index.js, lalu tempel baris berikut ke dalamnya:
nano index.js
const express = require('express');
const app = express();
const port = process.env.PORT || 8080;
app.get('/', (req, res) => {
const name = process.env.NAME || 'World';
res.send(`Hello ${name}!`);
});
app.listen(port, () => {
console.log(`helloworld: listening on port ${port}`);
});
Kode ini akan menghasilkan server web dasar yang memantau port yang ditentukan oleh variabel lingkungan PORT. Aplikasi Anda kini sudah jadi dan siap dimasukkan ke dalam container serta diupload ke Container Registry.
Tekan CTRL+X, lalu Y untuk menyimpan file index.js.
Catatan: Anda dapat menggunakan bahasa pemrograman lainnya untuk mulai menggunakan Cloud Run. Petunjuk untuk skrip Go, Python, Java, PHP, Ruby, Shell, dan lainnya dapat ditemukan di Panduan memulai.
Tugas 3. Memasukkan aplikasi ke dalam container dan menguploadnya ke Artifact Registry
Untuk memasukkan aplikasi sampel ke dalam container, buat file baru dengan nama Dockerfile di dalam direktori yang sama dengan file sumber, lalu tambahkan konten berikut:
nano Dockerfile
# Use the official lightweight Node.js 12 image.
# https://hub.docker.com/_/node
FROM node:12-slim
# Create and change to the app directory.
WORKDIR /usr/src/app
# Copy application dependency manifests to the container image.
# A wildcard is used to ensure copying both package.json AND package-lock.json (when available).
# Copying this first prevents re-running npm install on every code change.
COPY package*.json ./
# Install production dependencies.
# If you add a package-lock.json, speed your build by switching to 'npm ci'.
# RUN npm ci --only=production
RUN npm install --only=production
# Copy local code to the container image.
COPY . ./
# Run the web service on container startup.
CMD [ "npm", "start" ]
Tekan CTRL+X, lalu Y untuk menyimpan Dockerfile.
Sekarang, bangun image container Anda menggunakan Cloud Build dengan menjalankan perintah berikut dari direktori yang berisi Dockerfile. (Perhatikan variabel lingkungan $GOOGLE_CLOUD_PROJECT di perintah, yang berisi ID Project lab Anda):
Cloud Build adalah layanan yang menjalankan build Anda di GCP. Dengan satu perintah, layanan ini menjalankan serangkaian langkah build yang masing-masing dijalankan dalam container Docker untuk menghasilkan container aplikasi Anda (atau artefak lain), lalu mengirimkannya ke Cloud Registry.
Setelah dikirimkan ke registry, Anda akan melihat pesan SUCCESS yang berisi nama image (gcr.io/[PROJECT-ID]/helloworld). Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali bila diinginkan.
Tampilkan daftar semua image container yang terkait dengan project saat ini menggunakan perintah berikut:
gcloud container images list
Untuk menjalankan dan menguji aplikasi secara lokal dari Cloud Shell, gunakan perintah docker standar ini:
docker run -d -p 8080:8080 gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
Di jendela Cloud Shell, klik Web preview lalu pilih Preview on port 8080.
Tindakan ini akan membuka jendela browser berisi pesan "Hello World!". Anda juga dapat menggunakan curl localhost:8080.
Catatan: Jika perintah docker tidak dapat mengambil image container jarak jauh, jalankan perintah berikut: gcloud auth configure-docker
Tugas 4. Men-deploy ke Cloud Run
Deploy aplikasi Anda yang ada di dalam container ke Cloud Run menggunakan perintah berikut, dan tambahkan ID Project Anda:
gcloud run deploy --image gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld --allow-unauthenticated --region=$LOCATION
Flag allow-unauthenticated pada perintah di atas akan membuat layanan Anda dapat diakses secara publik.
Saat diminta, konfirmasi service name dengan menekan Enter.
Tunggu sebentar sampai proses deployment selesai.
Jika berhasil, command line akan menampilkan URL layanan:
Service [helloworld] revision [helloworld-00001-xit] has been deployed
and is serving 100 percent of traffic.
Service URL: https://helloworld-h6cp412q3a-uc.a.run.app
Sekarang Anda dapat melihat container yang telah di-deploy dengan membuka URL layanan di jendela browser apa pun.
Selamat! Anda telah men-deploy aplikasi yang dikemas dalam image container ke Cloud Run. Cloud Run meningkatkan skala image container secara otomatis dan horizontal untuk menangani permintaan yang diterima, lalu menurunkan skala saat permintaan berkurang. Di lingkungan Anda sendiri, Anda hanya membayar untuk CPU, memori, dan jaringan yang terpakai selama permintaan ditangani.
Untuk lab ini, Anda telah menggunakan command line gcloud. Cloud Run juga tersedia melalui Cloud Console.
Dari Navigation menu, di bagian Serverless, klik Cloud Run, dan layanan helloworld Anda akan ditampilkan:
Tugas 5. Pembersihan
Meski Cloud Run tidak mengenakan biaya selama layanannya tidak digunakan, Anda mungkin tetap ditagih atas penyimpanan image container yang telah dibuat.
Anda dapat memilih untuk menghapus project GCP Anda untuk menghentikan tagihan, yang artinya akan menghentikan penagihan atas semua resource yang digunakan dalam project tersebut, atau cukup hapus image helloworld Anda dengan perintah ini :
Jika diminta untuk melanjutkan, ketik Y, lalu tekan Enter.
Untuk menghapus layanan Cloud Run, gunakan perintah berikut:
gcloud run services delete helloworld --region={{{ project_0.default_region| "Region" }}}
Jika diminta untuk melanjutkan, ketik Y, lalu tekan Enter.
Selamat!
Anda telah menyelesaikan lab ini!
Google Cloud Run dan Azure App Services sama-sama merupakan layanan komputasi serverless yang memungkinkan developer menjalankan aplikasi dalam container dengan cara yang skalabel dan hemat biaya. Namun, ada beberapa perbedaan di antara kedua layanan ini.
Berikut beberapa persamaan dan perbedaan utamanya:
Kesamaan:
Google Cloud Run dan Azure App Services sama-sama merupakan layanan komputasi terkelola sepenuhnya, yang berarti penyedia cloud menangani sebagian besar infrastruktur.
Kedua layanan ini menggunakan containerization untuk memaketkan aplikasi.
Kedua layanan ini mendukung container Docker sebagai format deployment.
Kedua layanan ini mendukung Python, .NET, Java, Ruby, Node.js, dan PHP.
Kedua layanan ini dapat secara otomatis meningkatkan atau memperkecil skala secara otomatis sesuai kebutuhan.
Di kedua layanan ini, Anda mengimplementasikan perintah “build” di antarmuka command line (CLI) yang sesuai.
Perbedaan:
Aktivasi Cloud Run berbeda dengan Azure. Di Azure, Anda harus membuat instance dari App Service agar dapat membuat dan mengupload kode.
Untuk mengupload image dalam container di Cloud Run, Anda dapat menjalankan semua langkah dalam satu petunjuk command line. Di Azure, Anda perlu membuat Azure Container Registry terlebih dahulu agar dapat mengupload image Anda.
Otomatisasi di-deploy secara berbeda di antara kedua layanan tersebut. Di Cloud Run, otomatisasi diaktifkan secara default. Di Azure, Anda harus mengaktifkan otomatisasi secara manual atau membuat aturan penskalaan untuk melakukannya secara otomatis.
Meskipun kedua layanan bekerja dengan bahasa pemrograman paling populer, Google Cloud Run juga mendukung bahasa tertentu seperti GO, begitu pula dengan Azure App Services, tetapi dengan aplikasi yang berjalan di .NET Core.
Mengakhiri lab Anda
Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.
Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.
Makna jumlah bintang:
1 bintang = Sangat tidak puas
2 bintang = Tidak puas
3 bintang = Netral
4 bintang = Puas
5 bintang = Sangat puas
Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.
Untuk masukan, saran, atau koreksi, gunakan tab Support.
Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.
Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
Di kiri atas layar, klik Start lab untuk memulai
Gunakan penjelajahan rahasia
Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
Klik Open console dalam mode pribadi
Login ke Konsol
Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
Setujui persyaratan, dan lewati halaman resource pemulihan
Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project
Konten ini tidak tersedia untuk saat ini
Kami akan memberi tahu Anda melalui email saat konten tersedia
Bagus!
Kami akan menghubungi Anda melalui email saat konten tersedia
Satu lab dalam satu waktu
Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini
Gunakan penjelajahan rahasia untuk menjalankan lab
Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
Di lab ini, Anda akan mempelajari cara memulai Cloud Run dengan men-deploy dan menjalankan container stateless secara serverless (dengan memisahkan infrastruktur di lokasi lain).