API Management ve GitHub kullanarak harika API geliştirici deneyimleri tasarlama

Azure App Service
Azure Private Link
Azure Virtual Network

API'lerin yayımcısı olarak, API'lerinizi etkili bir şekilde pazarlayan ve müşterilerin teklifler arasında ayrım yapmanıza yardımcı olan bir web sitesine ihtiyacınız vardır. API'leri seçtiklerinde yalnızca kimliği doğrulanmış kullanıcılara erişim verebilmeniz, tüketimi yönetebilmeniz ve kullanım için doğru faturalar sunabilmeniz gerekir. Bu örnek senaryo, azure hizmetini ve GitHub'ı kullanarak tüm bunları ve daha fazlasını yapabilecek bir platform oluşturmayı gösterir.

Mimari

Diagram of the components of this architecture and the workflow through the internet portals and Azure services that constitute the solution, including Microsoft Entra B 2 C, Azure A P I Management, the A P I gateway, and line-of-business services.

Bu mimarinin PowerPoint dosyasını indirin.

Veri akışı

Çözüm öncelikli olarak aşağıdaki yapı taşları içerir:

  • Para kazandırılmış arka uç API'leri ve API ağ geçidi. Çözümün merkezinde, para kazandırılan arka uç API'leri kümesi yer alır. Kullanıcılar, uygulamalar ve cihazlar gibi tüketiciler API platformuna bir API ağ geçidi üzerinden erişilir. Ağ geçidi istekleri kısıtlar ve gerektiğinde hız dengeleme uygular.

  • Tüketici portalı ve uygulamalar. API platformunun tüketicileri API tekliflerine göz atar, kaydolup çeşitli API uç noktalarına erişmek için abonelik anahtarları oluşturur. Çözümün hesap yönetimi özelliklerini kullanarak hesapları ve faturalarıyla ilgili bilgileri güncelleştirebilirler.

  • Yönetici istrative portallar ve uygulamalar. Platform yöneticileri API ürünlerinin listesini, fiyatlandırmalarını ve fiyat planlarını yayımlar. Bu portallar ayrıca sorunları gidermeye ve destek hizmetleri sunmaya yardımcı olan çeşitli API ürünlerinin kullanımıyla ilgili zengin analizler sunar.

  • İş kolu hizmetleri. Bu hizmetler, tüketici portallarının ve uygulamalarının işlevlerini sunmak ve çözümde desteklenen çeşitli kullanıcı yolculuklarını desteklemek için gereklidir.

  • API tüketimi izleme ve ücret hesaplama altyapısı. API ağ geçidi katmanında yakalanan API tüketim raporları düzenli aralıklarla ayrı bir veri deposuna aktarılır. Zamanlanmış işler, abonelik listesine ve ilişkili fiyatlandırma modeline göre herhangi bir tüketici hesabına uygulanan ücretleri hesaplamak için bu verilerde çalışır.

Bu çözümdeki işleme dizisi aşağıdaki gibi akar:

  1. API yayımcısı, Azure portalını kullanarak API belirtimlerini içeri aktarır, bunları ürüne göre gruplandırıp yayımlar.

  2. API yayımcısı, ilgili GitHub deposundaki ürünle ilgili pazarlama bilgilerini güncelleştirir.

  3. API tüketicisi market portalına erişir, çeşitli ürünlere göz atar ve belirli bir API hizmetini seçer.

  4. Tüketici API hizmeti hakkında daha fazla bilgi görüntülemeye çalıştığında, tüketici portalı tüketiciyi GitHub'da barındırılan ve GitHub Pages kullanan gelişmiş geliştirici portalına yönlendirir.

  5. Tüketici farklı API belirtimlerine, geliştiriciyle ilgili bilgilere göz atabilir ve hatta örnek bir yük kullanarak uç noktayı çağırmayı deneyebilir.

  6. Tüketici platforma kaydolup kullanmak istedikleri API hizmeti için bir abonelik etkinleştirir.

  7. Tüketici, api hizmetini kendi uygulamalarında veya cihazlarında kullanır.

  8. API'nin çağrılması, azure tarafından izleme veritabanlarında depolanan kullanımı ve tüketimi hakkında ölçümler oluşturur.

  9. Tüketim verileri düzenli aralıklarla dışarı aktarılır ve daha fazla analiz için genellikle bir veri gölü olan özel bir veritabanına kaydedilir.

  10. Arka uç işi, tüketim verilerinden ve çeşitli aboneliklerden gelen ücretleri hesaplar.

  11. Fatura ve ödemeyle ilgili bilgiler muhasebe veritabanında depolanır. Bu bilgiler, hizmetin gelirini hesaplamak için kullanılır.

