Lab setup instructions and requirements
Protect your account and progress. Always use a private browser window and lab credentials to run this lab.

Google Cloud'da Web Sitesi Derleme: Yarışma Laboratuvarı

Lab 25 minutes universal_currency_alt 5 Credits show_chart Intermediate
info This lab may incorporate AI tools to support your learning.
This content is not yet optimized for mobile devices.
For the best experience, please visit us on a desktop computer using a link sent by email.

GSP319

Google Cloud yönlendirmesiz öğrenim laboratuvarı logosu

Giriş

Yarışma laboratuvarında size bir senaryo ve birtakım görevler verilir. Adım adım talimatları uygulamak yerine, görevleri kendi başınıza nasıl tamamlayacağınızı bulmak için kurstaki laboratuvarlardan öğrendiğiniz becerileri pratiğe dökersiniz. Otomatik bir puan sistemi (Bu sayfada gösterilir), görevlerinizi gerektiği şekilde tamamlayıp tamamlamadığınızla ilgili geri bildirim verir.

Bir yarışma laboratuvarı'na katıldığınızda size yeni Google Cloud kavramları öğretilmez. Varsayılan değerleri değiştirmek ve kendi hatalarınızı düzeltmek için hata mesajlarını okuyup araştırma yapmak gibi öğrendiğiniz becerileri geliştirmeniz beklenir.

%100'e ulaşmak için tüm görevleri verilen süre içinde başarıyla tamamlamanız gerekir.

Bu laboratuvar Google Cloud'da Web Sitesi Derleme kursuna kaydolan öğrenciler için önerilir. Yarışmaya hazır mısınız?

Kurulum ve şartlar

Laboratuvarı Başlat düğmesini tıklamadan önce

Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Start Lab'i (Laboratuvarı başlat) tıkladığınızda başlayan zamanlayıcı, Google Cloud kaynaklarının ne süreyle kullanımınıza açık durumda kalacağını gösterir.

Bu uygulamalı laboratuvarı kullanarak, laboratuvar etkinliklerini simülasyon veya demo ortamı yerine gerçek bir bulut ortamında gerçekleştirebilirsiniz. Bunu yapabilmeniz için size yeni, geçici kimlik bilgileri verilir. Bu kimlik bilgilerini laboratuvar süresince Google Cloud'da oturum açmak ve Google Cloud'a erişmek için kullanabilirsiniz.

Bu laboratuvarı tamamlamak için gerekenler:

  • Standart bir internet tarayıcısına erişim (Chrome Tarayıcı önerilir)
Not: Bu laboratuvarı çalıştırmak için tarayıcıyı gizli modda (önerilen) veya gizli tarama penceresinde açın. Aksi takdirde, kişisel hesabınızla öğrenci hesabınız arasında oluşabilecek çakışmalar nedeniyle kişisel hesabınızdan ek ücret alınabilir.
  • Laboratuvarı tamamlamak için yeterli süre (Laboratuvarlar başlatıldıktan sonra duraklatılamaz.)
Not: Bu laboratuvar için yalnızca öğrenci hesabını kullanın. Farklı bir Google Cloud hesabı kullanırsanız bu hesaptan ödeme alınabilir.

Yarışma senaryosu

FancyStore A.Ş. adlı şirkette yeni bir işe başladınız.

Göreviniz, şirketin mevcut monolit e-ticaret web sitesini alıp bir dizi mantıksal olarak ayrılmış mikro hizmete bölmek. Mevcut monolit kod bir GitHub deposunda duruyor, sizden ise bu uygulamayı container mimarisine alıp yeniden düzenlemeniz bekleniyor.

Bu görevler için gereken becerilere ve bilgiye sahip olmanız bekleniyor, yani adım adım açıklamalı kılavuz beklemeyin.

Önceki ekip monolit uygulamanın sorunlarıyla baş edemeyip doğaya dönmeyi seçti (Gerçekten de bir lavanta çiftliği kurdular). Dolayısıyla artık bu göreve sizin liderlik etmeniz isteniyor. Kaynak kodu almanız, bundan bir container derlemeniz (Çiftçilerden biri size bir Dockerfile bırakmıştı.) ve daha sonra bunu GKE'ye aktarmanız gerekiyor.

Önce monoliti derlemeli, dağıtmalı ve kaynak kodun sağlam olduğundan emin olmak için test etmelisiniz. Bunun ardından bileşen hizmetleri kendi mikro hizmet dağıtımlarına ayırmalısınız.

