Share via


Hızlı Başlangıç: Mikro hizmet uygulamalarını Azure Spring Apps'e dağıtma

Not

İlk 50 vCPU saati ve 100 GB saat bellek her ay ücretsizdir. Daha fazla bilgi için Azure'da Uygulamalar Blogu'nda Fiyat Azaltma - Azure Spring Apps daha fazlasını yapıyor, maliyetleri daha az! bölümüne bakın.

Not

Azure Spring Apps, Azure Spring Cloud hizmetinin yeni adıdır. Hizmetin yeni bir adı olsa da, ekran görüntüleri, videolar ve diyagramlar gibi varlıkları güncelleştirmek için çalışırken bazı yerlerde eski adı bir süre görürsünüz.

Bu makalede, iyi bilinen örnek uygulama PetClinic kullanılarak Azure Spring Apps'e mikro hizmet uygulamalarının nasıl dağıtılacağı açıklanmaktadır.

Pet Clinic örneği mikro hizmet mimarisi desenini gösterir. Aşağıdaki diyagramda, Azure Spring Apps Enterprise planındaki PetClinic uygulamasının mimarisi gösterilmektedir.

Azure Spring Apps Enterprise planında PetClinic örneğinin mimarisini gösteren diyagram.

Diyagramda Pet Clinic örneğinin aşağıdaki mimari akışları ve ilişkileri gösterilmektedir:

  • Ön uç ve arka uç uygulamalarını yönetmek için Azure Spring Apps'i kullanır. Arka uç uygulamaları Spring Boot ile oluşturulur ve her uygulama kalıcı depo olarak HSQLDB kullanır. Yeniden uygulanan ön uç uygulaması, tek başına bir ön uç web uygulaması olarak hizmet veren Node.js ile Pet Clinic API Gateway Uygulaması'nı kullanır.
  • Azure Spring Apps'te Service Registry, Application Configuration Service, Spring Cloud Gateway ve Application Live View gibi yönetilen bileşenleri kullanır. Uygulama Yapılandırma Hizmeti Git deposu yapılandırmasını okur.
  • İsteği arka uç hizmet uygulamalarına yönlendirmek için Spring Cloud Gateway'in URL'sini ve arka uç uygulamalarını izlemek için Application Live View'un URL'sini kullanıma sunar.
  • Log Analytics çalışma alanını kullanarak günlükleri analiz eder.
  • Uygulama Analizler ile performansı izler.

Not

Bu makalede PetClinic'in basitleştirilmiş bir sürümü, Azure Spring Apps'e hızla dağıtılacak üretime hazır olmayan bellek içi bir veritabanı kullanılır.

Tanzu Geliştirici Araçları, bir risk noktası olan Application Live View için genel erişimi kullanıma sunar. Üretim ortamının erişimin güvenliğini sağlaması gerekir. Daha fazla bilgi için Azure Spring Apps Kurumsal planında Tanzu Geliştirme Araçlarını Yapılandırma'nın Geliştirme Araçları Portalını Yapılandırma bölümüne bakın.

Pet Clinic örneği mikro hizmet mimarisi desenini gösterir. Aşağıdaki diyagramda, Azure Spring Apps Standart planındaki PetClinic uygulamasının mimarisi gösterilmektedir.

Azure Spring Apps standart planında PetClinic örneğinin mimarisini gösteren diyagram.

Diyagramda Pet Clinic örneğinin aşağıdaki mimari akışları ve ilişkileri gösterilmektedir:

  • Spring Boot uygulamalarını yönetmek için Azure Spring Apps'i kullanır. Her uygulama kalıcı depo olarak HSQLDB kullanır.
  • Azure Spring Apps'te Spring Cloud Config Server ve Eureka Service Registry yönetilen bileşenlerini kullanır. Yapılandırma Sunucusu Git deposu yapılandırmasını okur.
  • Hizmet uygulamalarına yönelik isteklerin yükünü dengelemek için API Gateway'in URL'sini kullanıma sunar ve uygulamaları yönetmek için Yönetici Sunucusunun URL'sini kullanıma sunar.
  • Log Analytics çalışma alanını kullanarak günlükleri analiz eder.
  • Uygulama Analizler ile performansı izler.

Not

Bu makalede PetClinic'in basitleştirilmiş bir sürümü, Azure Spring Apps'e hızla dağıtılacak üretime hazır olmayan bellek içi bir veritabanı kullanılır.