Bileşenler

Çözüm, aşağıdaki hizmet olarak yazılım (SaaS) tekliflerinden oluşur:

  • Azure API Management , kuruluşların hem iç hem de dış tüketicilere API yayımlamasına olanak tanıyan yönetilen bir hizmet olarak platformdur. API Management ile, her yerde barındırılabilir API'ler yayımlayabilirsiniz. Temel olarak API Management, api barındırmanın, kuruluşunuzun yayımladığı TAM API'ler için tek giriş noktası işlevi gören yayımlanmış ağ geçidinden ayrıştırılmasına olanak tanır. Daha fazla bilgi için bkz . Ağ Geçidi Yönlendirme düzeni.

    API Management ayrıca yayımlanan tüm API'lerin üzerinde bir idare katmanı sağlar. API Management ilkelerini, hız sınırları ve kotalar gibi diğer çeşitli özellikleri kullanarak API isteklerini bir anahtara veya aboneliğe göre kısıtlayabilirsiniz. API Management, aracılığıyla yayımladığınız API'lerin belgeleri olarak hizmet vermek için tamamen özelleştirilebilir bir web sitesi sağlayan bir geliştirici portalı içerir.

  • GitHub , Geliştiriciler tarafından yazılım projelerini oluşturmak, göndermek ve bakımını yapmak için sık kullanılan popüler bir Microsoft SaaS teklifidir. Çözümlerde kullanabileceğiniz önemli özellikler sağlar:

  • Azure Uygulaması Hizmeti, özel web uygulamalarını barındırmak için tam olarak yönetilen bir işlem platformudur.

  • Azure Active Directory B2C (Azure AD B2C), uygulamanızın erişim ve yetkilendirme için dış müşteri veya iş ortağı kimliklerini yönetmek için kullanabileceği bir Microsoft Entra Id uzantısıdır. Özel uygulamalarınızda kimlik ve yetkilendirmeyi kolayca tümleştirmek için Microsoft tanımlama platformunu kullanabilirsiniz.

Senaryo ayrıntıları

Herhangi bir API platformunun başarısı ve benimsenmesi büyük ölçüde markette ne kadar yüksek bir öneme sahip olduğuna bağlıdır. Platform tarafından sunulan dijital varlıkların ötesinde, API'leri bulma kolaylığı ve bunları kullanma kolaylığı, müşterilerin platform kullanıp kullanmadığı üzerinde büyük bir etkiye sahiptir. Müşterilerin belgeler bulabilmesi ve sorunlar için destek alabilmesi gerekir. Platform, müşterilerinizin API'lerinizi ihtiyaçlarına göre şekillendirmesine yardımcı olmak için topluluk katkısını da kolaylaştırmalıdır. API'lerin yayımcısı olarak, API'lerinizi etkili bir şekilde pazarlayan ve müşterilerin teklifler arasında ayrım yapmanıza yardımcı olan bir web sitesine ihtiyacınız vardır. API'leri seçtiklerinde yalnızca kimliği doğrulanmış kullanıcılara erişim verebilmeniz, tüketimi yönetebilmeniz ve kullanım için doğru faturalar sunabilmeniz gerekir. Bu örnek senaryo, azure hizmetini ve GitHub'ı kullanarak tüm bunları ve daha fazlasını yapabilecek bir platform oluşturmayı gösterir.

Olası kullanım örnekleri

API geliştiricilerinin şunları yapmasını kolaylaştırmak için bu çözümü kullanabilirsiniz:

  • API ürün tekliflerinizi keşfedin ve anlayın.
  • Abone olun ve çeşitli uygulamalarınız ve kanallarınızla tümleştirin.
  • Yardım alın, sorunları giderin ve sorunları düzeltin.
  • Topluluk katkılarını teşvik edin, fikir ve bilgi alışverişinde bulunun.

API değer zinciri

Diagram that describes the A P I value chain.

Değer zincirinin en üstünde API hizmet sağlayıcısı yer alır. Sırada, nihai hedef tüketicilerin deneyimlerini tasarlayan ve oluşturan API tüketicileri veya tümleştiricileri yer alır. Son kullanıcılar ve müşteriler, değer zincirindeki son yararlanıcılardır.

API geliştirici deneyimi

Diagram of features and capabilities of the enhanced A P I developer experience.

Bu diyagramın PowerPoint dosyasını indirin.

