Düzenle

Aracılığıyla paylaş


Azure API Management kullanarak web uygulamasını geçirme

Azure API Management
Azure Monitor
Azure App Service

Bu senaryoda, turizm sektöründeki bir e-ticaret şirketinin Azure API Management kullanarak eski web uygulamasının geçişini yapıyor. Yeni kullanıcı arabirimi, Azure'da hizmet olarak platform (PaaS) uygulaması olarak barındırılır ve hem mevcut hem de yeni HTTP API'lerine bağlıdır. Bu API'ler, daha iyi performans, daha kolay tümleştirme ve gelecekte genişletilebilirlik sağlayan, daha iyi tasarlanmış bir arabirim kümesiyle birlikte gönderilir.

Mimari

Mimari diyagramı

Bu mimarinin Visio dosyasını indirin.

İş Akışı

  1. Mevcut şirket içi web uygulaması, mevcut şirket içi web hizmetlerini doğrudan tüketmeye devam eder.
  2. Mevcut web uygulamasından mevcut HTTP hizmetlerine yapılan çağrılar değişmeden kalır. Bu çağrılar şirket ağında dahilidir.
  3. Azure'dan mevcut iç hizmetlere gelen çağrılar yapılır:
    • Güvenlik ekibi, GÜVENLI aktarım (HTTPS veya SSL) kullanarak API Management örneğinden gelen trafiğin şirket güvenlik duvarından mevcut şirket içi hizmetlere geçmesine izin verir.
    • İşlem ekibi, hizmetlere yalnızca API Management örneğinden gelen çağrılara izin verir. Api Management örneğinin IP adresini kurumsal ağ çevresi içindeki izin verilenler listesine ekleyerek bu gereksinimi karşılar.
    • HTTP hizmetleri için şirket içi istek işlem hattında yeni bir modül yapılandırılır (yalnızca dışarıdan kaynaklanan bağlantılarda işlem yapmak için). İşlem hattı, API Management'ın sağladığı bir sertifikayı doğrular.
  4. Yeni API:
    • Yalnızca API cephesini sağlayan API Management örneği aracılığıyla ortaya çıkar. Yeni API'ye doğrudan erişilir.
    • Bir Azure PaaS Web API uygulaması olarak geliştirilir ve yayımlanır.
    • Yalnızca API Management sanal IP'sini (VIP) kabul etmek için yapılandırılır (Azure Uygulaması Hizmeti'nin Web Apps özelliği için ayarlar aracılığıyla).
    • Güvenli aktarım (HTTPS veya SSL) açık olarak Web Apps'te barındırılır.
    • Microsoft Entra Id ve Open Authorization (OAuth) 2 aracılığıyla Azure Uygulaması Hizmeti tarafından sağlanan yetkilendirme etkindir.
  5. Yeni tarayıcı tabanlı web uygulaması hem mevcut HTTP API'sinin hem de yeni API'nin Azure API Management örneğine bağlıdır.
  6. Seyahat e-ticaret şirketi artık eski kullanıcı arabirimini ve mevcut işlevleri yan yana koruyarak bazı kullanıcıları yeni kullanıcı arabirimine yönlendirebilir (önizleme veya test için).

API Management örneği, eski HTTP hizmetlerini yeni bir API sözleşmesine eşlemek için yapılandırılır. Bu yapılandırmada, yeni Web kullanıcı arabirimi eski hizmetler/API'ler ve yeni API'ler kümesiyle tümleştirmenin farkında değildir.

Gelecekte proje ekibi, işlevselliği aşamalı olarak yeni API'lere aktaracak ve özgün hizmetleri devre dışı bırakacaktır. Ekip bu değişiklikleri API Management yapılandırmasında işleyecek ve ön uç kullanıcı arabirimini etkilenmeyecek ve yeniden geliştirme çalışmasını önleyecek.