Dağıtılan uygulama admin-server , bir risk noktası olan genel erişimi kullanıma sunar. Üretim ortamının Spring Boot Yönetici uygulamasının güvenliğini sağlaması gerekir.

Bu makalede Azure Spring Apps'e dağıtmak için aşağıdaki seçenekler sağlanır:

  • Azure portalı seçeneği, tek tıklamayla kaynak oluşturmanın ve uygulamaları dağıtmanın en kolay ve en hızlı yoludur. Bu seçenek, Uygulamaları Azure bulut hizmetlerine hızla dağıtmak isteyen Spring geliştiricileri için uygundur.
  • Azure portalı + Maven eklentisi seçeneği, kaynakları oluşturmanın ve uygulamaları adım adım dağıtmanın daha geleneksel bir yoludur. Bu seçenek, Azure bulut hizmetlerini ilk kez kullanan Spring geliştiricileri için uygundur.
  • Azure CLI seçeneği, Azure kaynaklarını yönetmek için güçlü bir komut satırı aracı kullanır. Bu seçenek, Azure bulut hizmetlerini bilen Spring geliştiricileri için uygundur.
  • Azure portalı + Maven eklentisi seçeneği, kaynakları oluşturmanın ve uygulamaları adım adım dağıtmanın daha geleneksel bir yoludur. Bu seçenek, Azure bulut hizmetlerini ilk kez kullanan Spring geliştiricileri için uygundur.
  • Azure Geliştirici CLI seçeneği, kaynakları otomatik olarak oluşturmanın ve uygulamaları basit komutlar aracılığıyla dağıtmanın daha verimli bir yoludur. Azure Geliştirici CLI'sı, gerekli Azure kaynaklarını sağlamak ve uygulama kodunu dağıtmak için bir şablon kullanır. Bu seçenek, Azure bulut hizmetlerini bilen Spring geliştiricileri için uygundur.

1. Önkoşullar

2. Spring projesini hazırlama

Örneği yerel olarak hazırlamak için aşağıdaki adımları kullanın:

  1. Aşağıdaki komutu kullanarak örnek projeyi kopyalayın:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Proje kök dizinine gidin ve aşağıdaki komutu kullanarak örnek projeyi yerel olarak çalıştırın:

    bash ./scripts/run_all_without_infra.sh
    
  3. Betik başarıyla tamamlandıktan sonra, PetClinic uygulamasına erişmek için tarayıcınızda adresine gidin http://localhost:8080 .

3. Bulut ortamını hazırlama

Bu bölümde Azure Spring Apps hizmet örneğinin nasıl oluşturulacağı ve Azure bulut ortamının nasıl hazırlandığı açıklanır.

3.1. Azure portalda oturum açma

Azure portalına gidin ve portalda oturum açmak için kimlik bilgilerinizi girin. Varsayılan görünüm hizmet panonuzu içerir.

3.2. Azure Spring Apps örneği oluşturma

Hizmet örneğini oluşturmak için aşağıdaki adımları kullanın:

  1. Azure portalının köşesinde kaynak oluştur'u seçin.

  2. Azure Hizmetleri sekmesinde İşlem>Azure Spring Apps'i seçin.

    Azure Spring Apps'in vurgulandığı Kaynak Oluştur sayfasını gösteren Azure portalının ekran görüntüsü.

  3. Azure Spring Apps Oluştur sayfasında, Temel Bilgiler sekmesindeki formu doldurun.

    Temel Bilgiler sekmesinin seçili olduğu Azure Spring Apps Oluştur sayfasını gösteren Azure portalının ekran görüntüsü.

    Formu tamamlamak için kılavuz olarak aşağıdaki tabloyu kullanın. Önerilen Plan Standarttır.

    Ayar Önerilen değer Açıklama
    Abonelik Abonelik adınız. Sunucunuz için kullanmak istediğiniz Azure aboneliği. Birden çok aboneliğiniz varsa kaynak için faturalandırılacak aboneliği seçin.
    Kaynak grubu myresourcegroup Yeni bir kaynak grubu adı veya aboneliğinizde var olan bir kaynak grubu.
    Ad myasa Azure Spring Apps örneğinizi tanımlayan benzersiz bir ad. Ad 4 ile 32 karakter uzunluğunda olmalıdır ve yalnızca küçük harf, sayı ve kısa çizgi içerebilir. Hizmet adının ilk karakteri bir harf, son karakter ise harf veya sayı olmalıdır.
    Plan Standart Fiyatlandırma planı, örneğinizle ilişkili kaynakları ve maliyeti belirler.
    Bölge Kullanıcılarınıza en yakın bölge. Kullanıcılarınız için en yakın olan konum.
    Alanlar Arası Yedekli Seçili değil Azure Spring Apps hizmetinizi bir Azure kullanılabilirlik alanında oluşturur. Şu anda tüm bölgelerde desteklenmiyor.
  4. Azure Spring Apps Oluştur sayfasındaki Tanılama ayarları sekmesine gidin ve yeni bir Log Analytics çalışma alanı örneği oluşturmak için Yeni oluştur'u seçin. Yeni Log Analytics çalışma alanı oluştur sayfasında Log Analytics çalışma alanının adını gerektiği gibi güncelleştirin ve ardından oluşturmayı onaylamak için Tamam'ı seçin.

    Tanılama sekmesinin seçili ve Yeni oluştur düğmesinin vurgulandığı Azure Spring Apps Oluştur sayfasını gösteren Azure portalının ekran görüntüsü.

  5. Azure Spring Apps Oluştur sayfasındaki Uygulama Analizler sekmesine gidin ve yeni bir Uygulama Analizler örneği oluşturmak için Yeni oluştur'u seçin. Yeni Uygulama Analizler kaynağı oluştur sayfasında, Application insights adını gerektiği gibi güncelleştirin, Kaynak modu için Çalışma Alanı tabanlı'yı seçin ve ardından oluşturma işlemini onaylamak için Tamam'ı seçin.

    Yeni Uygulama oluştur Analizler kaynak bölmesinin gösterildiği Azure Spring Apps Oluştur sayfasını gösteren Azure portalının ekran görüntüsü.

  6. Seçimlerinizi gözden geçirmek için Gözden Geçir ve Oluştur'u seçin. Ardından Oluştur'u seçerek Azure Spring Apps örneğini sağlayın.

  7. Dağıtım işlemini izlemek için Bildirimler simgesini (zil) seçin. Dağıtım tamamlandıktan sonra Azure portalı panonuzda hizmetin Genel Bakış sayfasına kısayol oluşturmak için Panoya sabitle'yi seçebilirsiniz.

    Kaynağın dağıtımını gösteren Azure portalının ve Kaynağa git ve Panoya sabitle düğmelerini içeren Bildirim bölmesinin ekran görüntüsü.

  8. Azure Spring Apps'e Genel Bakış sayfasına gitmek için Kaynağa git'i seçin.

  9. Gezinti bölmesinde Yapılandırma Sunucusu'nu seçin.

  10. Yapılandırma Sunucusu sayfasında, URI için girin https://github.com/Azure-Samples/spring-petclinic-microservices-config.git ve Doğrula'yı seçin.

    Varsayılan URI'nin ve Doğrula düğmesinin vurgulandığı Yapılandırma Sunucusu sayfasını gösteren Azure portalının ekran görüntüsü.

  11. Doğrulamadan sonra, Yapılandırma Sunucusu yapılandırmasını tamamlamak için Uygula'yı seçin.

4. Uygulamaları Azure Spring Apps'e dağıtma

Artık uygulamayı Azure Spring Apps'e dağıtabilirsiniz.