Uymanız gereken bazı FancyStore A.Ş. standartları şunlardır:

  • Kümenizi bölgesinde oluşturun.
  • Adlandırma ekip-kaynak şeklinde olmalıdır, yani bir örnek fancystore-orderservice1 olarak adlandırılabilir.
  • Uygun maliyetli kaynak boyutları ayırın. Projeler izlenmekte olup aşırı kaynak kullanımı projenin sonlandırılmasına neden olur.
  • Aksi belirtilmediği takdirde e2-medium makine türünü kullanın.

Yarışma konusu

Masanıza oturup yeni dizüstü bilgisayarınızı açar açmaz gördüğünüz talep listesinde aşağıdaki görevleri tamamlamanız gerekiyor. İyi şanslar!

1. görev: Monolit kodu indirme ve container'ınızı derleme

  1. Yeni projenize giriş yapın ve Cloud Shell'i etkinleştirin.

  2. Her şeyden önce ekibinizin Git deposunu klonlamanız gerekir. Monolit container'ınızı derleyebilmeniz için projenin kök dizininde bulunan setup.sh komut dosyasını çalıştırmalısınız.

  3. setup.sh komut dosyasını çalıştırdıktan sonra Cloud Shell'inizin nodeJS'in en yeni sürümünü çalıştırdığından emin olmak için aşağıdaki komutu çalıştırın:

nvm install --lts

Derlenip aktarılabilecek birkaç farklı proje bulunur.

  1. monolith dizininde bulunan monolit derlemeyi Artifact Registry'ye aktarın. ~/monotlith-to-microservices/monolith klasöründe, uygulama container'ını derlemek için kullanabileceğiniz bir Dockerfile dosyası vardır.

  2. Container'ı derlemek için Cloud Build'i (monolit klasöründe) çalıştırmanız, ardından Artifact Registry'ye aktarmanız gerekir.

  3. Yapınızı aşağıdaki gibi adlandırın:

    • Repo (Depo): gcr.io/${GOOGLE_CLOUD_PROJECT}
    • Image name (Görüntü adı):
    • Image version (Görüntü sürümü): 1.0.0

Hedefi doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Monolit kodu indirme ve container'ınızı derleme

2. görev: Kubernetes kümesi oluşturma ve uygulamayı dağıtma

Görüntüyü oluşturdunuz ve Artifact Registry'de hazır durumda bekliyor. Şimdi bu görüntüyü dağıtacağınız kümeyi oluşturabilirsiniz.

Size alt bölgesindeki tüm kaynaklarınızı dağıtmanız söylendi. Bu nedenle önce bunun için bir GKE kümesi oluşturmanız gerekir. Başlangıç olarak 3 düğümlü bir küme oluşturun.

  1. Kümenizi aşağıdaki gibi oluşturun:

    • Cluster name (Küme adı):
    • Region (Bölge):
    • Node count (Düğüm sayısı): 3

Görüntü oluşturduğunuza ve küme çalıştırdığınıza göre şimdi uygulamanızı dağıtabilirsiniz.

Derlediğiniz görüntüyü kümenize dağıtmanız gerekir. Böylece uygulamanız çalışır ancak dış dünyaya açılmadığı sürece uygulamaya erişilemez. Ekibiniz size uygulamanın 8080 numaralı bağlantı noktasında çalıştığını söyledi ama sizin daha tüketici dostu olan 80 numaralı bağlantı noktasında erişime açmanız gerekiyor.

  1. Dağıtımınızı aşağıdaki gibi oluşturup erişime açın:

    • Cluster name (Küme adı):
    • Container name (Container adı):
    • Container version (Container sürümü): 1.0.0
    • Application port (Uygulama bağlantı noktası): 8080
    • Externally accessible port (Harici olarak erişilebilen bağlantı noktası): 80
Not: Bu laboratuvara özel olarak, hizmetin erişime açılması basitleştirilmiştir. Normal şartlarda, herkese açık uç noktalarınızın güvenliğini sağlamak için bir API ağ geçidi kullanırsınız. Mikro hizmetlere dair en iyi uygulamalar rehberinden daha fazla bilgi edinin.
  1. Erişime açılan dağıtım işleminde atanan IP adresini not edin. Artık tarayıcınızdan bu IP adresini ziyaret edebilirsiniz.

Aşağıdaki ekranı görmeniz gerekir:

FancyStore web sayfası

Hedefi doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Kubernetes kümesi oluşturma ve uygulamayı dağıtma