Bileşenler

  • Azure API Management , arka uç API'lerini özetler ve geliştiriciler ve uygulamalar için çapraz kesme işlevleri ve bulma özellikleri ekler. Bu senaryoda, mevcut eski arka uç API'lerinin yeniden bir arada kullanılması ve yeni API işlevselliğinin eklenmesi, yeni istemci uygulamasının tutarlı bir şekilde tüketmesi ve modern standartların kullanılması için API Management'ın bir cephe olarak kullanılmasıyla mümkün hale getiriliyor. API Management hem mevcut hem de yeni API'leri öne çıkardığından, geliştiricilerin API Management cephesinin arkasındaki eski arka uçları yinelemeli bir şekilde ve yeni ön uç geliştirmeyi en az sıfırdan sıfıra etki ederek modernleştirmesi mümkündür.
  • Azure Uygulaması Hizmeti, güvenlik, yük dengeleme, otomatik ölçeklendirme ve otomatik yönetim gibi kullanıma hazır özellikler sağlayan, web barındırma için anahtar teslimi bir Hizmet olarak Platform (PaaS) hizmetidir. Azure Uygulaması Hizmeti, devOps ekibinin özellikleri sunmaya odaklanmasını sağlayan esnek anahtar teslimi barındırma özelliği sayesinde bu çözüm için geliştirilen yeni API'ler için harika bir seçimdir.

