
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Download the monolith code and build your container
/ 10
Create a kubernetes cluster and deploy the application
/ 20
Create a containerized version of orders and product Microservices
/ 20
Deploy the new microservices
/ 20
Create a containerized version of the Frontend microservice
/ 10
Deploy the Frontend microservice
/ 20
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 Build a Website on Google Cloud görevine kaydolan öğrenciler için önerilir. Yarışmaya hazır mısınız?
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:
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
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.
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!
Yeni projenize giriş yapın ve Cloud Shell'i açın.
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.
setup.sh
komut dosyasını çalıştırdıktan sonra Cloud Shell'inizin nodeJS'in son sürümünü çalıştırdığından emin olun:
Derlenip aktarılabilecek birkaç farklı proje olacaktır.
monolith
dizininde bulunan monolit yapıyı Google Container Registry'ye aktarın. ~/monotlith-to-microservices/monolith
klasöründe, uygulama container'ını derlemek için kullanabileceğiniz bir Dockerfile dosyası vardır.
Container'ı derlemek için Cloud Build'i (monolit klasöründe) çalıştırmanız ve ardından GCR'ye aktarmanız gerekir.
Yapınızı aşağıdaki gibi adlandırın:
İpucu:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Görüntü oluşturulduğuna ve Container Registry'de hazır durumda beklediğine göre şimdi bunu dağıtacağınız kümeyi oluşturma zamanı geldi.
Size
Küme adı:
Bölge:
Düğüm sayısı: 3
İpucu:
Kümenizin
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 sunulmadığı 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ını kullanmanız gerekiyor.
Aşağıdaki ekranı görmeniz gerekir:
İpucu:
Dağıtımınızın
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
FancyStore monolit uygulamanızı derleyip dağıtabildiğinize göre uygulamayı mikro hizmetlere ayırmaya hazırsınız!
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 biraz ileri sarı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.
Kendi container'larına ayrılması gereken 3 hizmet var. Tüm hizmetleri container'lara taşımak istediğiniz için her bir hizmete ait şu bilgileri izlemeniz gerekir:
Mikro hizmetlerinizin container mimarisine alınmış bir sürümünü oluşturma
Container mimarisine alınması gereken hizmetler aşağıda verilmiştir.
Siparişler Mikro Hizmeti |
|
Ürünler Mikro Hizmeti |
|
İpucu:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
Siparişler Mikro Hizmeti |
|
Ürünler Mikro Hizmeti |
|
NOT: Kullanıma sunulduktan sonra lütfen hem Siparişler hem de Ürünler hizmetlerinin IP adreslerini not edin. İlerideki adımlarda bu adreslere ihtiyacınız olacak.
http://ORDERS_EXTERNAL_IP/api/siparisler
http://PRODUCTS_EXTERNAL_IP/api/urunler
Dağıtımlar başarılı olduysa tüm hizmetlerin bir JSON dizesi döndürdüğünü görürsünüz.
İpucu: Dağıtımlarınızın
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
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.
nano
düzenleyiciyi kullanın:Düzenleyici açıldığında dosyanız şu şekilde görünmelidir:
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:Dosyayı nano
düzenleyicide kaydetmek için CTRL+O, ENTER ve ardından CTRL+X tuşlarına basın.
Şimdi ön uç uygulamasını container mimarisine almadan önce yeniden derleyin:
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.
Frontend hizmetinin içeriğini paketlemek ve Google Container Registry'ye aktarmak için Cloud Build'i kullanın.
Bu işlem birkaç dakika alabilir, biraz bekleyin.
İpucu:
Hedefi doğrulamak için İlerleme durumumu kontrol et'i tıklayın.
"Siparişler" ve "Ürünler" mikro hizmetleri için izlediğiniz yolu izleyerek bu yeni container'ı dağıtın.
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 İlerleme durumumu kontrol et'i tıklayın.
Bu yönlendirmesiz öğrenim laboratuvarı, Google Cloud'da Web Sitesi Derleme beceri rozeti görevinin bir parçasıdır. Bu beceri rozeti görevini tamamladığınızda başarınızın ödülü olarak yukarıdaki rozeti alırsınız. Rozetinizi özgeçmişinizde ve sosyal platformlarda kullanabilir ve #GoogleCloudBadge etiketini kullanarak başarınızı duyurabilirsiniz.
Bu beceri rozeti Google Cloud Altyapı Modernizasyonu portföyünün bir parçasıdır. Katalogda, kaydolabileceğiniz 20'den fazla beceri rozeti görevi için arama yaparak öğrenme yolculuğunuza devam edin.
...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: 5 Aralık 2023
Laboratuvarın Son Test Edilme Tarihi: 5 Aralık 2023
Telif Hakkı 2025 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.
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