FancyStore monolit uygulamanızı derleyip dağıtabildiğinize göre uygulamayı mikro hizmetlere ayırmaya hazırsınız.

Monoliti mikro hizmetlere taşıma

Mevcut monolit web siteniz GKE'de çalıştığına göre şimdi hizmetleri mikro hizmetlere ayırmaya başlayabilirsiniz. Genellikle, hangi hizmetlerin daha küçük parçalara ayrılacağı konusunda planlama yapılması gerekir. Bu planlama çoğu zaman uygulamanın iş alanı gibi belirli kısımları etrafında yapılır.

Bu yarışmaya özel olarak bazı adımları atlayın ve monoliti başarıyla Siparişler, Ürünler ve Ön Uç şeklinde bir dizi mikro hizmete ayırdığınızı varsayın. Kodunuz hazır, şimdi hizmetleri dağıtmanız gerekiyor.

3. görev: Yeni mikro hizmetler oluşturma

Kendi container'larına ayrılması gereken üç hizmet var. Tüm hizmetleri container'lara taşımak istediğiniz için her bir hizmete ait şu bilgileri izlemeniz gerekir:

  • Hizmetin kök klasörü (Container'ı burada derleyeceksiniz)
  • Container'ı yükleyeceğiniz depo
  • Container yapısının adı ve sürümü

Mikro hizmetlerinizin container mimarisine alınmış bir sürümünü oluşturma

Container mimarisine alınması gereken hizmetler aşağıda verilmiştir.

  1. Aşağıda sözü edilen kaynak köklere gidin ve oluşturulan yapıları, verilen meta verilerle birlikte Artifact Registry'ye yükleyin:

Siparişler Mikro Hizmeti

Service root folder (Hizmet kök klasörü): ~/monolith-to-microservices/microservices/src/orders

GCR Repo (GCR deposu): gcr.io/${GOOGLE_CLOUD_PROJECT}

Image name (Görüntü adı):

Image version (Görüntü sürümü): 1.0.0

Ürünler Mikro Hizmeti

Service root folder (Hizmet kök klasörü): ~/monolith-to-microservices/microservices/src/urunler

GCR Repo (GCR deposu): gcr.io/${GOOGLE_CLOUD_PROJECT}

Image name (Görüntü adı):

Image version (Görüntü sürümü): 1.0.0

  1. Bu mikro hizmetler container mimarisine alındıktan ve görüntüleri Artifact Registry'ye yüklendikten sonra hizmetleri dağıtıp erişime açmalısınız.

Hedefi doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Sipariş ve ürün mikro hizmetlerinin container mimarisine alınmış sürümlerini oluşturma

4. görev: Yeni mikro hizmetleri dağıtma

monoliti için izlediğiniz yolu izleyerek bu yeni container'ları dağıtın. Bu hizmetlerin farklı bağlantı noktalarında işlem yapacağını unutmayın ve aşağıdaki tabloda yer alan bağlantı noktası eşlemelerini not edin.

  1. Dağıtımlarınızı aşağıdaki gibi oluşturup erişime açın:

Siparişler Mikro Hizmeti

Cluster name (Küme adı):

Container name (Container adı):

Container version (Container sürümü): 1.0.0

Application port (Uygulama bağlantı noktası): 8081

Externally accessible port (Harici olarak erişilebilen bağlantı noktası): 80

Ürünler Mikro Hizmeti

Cluster name (Küme adı):

Container name (Container adı):

Container version (Container sürümü): 1.0.0

Application port (Uygulama bağlantı noktası): 8082

Externally accessible port (Harici olarak erişilebilen bağlantı noktası): 80

Not: Erişime açıldıktan sonra lütfen hem Siparişler hem de Ürünler hizmetlerinin IP adreslerini not edin. İlerideki adımlarda bu adreslere ihtiyacınız olacak.
  1. Dağıtımların başarılı olduğunu ve hizmetlerin erişime açıldığını doğrulamak için tarayıcınızda şu URL'lere gidebilirsiniz:

    • http://ORDERS_EXTERNAL_IP/api/orders
    • http://PRODUCTS_EXTERNAL_IP/api/products

Dağıtımlar başarılı olduysa tüm hizmetlerin bir JSON dizesi döndürdüğünü görürsünüz.

Hedefi doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Yeni mikro hizmetleri dağıtma

5. görev: Ön uç mikro hizmetini yapılandırma ve dağıtma

Siparişler ve Ürünler mikro hizmetlerini çıkardığınıza göre şimdi bunlara işaret edecek ön uç hizmetini yapılandırmanız ve dağıtmanız gerekir.

Ön uç mikro hizmetini yeniden yapılandırma

  1. Yerel URL'yi yeni Ürünler mikro hizmetlerinin IP adresiyle değiştirmek için nano düzenleyiciyi kullanın:
cd ~/monolith-to-microservices/react-app nano .env

Düzenleyici açıldığında dosyanız aşağıdaki şekilde görünmelidir.

Çıkış:

REACT_APP_ORDERS_URL=http://localhost:8081/api/orders REACT_APP_PRODUCTS_URL=http://localhost:8082/api/products
  1. REACT_APP_PRODUCTS_URL kısmını, Siparişler ve Ürünler mikro hizmetlerinizin IP adresleriyle değiştirirken aşağıdakiyle eşleşecek şekilde yeni biçimle değiştirin:
REACT_APP_ORDERS_URL=http://<ORDERS_IP_ADDRESS>/api/orders REACT_APP_PRODUCTS_URL=http://<PRODUCTS_IP_ADDRESS>/api/products
  1. Dosyayı nano düzenleyicide kaydetmek için CTRL+O, ENTER ve ardından CTRL+X tuşlarına basın.

  2. Şimdi ön uç uygulamasını container mimarisine almadan önce yeniden derlemek için aşağıdaki komutu çalıştırın:

npm run build

6. görev: Ön uç mikro hizmetinin container mimarisine alınmış bir sürümünü oluşturma

Siparişler ve Ürünler mikro hizmetleri artık container mimarisine alınıp dağıtıldığına ve ön uç hizmeti de bunlara işaret edecek şekilde yapılandırıldığına göre son adım, ön uç hizmetini container mimarisine almak ve dağıtmaktır.

Ön uç hizmetinin içeriğini paketlemek ve Artifact Registry'ye aktarmak için Cloud Build'i aşağıdaki şekilde kullanın:

  • Service root folder (Hizmet kök klasörü) ~/monolith-to-microservices/microservices/src/frontend
  • Repo (Depo): gcr.io/${GOOGLE_CLOUD_PROJECT}
  • Image name (Görüntü adı):
  • Image version (Görüntü sürümü): 1.0.0

Bu işlem birkaç dakika alabilir, biraz bekleyin.

Hedefi doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Ön uç mikro hizmetinin container mimarisine alınmış bir sürümünü oluşturma

7. görev: Ön uç mikro hizmetini dağıtma

"Siparişler" ve "Ürünler" mikro hizmetleri için izlediğiniz yolu izleyerek bu yeni container'ı dağıtın.

  1. Dağıtımınızı aşağıdaki gibi oluşturup erişime açın:

    • Cluster name (Küme adı):
    • Container name (Container adı):
    • Container version (Container sürümü): 1.0.0
    • Application port (Uygulama bağlantı noktası): 8080
    • Externally accessible port (Harici olarak erişilebilen bağlantı noktası): 80
  2. Dağıtımın başarılı olduğunu ve mikro hizmetlerin düzgün bir biçimde erişime açıldığını doğrulamak için tarayıcınızda ön uç hizmetinin IP adresine gidebilirsiniz.

Yeni mikro hizmetlerinizle desteklenen Ürünler ve Siparişler sayfa bağlantılarının yer aldığı FancyStore ana sayfasını görürsünüz.

Hedefi doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Ön uç mikro hizmetini dağıtma

Tebrikler!

Build_a_Website_on_Google_Cloud_Skill_WBG.png

Google Cloud eğitimi ve sertifikası

...Google Cloud teknolojilerinden en iyi şekilde yararlanmanıza yardımcı olur. Derslerimizde teknik becerilere odaklanırken en iyi uygulamalara da yer veriyoruz. Gerekli yetkinlik seviyesine hızlıca ulaşmanız ve öğrenim maceranızı sürdürebilmeniz için sizlere yardımcı olmayı amaçlıyoruz. Temel kavramlardan ileri seviyeye kadar farklı eğitim programlarımız mevcut. Ayrıca, yoğun gündeminize uyması için talep üzerine sağlanan, canlı ve sanal eğitim alternatiflerimiz de var. Sertifikasyonlar ise Google Cloud teknolojilerindeki becerilerinizi ve uzmanlığınızı doğrulamanıza ve kanıtlamanıza yardımcı oluyor.

Kılavuzun Son Güncellenme Tarihi: 10 Mart 2026

Laboratuvarın Son Test Edilme Tarihi: 10 Mart 2026

Telif Hakkı 2026 Google LLC. Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.