API geliştirici deneyimi üç portal içerir:

  • Tüketici portalı. Tüketici portalı, kuruluş tarafından sunulan çeşitli API ürünlerini gösteren bir pazarlama web sitesi olarak hizmet eder.

  • Geliştirici portalı. Geliştirici portalı, üçüncü taraf geliştiricilere çeşitli API hizmetleri ve bunların uygulamalarında nasıl kullanılacağı hakkında belgeler sağlar.

  • Hesap portalı. Kayıtlı kullanıcılar aboneliklerini yönetir ve hesap portalı kullanarak hesapla ilgili diğer etkinlikleri gerçekleştirir.

İşlev gereksinimleri

Kurumsal ölçekli API platformunun işlevsel gereksinimleri yüksek düzeyde üç kategoriye (ürünleştirme, platform yönetimi ve tüketici deneyimleri) uygundur.

Diagram that shows three broad functional requirements of an enterprise-scale A P I platform.

Aşağıdaki bölümlerde her özellik alanındaki özellikler daha ayrıntılı olarak açıklanmaktadır.

Ürünleştirme

Ürünleştirmenin amacı, paralı API'leri, bunların yönetimini ve bunları dijital ürün olarak satma stratejisini belirlemek ve tanımlamaktır. Sonuç olarak şunları kapsar:

  • Ürünlerin çeşitlemelerini tanımlama ve fiziksel varlıklara karşılık gelen eşlemeleri gibi özellikler.
  • Gerekli meta verilerin yanı sıra fiyatlandırma ve fiyat planlarının tanımı.
  • Tüketici deneyimini yönlendirmek için oluşturulması gereken içerik.

Ürünleştirme aşağıdaki özelliklerden oluşur:

  • API ürünleri. Bu API kataloğu tüketicilerin kullanımına sunulmuştur. Bir ürün satın almak için veya ücretsiz hizmet olarak sunulabilir.

  • Çeşitlemeler. Geliştirici deneyimi, para kazandırılan herhangi bir API ürününün çeşitlemelerini tanımlamalıdır.

  • Fiyatlandırma planları. Tüketiciler için cazip hale getirmek için çeşitli fiyatlandırma planlarını tanımlayın.

  • Taksonomi ve içerik. Bu API ürünleri için pazarlama stratejisi için gerekli olan içeriği (metinsel, PDF' ler, resimler vb.) tanımlayın ve oluşturun.

  • Fiziksel varlıklar. Bu, belirli API ürününün parçası olan gerçek bulut hizmetlerinden ve bunlara karşılık gelen yaşam döngüsü yönetiminden oluşur. Fiyatlandırma planlarını türetirken bu hizmetleri korumanın operasyon maliyetini göz önünde bulundurun.

Platform yönetimi

Platform yönetimi, API platformunun genel barındırma, yönetim ve idaresine odaklanır. Ayrıca çeşitli iş kolu uygulamalarının ve hizmetlerinin yönetimi için uçtan uca bir çözüm sağlar. Başlıca odak alanları abonelik yönetimi, faturalama ve faturalamadır. Platform yönetimi, finansal ve operasyonel yönleri de dahil olmak üzere hizmetin genel durumunu sunmak için iş içgörüleri ve analiz oluşturma olanağı da sağlar.

Platform yönetimi aşağıdaki özelliklerden oluşur:

  • Kullanıcı kaydı. Kullanıcıların platforma nasıl kayıt olduğunu belirleyin. Kullanıcı kesimine bağlı olarak gerekli onay iş akışlarını tanımlayın.

  • API kataloğu. API Management aracılığıyla yayımlanan API varlıklarını tanımlama. API'lerin erişimini ve kullanımını denetlemek için ilkeler uygulayın. Kullanıcıların aboneliklerini yönetin.

  • Analizler ve analiz. Çeşitli ölçümler oluşturmak için telemetri verilerini yakalayın. İş ve BT karar alıcıları için gerekli olan çeşitli içgörüleri türetmek için Power BI gibi farklı panoları kullanarak verileri görselleştirin.

  • Faturalama ve faturalama. Abonelikler, sipariş yönetimi, faturalama ve faturalama ile ilgili iş akışlarını tanımlayın.

  • Destek. Destek isteklerini işlemek için araçlar ve süreçler oluşturun.

Tüketici deneyimi

API platformunun benimsenmesi, tüketicilerin şunları ne kadar kolay yapabileceklerine bağlıdır:

  • İhtiyaç duydukları API'leri keşfedin.
  • Geliştirici portalına göz atarak belirtimi ve teknik içeriği gözden geçirin.
  • Abone olmak için kaydolun.
  • Seçtikleri API ürünleri için ödeme yapın.
  • API'leri uygulamalarında kullanmaya başlayın.

Tüketici deneyimi genellikle bir web portalı, mobil uygulama veya her ikisi aracılığıyla sunulur. Kullanıcı kaydını ve kimlik yönetimini kolaylaştırmak için Azure AD B2C'yi kullanabilirsiniz. Azure AD B2C, Microsoft ve Google gibi OpenID kimlik sağlayıcıları için destek içerir.

Tüketici deneyimleri aşağıdaki bileşenlerden oluşur:

  • Ürün (API) kataloğu. Kullanıcılar için hem anonim hem de kayıtlı bir market deneyimi oluşturun.

  • Hesap ve abonelik yönetimi. API'nizi kullanmayı beklediğiniz kullanıcı türlerine göre kaydolma ve oturum açma yordamları oluşturun. Mevcut sosyal kimlik sağlayıcılarının kullanımı gibi kullanıcı tercihlerini destekleyin. Self servis abonelik yönetimi, etkinleştirme ve devre dışı bırakma hizmetleri ve ücretlerin faturalanmış olarak ödenmesine izin verin.

  • Kullanıcı arabirimi (UI) / Kullanıcı deneyimi (UX). Son kullanıcı deneyimleri için desteklediğiniz kanalların deneyimlerini belirleyin ve tanımlayın. Modern kullanıcı arabirimi tasarımının yanı sıra çok cihazlı, çok formlu faktör özelliklerini de dahil edin. Kullanılabilirlik çalışmaları ile deneyimi zenginleştirin.

Dikkat edilmesi gereken noktalar

Bu senaryodaki bileşenler performans, güvenilirlik ve güvenlik sorunlarını ele alır.

API Management, artan sayıda gelen isteğe yanıt olarak API Management özelliklerini hızla genişleten otomatik ölçeklendirmeyi destekler. API Management, dayanıklılık ve yüksek kullanılabilirlik sağlamak için alanlar arası yedekliliği ve çok bölgeli dağıtımları da destekler. Alanlar arası yedeklilik hakkında daha fazla bilgi için bkz . Azure API Management için kullanılabilirlik alanı desteği. API Management güvenliği hakkında daha fazla bilgi için bkz . API Management için Azure güvenlik temeli.

App Service, yüksek kullanılabilirlik sunan bir SLA ile yerleşik güvenlik ve otomatik ölçeklendirme özellikleri sunan tam olarak yönetilen bir hizmet olarak platformdur. App Service ISO, SOC ve PCI ile uyumludur ve Microsoft Entra ID, Google, Facebook, Twitter veya Microsoft hesabıyla kullanıcıların kimliğini doğrulamayı destekler. App Service ile IP adresi kısıtlamaları da oluşturabilirsiniz.

Azure AD B2C, yüz milyonlarca kullanıcıyı desteklemek için yüksek kullanılabilirlik ve ölçekler sunar. Azure AD B2C, müşterilerin tercih ettikleri sağlayıcıyı seçebilmesi için OpenID Bağlan ve birden çok kimlik sağlayıcısını destekler. Azure AD B2C, ek güvenlik katmanları ekleyerek uygulama tabanlı ve ilke tabanlı çok faktörlü kimlik doğrulamasını da destekler. Azure AD B2C hakkında daha fazla bilgi için bkz. Azure Active Directory B2C nedir? Dış kimlikleri kullanma hakkında daha fazla bilgi için bkz . Microsoft Entra Id'de Dış Kimlikler.

GitHub, güvenlik gözden geçirmelerini kod gözden geçirmelerinin otomatik bir parçası haline getirerek olası güvenlik sorunları için her yeni işlemeyi tarar. Bu hizmet, kod tabanına eklemeler olarak sunulan sorunları keşfetmenize yardımcı olur. GitHub güvenliği, güvenlikle ilgili endişeler için aramaları özelleştirmenize ve üçüncü taraf tarama altyapılarını tümleştirmenize olanak tanır. Diğer özellikler ve ayrıntılar için bkz . GitHub'da güvenlik .

Maliyet iyileştirme

GitHub için Team veya Enterprisefiyatlandırma planını kullanarak tüketici portalını geliştirebilirsiniz. Kuruluşunuza en uygun planı belirlemek için özellik matrisine bakın.

API Management için Standart veya Premium katmanlarını kullanabilirsiniz. Katmanlar arasındaki farkları daha iyi anlamak için bkz . API Management fiyatlandırma seçenekleri.

Azure Uygulaması Hizmeti için, uygulamalarınızı barındırmak için Windows ve Linux ortamlarında kullanılabilen fiyatlandırma seçeneklerine bakın.

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:

Sonraki adımlar