Alternatifler

  • Kuruluş, eski uygulamaları barındıran sanal makineler (VM'ler) dahil olmak üzere altyapısını tamamen Azure'a taşımayı planlıyorsa, API Management yine de mükemmel bir seçenektir çünkü adreslenebilir herhangi bir HTTP uç noktası için bir cephe görevi görebilir.

  • Kuruluş mevcut uç noktaları gizli tutmaya ve genel kullanıma sunmamaya karar verseydi, kuruluşun API Management örneği bir Azure Sanal Ağ bağlanabilir:

  • Kuruluş, API Management örneğini iç modda dağıtarak özel tutabilir. Kuruluş daha sonra bazı API'ler için genel erişimi etkinleştirmek için Azure Uygulaması lication Gateway ile dağıtımı kullanabilir, bazıları ise şirket içinde kalır. Daha fazla bilgi için bkz . API Management'ı Application Gateway ile iç sanal ağda tümleştirme.

  • Kuruluş API'lerini şirket içinde barındırmaya karar verebilir. Bu değişikliğin bir nedeni, kuruluşun bu projenin kapsamındaki aşağı akış veritabanı bağımlılıklarını buluta taşıyamama olabilir. Böyle bir durumda kuruluş, şirket içinde barındırılan bir ağ geçidi kullanarak API Management'ın yerel olarak avantajlarından yararlanmaya devam edebilir.

    Şirket içinde barındırılan ağ geçidi, giden bir yuvada Azure'a geri bağlanan API Management ağ geçidinin kapsayıcılı dağıtımıdır. İlk önkoşul, şirket içinde barındırılan ağ geçitlerinin Azure'da üst kaynak olmadan dağıtılmayabilmesidir ve bu ek ücrete bağlıdır. İkincisi, API Management'ın Premium katmanı gereklidir.

Senaryo ayrıntıları

Seyahat sektöründeki bir e-ticaret şirketi, eski tarayıcı tabanlı yazılım yığınını modernleştiriyor. Mevcut yığın çoğunlukla monolitik olsa da, yakın bir projeden bazı Basit Nesne Erişim Protokolü (SOAP) tabanlı HTTP hizmetleri vardır. Şirket, geliştirdiği bazı iç fikri mülkiyetlerden para kazanmak için ek gelir akışları oluşturmayı düşünüyor.

Projenin hedefleri arasında teknik borcu ele alma, devam eden bakımı iyileştirme ve daha az regresyon hatasıyla özellik geliştirmeyi hızlandırma yer alıyor. Proje, riskten kaçınmak için yinelemeli bir işlem kullanır ve paralel olarak gerçekleştirilen bazı adımlar vardır:

  • Geliştirme ekibi, vm'lerde barındırılan ilişkisel veritabanlarından oluşan uygulamanın arka ucunu modernleştirecek.
  • Şirket içi geliştirme ekibi, yeni HTTP API'leri üzerinden kullanıma sunulacak yeni iş işlevleri yazacaktır.
  • Sözleşme geliştirme ekibi, Azure'da barındırılacak yeni bir tarayıcı tabanlı kullanıcı arabirimi oluşturacak.

Yeni uygulama özellikleri aşamalı olarak teslim edilecek. Bu özellikler, artık şirketin e-ticaret işini destekleyen mevcut tarayıcı tabanlı istemci/sunucu kullanıcı arabirimi işlevinin (şirket içinde barındırılan) yerini alır.

Yönetim ekibinin üyeleri gereksiz yere modernleştirmek istemiyor. Ayrıca kapsam ve maliyetlerin denetimini de korumak isterler. Bunu yapmak için mevcut SOAP HTTP hizmetlerini korumaya karar verdiler. Ayrıca mevcut kullanıcı arabirimindeki değişiklikleri en aza indirmeyi de amaçlıyorlar. Projenin birçok gereksinimlerini ve kısıtlamalarını karşılamak için Azure API Management'ı kullanabilirler.

Olası kullanım örnekleri

Bu senaryoda eski tarayıcı tabanlı yazılım yığınlarının modernleştirilmesi vurgulanır.

Aşağıdakiler için bu senaryoyı kullanabilirsiniz:

  • İşletmenizin Azure ekosistemini kullanmaktan nasıl yararlanabileceğini görün.
  • Hizmetleri Azure'a geçirmeyi planlayın.
  • Azure'a geçişin mevcut API'leri nasıl etkileyeceğini öğrenin.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmaya yardımcı olan bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik için tasarım gözden geçirme denetim listesi.

  • Kullanılabilirlik alanları etkinken Azure API Management örneğinizi dağıtmayı göz önünde bulundurun. API Management'ı Kullanılabilirlik alanlarına dağıtma seçeneği yalnızca Premium hizmet katmanında kullanılabilir.
  • Kullanılabilirlik alanları, farklı bölgelere dağıtılan ek ağ geçidi örnekleriyle birlikte kullanılabilir. Bu, bir bölge çevrimdışı olursa hizmet kullanılabilirliğini artırır. Çok bölgeli dağıtım yalnızca Premium hizmet katmanında da kullanılabilir.
  • ölçümleri izleme için Azure İzleyici aracılığıyla da ortaya çıkaran Azure Uygulaması lication Insights ile tümleştirmeyi göz önünde bulundurun. Örneğin, kapasite ölçümü API Management kaynağındaki genel yükü ve ek ölçek genişletme birimleri gerekip gerekmediğini belirlemek için kullanılabilir. Kaynak kapasitesinin ve sistem durumunun izlenmesi güvenilirliği artırır.
  • Aşağı akış bağımlılıklarının, örneğin API Management'ın cephelerindeki API'leri barındıran arka uç hizmetlerinin de dayanıklı olduğundan emin olun.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet İyileştirme için tasarım gözden geçirme denetim listesi.

API Management dört katmanda sunulur: Geliştirici, Temel, Standart ve Premium. Bu katmanlardaki farklılıklar hakkında ayrıntılı yönergeler için bkz . Azure API Management fiyatlandırma kılavuzu.

Birimleri ekleyerek ve kaldırarak API Management'ı ölçeklendikleyebilirsiniz. Her birim, kendi katmanına bağlı bir kapasiteye sahiptir.

Not

API Management özelliklerinin değerlendirilmesi için Geliştirici katmanını kullanabilirsiniz. Üretim için kullanmayın.

Öngörülen maliyetleri görüntülemek ve dağıtım gereksinimlerinize göre özelleştirmek için Azure fiyatlandırma hesaplayıcısında ölçek birimi sayısını ve App Service örneklerini değiştirebilirsiniz.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Ürün belgeleri:

Modülleri öğrenin: