GSP319

Pengantar
Dalam challenge lab, Anda diberi sebuah skenario dan serangkaian tugas. Tidak ada petunjuk langkah demi langkah. Anda akan menggunakan keahlian yang dipelajari dari lab dalam kursus untuk mencari cara menyelesaikan sendiri tugas-tugas tersebut. Sistem pemberian skor otomatis (ditampilkan pada halaman ini) akan memberikan masukan tentang apakah Anda telah menyelesaikan tugas dengan benar atau tidak.
Saat mengikuti challenge lab, Anda tidak akan diajari konsep-konsep baru Google Cloud. Anda diharapkan dapat memperluas keahlian yang dipelajari, seperti mengubah nilai default dan membaca serta mengkaji pesan error untuk memperbaiki kesalahan Anda sendiri.
Untuk meraih skor 100%, Anda harus berhasil menyelesaikan semua tugas dalam jangka waktu tertentu.
Lab ini direkomendasikan bagi siswa yang sudah mengikuti kursus Membangun Situs di Google Cloud. Apakah Anda siap menghadapi tantangan ini?
Penyiapan dan persyaratan
Sebelum mengklik tombol Start Lab
Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.
Skenario tantangan
Anda baru saja memulai peran baru di FancyStore, Inc.
Tugas Anda adalah menangani situs e-commerce monolitik perusahaan yang sudah ada dan memecahnya menjadi serangkaian microservice yang terpisah secara logis. Kode monolit yang sudah ada ini terdapat di repositori GitHub, dan Anda diharapkan untuk memasukkan aplikasi ini ke dalam container, lalu melakukan refaktorisasi.
Anda diharapkan memiliki kemampuan dan pengetahuan untuk mengerjakan tugas-tugas berikut, jadi tidak akan ada panduan langkah demi langkah.
Anda diminta untuk memimpin project ini, setelah tim sebelumnya mengalami kelelahan setelah menangani aplikasi monolitik dan beralih lapangan pekerjaan (mereka sekarang mengelola kebun lavender). Anda akan ditugaskan untuk mengambil kode sumber, membangun container dari kode tersebut (salah satu petani bunga tadi meninggalkan Dockerfile untuk Anda), lalu mengirimnya ke GKE.
Anda harus membuat, men-deploy, dan menguji Monolit ini terlebih dahulu, untuk memastikan kode sumbernya berfungsi dengan baik. Setelah itu, Anda harus memisahkan layanan dasar ini menjadi deployment microservice-nya masing-masing.
Beberapa standar FancyStore, Inc. yang harus diikuti adalah sebagai berikut:
- Buat cluster Anda di .
- Penamaan biasanya mengikuti format team-resource. Misalnya, sebuah instance dapat diberi nama fancystore-orderservice1.
- Alokasikan ukuran resource yang hemat biaya. Perlu diperhatikan, semua project selalu dipantau dan penggunaan resource secara berlebihan akan mengakibatkan penghentian project yang terkait.
- Gunakan jenis mesin
e2-medium, kecuali diarahkan lain.
Tantangan Anda
Begitu Anda duduk di meja kerja dan membuka laptop, Anda menerima permintaan berikut untuk menyelesaikan tugas ini. Semoga berhasil!
Tugas 1. Mendownload kode monolit dan membangun container
-
Login ke project baru Anda dan aktifkan Cloud Shell.
-
Pertama-tama, Anda perlu membuat clone repositori git tim Anda. Skrip setup.sh tersedia di direktori root project yang perlu Anda jalankan untuk membangun container monolit.
-
Setelah menjalankan skrip setup.sh, jalankan perintah berikut untuk memastikan Cloud Shell Anda menjalankan nodeJS versi terbaru:
nvm install --lts
Ada beberapa project berbeda yang dapat dibangun dan dikirim.
-
Kirim build monolit (yang terletak di direktori monolith) ke Artifact Registry. Ada Dockerfile yang terletak di folder ~/monotlith-to-microservices/monolith yang dapat Anda gunakan untuk membangun container aplikasi.
-
Anda perlu menjalankan Cloud Build (di folder monolit tersebut) untuk membangunnya, lalu mengirimnya ke Artifact Registry.
-
Beri nama artefak sebagai berikut:
-
Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
-
Image name:
-
Image version: 1.0.0
Klik Periksa progres saya untuk memverifikasi tujuan.
Mendownload kode monolit dan membangun container
Tugas 2. Membuat cluster kubernetes dan men-deploy aplikasi
Setelah image dibuat dan Anda berada di Artifact Registry, sekarang saatnya membuat cluster untuk men-deploy-nya.
Anda diminta untuk men-deploy semua resource di zona , jadi pertama-tama Anda perlu membuat cluster GKE untuk zona tersebut. Mulailah dengan cluster 3 node.
-
Buat cluster Anda sebagai berikut:
-
Cluster name:
-
Region:
-
Node count: 3
Setelah image dibuat dan cluster Anda aktif dan berjalan, saatnya men-deploy aplikasi.
Anda perlu men-deploy image yang telah dibuat ke cluster Anda. Tindakan ini akan membuat aplikasi aktif dan berjalan, tetapi tidak dapat diakses hingga Anda mengeksposnya ke dunia luar. Tim Anda telah memberi tahu bahwa aplikasi berjalan di port 8080, tetapi Anda perlu mengeksposnya di port 80 yang lebih ramah konsumen.
-
Buat dan ekspos deployment Anda sebagai berikut:
-
Cluster name:
-
Container name:
-
Container version: 1.0.0
-
Application port: 8080
-
Externally accessible port: 80
Catatan: Untuk tujuan lab ini, eksposur layanan telah disederhanakan. Biasanya, gateway API digunakan untuk mengamankan endpoint publik. Pelajari lebih lanjut praktik terbaik dalam artikel Panduan Praktik terbaik untuk microservice.
- Catat alamat IP yang ditetapkan dalam operasi deployment yang diekspos. Sekarang Anda seharusnya dapat mengunjungi alamat IP ini dari browser Anda.
Anda akan melihat hasil berikut:

Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat cluster kubernetes dan men-deploy aplikasi
Setelah Anda dapat membangun dan men-deploy aplikasi monolitik Fancy Store, Anda siap untuk mulai memecahnya menjadi microservice.
Memigrasikan monolit ke microservice
Setelah situs monolitik yang ada berjalan di GKE, Anda dapat mulai memecah setiap layanan menjadi microservice. Biasanya, upaya perencanaan harus dilakukan untuk menentukan layanan mana yang akan dipecah menjadi bagian yang lebih kecil. Ini umumnya terkait bagian tertentu dari aplikasi, misalnya domain bisnis.
Untuk tujuan Tantangan ini, mari kita lompati beberapa langkah dan anggap Anda telah berhasil memecah monolit ke dalam serangkaian microservice: Orders, Products, dan Frontend. Kode Anda sudah siap, dan sekarang waktunya men-deploy layanan Anda.
Tugas 3. Membuat microservice baru
Ada tiga layanan yang perlu dipecahkan ke dalam container masing-masing. Karena Anda memindahkan semua layanan ke dalam container, Anda perlu melacak informasi berikut untuk tiap layanan:
- Folder root layanan (tempat Anda akan membangun container)
- Repositori tempat Anda akan mengupload container
- Nama & versi artefak container
Membuat versi microservice dalam container
Serangkaian layanan yang perlu dimasukkan ke dalam container adalah sebagai berikut.
- Buka root sumber yang disebutkan di bawah, lalu upload artefak yang dibuat ke Artifact Registry dengan metadata yang ditunjukkan:
|
Microservice Orders
|
Service root folder: ~/monolith-to-microservices/microservices/src/orders
GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image name:
Image version: 1.0.0
|
|
Microservice Products
|
Service root folder: ~/monolith-to-microservices/microservices/src/products
GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image name:
Image version: 1.0.0
|
- Setelah microservice ini dimasukkan ke dalam container, dan image-nya diupload ke Artifact Registry, deploy dan mengekspos layanan tersebut.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat versi Microservice pesanan dan produk dalam container
Tugas 4. Men-deploy microservice baru
Deploy container baru ini dengan mengikuti proses yang sama seperti yang Anda ikuti untuk monolit . Perhatikan bahwa layanan ini akan memproses pada port yang berbeda, jadi catat pemetaan port dalam tabel di bawah.
- Buat dan ekspos deployment Anda sebagai berikut:
|
Microservice Orders
|
Cluster name:
Container name:
Container version: 1.0.0
Application port: 8081
Externally accessible port: 80
|
|
Microservice Products
|
Cluster name:
Container name:
Container version: 1.0.0
Application port: 8082
Externally accessible port: 80
|
Catatan: Catat alamat IP layanan Orders dan Products setelah keduanya diekspos, karena Anda akan memerlukannya di langkah berikutnya.
-
Anda dapat memverifikasi bahwa deployment berhasil dan layanan telah diekspos dengan membuka URL berikut di browser:
http://ORDERS_EXTERNAL_IP/api/orders
http://PRODUCTS_EXTERNAL_IP/api/products
Jika deployment berhasil, tiap layanan akan menampilkan string JSON.
Klik Periksa progres saya untuk memverifikasi tujuan.
Men-deploy microservice baru
Tugas 5. Mengonfigurasi dan men-deploy microservice Frontend
Setelah mengekstrak microservice Orders dan Products, Anda perlu mengonfigurasi layanan Frontend agar mengarah ke microservice tersebut, lalu men-deploy-nya.
Mengonfigurasi Ulang Frontend
- Gunakan editor
nano untuk mengganti URL lokal dengan alamat IP dari microservice Products yang baru:
cd ~/monolith-to-microservices/react-app
nano .env
Saat editor terbuka, file Anda akan terlihat seperti berikut.
Output:
REACT_APP_ORDERS_URL=http://localhost:8081/api/orders
REACT_APP_PRODUCTS_URL=http://localhost:8082/api/products
- Ganti
REACT_APP_PRODUCTS_URL ke format baru sambil menggantinya dengan alamat IP microservice Orders dan Product agar sesuai dengan yang berikut:
REACT_APP_ORDERS_URL=http://<ORDERS_IP_ADDRESS>/api/orders
REACT_APP_PRODUCTS_URL=http://<PRODUCTS_IP_ADDRESS>/api/products
-
Tekan CTRL+O, ENTER, lalu CTRL+X untuk menyimpan file di editor nano.
-
Sekarang, jalankan perintah berikut untuk membangun ulang aplikasi frontend sebelum memasukannya ke dalam container:
npm run build
Tugas 6. Membuat versi microservice Frontend dalam container
Dengan microservice Orders dan Products yang kini berada dalam container dan di-deploy, serta layanan Frontend yang dikonfigurasi untuk mengarah ke keduanya, langkah terakhir adalah memasukkan Frontend ke dalam container dan men-deploy-nya.
Gunakan Cloud Build untuk mengemas konten layanan Frontend dan mengirimkannya ke Artifact Registry, sebagai berikut:
-
Service root folder: ~/monolith-to-microservices/microservices/src/frontend
-
Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
-
Image name:
-
Image version: 1.0.0
Proses ini mungkin memerlukan waktu beberapa menit, jadi bersabarlah.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat versi microservice Frontend dalam container
Tugas 7. Men-deploy microservice Frontend
Deploy container ini dengan mengikuti proses yang sama seperti yang Anda ikuti untuk microservice "Orders" dan "Products".
-
Buat dan ekspos deployment Anda sebagai berikut:
-
Cluster name:
-
Container name:
-
Container version: 1.0.0
-
Application port: 8080
-
Externally accessible port: 80
-
Anda dapat memverifikasi bahwa deployment berhasil dan microservice telah diekspos dengan benar dengan mengakses alamat IP layanan frontend berikut di browser Anda:?.
Anda akan melihat halaman beranda Fancy Store, dengan link ke halaman Products dan Orders yang didukung oleh microservice baru Anda.
Klik Periksa progres saya untuk memverifikasi tujuan.
Men-deploy microservice Frontend
Selamat!

Sertifikasi dan pelatihan Google Cloud
...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 10 Maret 2026
Lab Terakhir Diuji pada 10 Maret 2026
Hak cipta 2026 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.