Azure Spring Apps için Maven eklentisini kullanarak mikro hizmet uygulamalarını dağıtmak için aşağıdaki adımları kullanın:

  1. Örnek proje dizinine gidin ve Azure Spring Apps uygulamalarını yapılandırmak için aşağıdaki komutu kullanın:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. Aşağıdaki listede komut etkileşimleri açıklanmaktadır:

    • Yapılandıracak alt modülleri seçin(virgülle ayrılmış giriş numaraları, örneğin: [1-2,4,6], TÜMÜNÜ seçmek için ENTER): Tümünü seçmek için Enter tuşuna basın.
    • OAuth2 oturum açma: OAuth2 protokolüne göre Azure'da oturum açmayı yetkilendirilin.
    • Aboneliği seçin: Oluşturduğunuz Azure Spring Apps örneğinin abonelik listesi numarasını seçin ve varsayılan olarak listedeki ilk aboneliği seçin. Varsayılan sayıyı kullanıyorsanız doğrudan Enter tuşuna basın.
    • Dağıtım için Azure Spring Apps'i seçin: Oluşturduğunuz Azure Spring Apps örneğinin liste numarasını seçin. Varsayılan sayıyı kullanıyorsanız doğrudan Enter tuşuna basın.
    • Genel erişimi kullanıma açmak için uygulamaları seçin:(virgülle ayrılmış giriş numaraları, örneğin: [1-2,4,6], YOK'u seçmek için ENTER): ve api-gatewayiçin admin-server 1,5 girin.
    • Yukarıdaki tüm yapılandırmaları (Y/n) kaydetmeyi onaylayın: y tuşuna basın. n tuşuna basarsanız yapılandırma POM dosyalarına kaydedilmez.
  3. Her uygulamayı derlemek ve dağıtmak için aşağıdaki komutu kullanın:

    ./mvnw azure-spring-apps:deploy
    
  4. OAuth2 oturum açma istemi için OAuth2 protokolüne göre Azure'da oturum açmayı yetkilendirilin.

    Not

    Azure Spring Apps'e dağıtım 25 dakika kadar sürebilir.

Komut çalıştırıldıktan sonra günlük, tüm dağıtımların başarılı olduğunu gösteren aşağıdaki örneğe benzer bir çıktı görüntüler:

[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO]   InstanceName:admin-server-default-xx-xx-xxx  Status:Running Reason:null       DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io

...

[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io

2. Spring projesini hazırlama

Sonraki bölümdeki Azure'a Dağıt düğmesi, GitHub'daki ASA-Samples-Web-Application yayınları sayfasından JAR paketi indiren bir Azure portalı deneyimi başlatır. Yerel hazırlık adımları gerekli değildir.

3. Bulut ortamını hazırlama

Bu örneği çalıştırmak için ihtiyacınız olan ana kaynak bir Azure Spring Apps örneğidir. Bu bölümde bu kaynağın nasıl oluşturulacağı açıklanmaktadır.

Bu bölümde, Azure portalında bir dağıtım deneyimi başlatmak için Azure'a Dağıt düğmesi kullanılır. Bu deneyim, Azure kaynakları oluşturmak için bir ARM şablonu kullanır.

3.1. Azure portalda oturum açma

Azure portalına gidin ve portalda oturum açmak için kimlik bilgilerinizi girin. Varsayılan görünüm hizmet panonuzu içerir.

3.2. Azure kaynakları oluşturma

Uygulamanın bağımlı olduğu tüm Azure kaynaklarını oluşturmak için aşağıdaki adımları kullanın:

  1. Azure portalında dağıtım deneyimini başlatmak için aşağıdaki Azure'a dağıt düğmesini seçin:

    Resource Manager şablonunu Azure'a dağıtma düğmesi.

  2. Temel Bilgiler sekmesinde formu doldurun. Formu tamamlamak için kılavuz olarak aşağıdaki tabloyu kullanın:

    Ayar Önerilen değer Açıklama
    Abonelik Abonelik adınız. Sunucunuz için kullanmak istediğiniz Azure aboneliği. Birden çok aboneliğiniz varsa kaynak için faturalandırılacak aboneliği seçin.
    Kaynak grubu myresourcegroup Yeni bir kaynak grubu adı veya aboneliğinizde var olan bir kaynak grubu.
    Bölge Kullanıcılarınıza en yakın bölge. Bölge, kaynak grubunu oluşturmak için kullanılır.

    Özel dağıtım sayfasını gösteren Azure portalının ekran görüntüsü.

  3. Seçimlerinizi gözden geçirmek için Gözden Geçir ve Oluştur'u seçin. Ardından Oluştur'u seçerek uygulamayı Azure Spring Apps'e dağıtın.

  4. Araç çubuğunda, dağıtım sürecini izlemek için Bildirimler simgesini (zil) seçin. Dağıtım tamamlandıktan sonra Panoya sabitle'yi seçerek Azure portalı panonuzda hizmetin Genel Bakış sayfasının kısayolu olarak bu hizmet için bir kutucuk oluşturabilirsiniz. Hizmetin Genel Bakış sayfasını açmak için Kaynağa git'i seçin.

    Özel dağıtım bildirimleri bölmesinin açık olduğu Genel Bakış sayfasını gösteren Azure portalının ekran görüntüsü.

4. Uygulamaları Azure Spring Apps'e dağıtma

Önceki bölümdeki Azure'a Dağıt düğmesi, uygulama dağıtımı içeren bir Azure portalı deneyimi başlatır, bu nedenle başka bir şey gerekmez.

5. Uygulamaları doğrulama

Aşağıdaki bölümlerde dağıtımın nasıl doğrulandığı açıklanmaktadır.

5.1. Uygulamalara erişme

Dağıtım tamamlandıktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi dağıtım çıkışlarından Spring Cloud Gateway URL'sini bulabilirsiniz:

Dağıtım Çıkışları sayfasını gösteren Azure portalının ekran görüntüsü.

Ağ geçidi URL'sini açın. Uygulama aşağıdaki ekran görüntüsüne benzer görünmelidir:

Azure Spring Apps Kurumsal planında çalışan PetClinic uygulamasının ekran görüntüsü.

5.2. Uygulama günlüklerini sorgulama

Pet Clinic'in her işlevine göz atdıktan sonra Log Analytics çalışma alanı her uygulamanın günlüklerini toplar. Aşağıdaki ekran görüntüsünde gösterildiği gibi özel sorgular kullanarak günlükleri de kontrol edebilirsiniz:

PetClinic uygulamasındaki sorgunun Günlükler sayfasını ve Kurumsal plan sonuçlarını gösteren Azure portalının ekran görüntüsü.

5.3. Uygulamaları izleme

Uygulama Analizler, aşağıdaki uygulama izleme haritasında gösterildiği gibi uygulama bağımlılıklarını izler:

Azure Spring Apps Kurumsal planı için Uygulama haritası sayfasını gösteren Azure portalının ekran görüntüsü.

Uygulama Canlı Görünümü URL'sini dağıtım çıkışlarından bulabilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi uygulama çalışma zamanlarını izlemek için Uygulama Canlı Görünümü URL'sini açın:

PetClinic uygulaması için Uygulama Canlı Görünümü'nü ekran görüntüsü.

5.1. Uygulamalara erişme

Dağıtım günlüğü çıkışındaki URL bilgilerini kullanarak adlı api-gateway uygulama tarafından sunulan URL'yi açın. Örneğin, https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Uygulama aşağıdaki ekran görüntüsüne benzer görünmelidir:

Azure Spring Apps üzerinde çalışan PetClinic uygulamasının ekran görüntüsü.

5.2. Uygulama günlüklerini sorgulama

Pet Clinic'in her işlevine göz atdıktan sonra Log Analytics çalışma alanı her uygulamanın günlüklerini toplar. Aşağıdaki ekran görüntüsünde gösterildiği gibi özel sorgular kullanarak günlükleri de kontrol edebilirsiniz:

PetClinic uygulamasındaki sorgunun Günlükler sayfasını ve sonuçları gösteren Azure portalının ekran görüntüsü.

5.3. Uygulamaları izleme

Uygulama Analizler, aşağıdaki uygulama izleme haritasında gösterildiği gibi uygulama bağımlılıklarını izler:

Bir Uygulama Analizler örneğinin Uygulama haritası sayfasını gösteren Azure portalının ekran görüntüsü.

Aşağıdaki ekran görüntüsünde gösterildiği gibi Spring Boot Yönetici Sunucusu aracılığıyla uygulamaları yönetmek için uygulama admin-server tarafından sunulan URL'yi açın:

Geçerli uygulama örneklerini listeleyen PetClinic uygulamasının Spring Boot Yönetici Sunucusu sayfasının ekran görüntüsü.

6. Kaynakları temizleme

Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Kaynaklara artık ihtiyacınız kalmadığında, Azure ücretlerinden kaçınmak için gereksiz kaynakları temizleyebilirsiniz.

Yeni oluşturulan hizmet örneği de dahil olmak üzere kaynak grubunun tamamını silmek için aşağıdaki adımları kullanın:

  1. Azure portalında kaynak grubunuzu bulun. Gezinti menüsünde Kaynak grupları'nı ve ardından kaynak grubunuzun adını seçin.

  2. Kaynak grubu sayfasında Sil'i seçin. Silme işlemini onaylamak için metin kutusuna kaynak grubunuzun adını girin ve Sil'i seçin.

Artık ihtiyacınız kalmadığında bu makalede oluşturduğunuz kaynakları sildiğinizden emin olun. Kaynak grubundaki tüm kaynakları içeren Azure kaynak grubunu silebilirsiniz.

Kaynak grubunun tamamını silmek için aşağıdaki adımları kullanın:

  1. Azure portalında kaynak grubunuzu bulun. Gezinti menüsünde Kaynak grupları'nı ve ardından kaynak grubunuzun adını seçin.

  2. Kaynak grubu sayfasında Sil'i seçin. Silme işlemini onaylamak için metin kutusuna kaynak grubunuzun adını girin ve Sil'i seçin.

7. Sonraki adımlar

Daha fazla bilgi için aşağıdaki makaleleri inceleyin: