Merancang pengalaman pengembang API yang hebat menggunakan API Management dan GitHub
Sebagai penerbit API, Anda memerlukan situs web yang secara efektif memetakan API Anda dan membantu pelanggan untuk membedakan antara penawaran. Ketika mereka telah memilih API, Anda harus dapat memberikan akses hanya ke pengguna yang diautentikasi, mengelola konsumsi, dan mengirimkan faktur yang akurat untuk digunakan. Contoh skenario ini menunjukkan bagaimana Anda dapat menggunakan layanan Azure dan GitHub untuk membuat platform yang melakukan semua ini dan banyak lagi.
Sistem
Unduh file PowerPoint arsitektur ini.
Aliran data
Solusinya terutama terdiri dari blok penyusun berikut:
API back-end yang dimonetisasi & gateway API. Inti dari solusi adalah kumpulan API back-end yang dimonetisasi. Konsumen, seperti pengguna, aplikasi, dan perangkat, mengakses platform API melalui gateway API. Gateway membatasi permintaan dan menerapkan tingkatan sesuai kebutuhan.
Portal dan aplikasi konsumen. Konsumen platform API menelusuri penawaran API, mendaftar, lalu menghasilkan kunci langganan untuk mengakses berbagai titik akhir API. Mereka dapat memperbarui informasi tentang akun dan penagihan mereka dengan menggunakan fitur manajemen akun solusi.
Portal dan aplikasi administratif. Administrator platform menerbitkan daftar produk API, harga, dan paket tarifnya. Portal ini juga menawarkan analitik yang kaya tentang penggunaan berbagai produk API, yang membantu memecahkan masalah dan menawarkan layanan dukungan.
Layanan lini bisnis. Layanan ini diperlukan untuk memberikan fungsionalitas portal dan aplikasi konsumen dan untuk mendukung berbagai perjalanan pengguna yang didukung dalam solusi.
Pelacakan konsumsi API dan mesin perhitungan biaya. Laporan konsumsi API, yang diambil di lapisan gateway API, secara berkala diekspor ke penyimpanan data terpisah. Pekerjaan terjadwal berjalan pada data ini untuk menghitung biaya yang berlaku untuk akun konsumen apa pun, berdasarkan daftar langganan dan model harga terkait.
Urutan pemrosesan dalam solusi ini adalah sebagai berikut:
Penerbit API mengimpor spesifikasi API dengan menggunakan portal Azure, mengelompokkannya berdasarkan produk, dan menerbitkannya.
Penerbit API memperbarui informasi pemasaran terkait produk di repositori GitHub yang sesuai.
Konsumen API mengakses portal marketplace, menelusuri berbagai produk, dan memilih layanan API tertentu.
Ketika konsumen mencoba melihat informasi lebih lanjut tentang layanan API, portal konsumen mengalihkan konsumen ke portal pengembang yang ditingkatkan, yang dihosting di GitHub dan menggunakan Halaman GitHub.
Konsumen dapat menelusuri spesifikasi API yang berbeda, informasi terkait pengembang, dan bahkan mencoba memanggil titik akhir dengan menggunakan payload sampel.
Konsumen mendaftar dengan platform dan kemudian mengaktifkan langganan untuk layanan API tertentu yang mereka minati untuk digunakan.
Konsumen menggunakan layanan API di aplikasi atau perangkat mereka.
Pemanggilan API menghasilkan metrik tentang penggunaan dan konsumsinya, yang disimpan oleh Azure dalam melacak database.
Data konsumsi secara berkala diekspor dan disimpan ke database kustom, biasanya data lake, untuk analisis lebih lanjut.
Pekerjaan back-end menghitung biaya dari data konsumsi dan berbagai langganan.
Informasi terkait faktur dan pembayaran disimpan dalam database akuntansi. Informasi ini digunakan untuk menghitung pendapatan untuk layanan.
Komponen
Solusinya terdiri dari penawaran perangkat lunak sebagai layanan (SaaS) berikut:
Azure API Management adalah platform terkelola sebagai layanan yang memungkinkan organisasi menerbitkan API ke konsumen internal dan eksternal. Dengan API Management, Anda dapat menerbitkan API yang mungkin dihosting di mana saja. Pada dasarnya, API Management memungkinkan pemisahan hosting API dari gateway yang diterbitkan yang bertindak sebagai titik masuk tunggal untuk lanskap penuh API yang diterbitkan perusahaan Anda. Untuk informasi selengkapnya, lihat Pola Perutean Gateway.
API Management juga menyediakan lapisan tata kelola di atas semua API yang diterbitkan. Dengan menggunakan kebijakan API Management, berbagai kemampuan lain, seperti batas tarif dan kuota, Anda dapat membatasi permintaan API berdasarkan kunci atau langganan. API Management menyertakan portal pengembang yang menyediakan situs web yang dapat disesuaikan sepenuhnya untuk berfungsi sebagai dokumentasi API yang Anda terbitkan melaluinya.
GitHub adalah penawaran SaaS populer dari Microsoft yang sering digunakan oleh pengembang untuk membangun, mengirim, dan memelihara proyek perangkat lunak mereka. Ini menyediakan fitur penting yang dapat Anda gunakan dalam solusi:
Halaman GitHub memungkinkan perusahaan Anda untuk menghosting situs web berbasis HTML yang kaya langsung dari dalam repositori GitHub.
Diskusi GitHub dan Masalah GitHub membantu Anda mengaktifkan kolaborasi komunitas.
Azure App Service adalah platform komputasi yang dikelola sepenuhnya untuk menghosting aplikasi web kustom.
Azure Active Directory (Azure AD) B2C adalah ekstensi ID Microsoft Entra yang dapat digunakan aplikasi Anda untuk mengelola identitas pelanggan atau mitra eksternal untuk akses dan otorisasi. Anda dapat menggunakan platform identifikasi Microsoft untuk mengintegrasikan identitas dan otorisasi dengan mudah di aplikasi kustom Anda.
Detail skenario
Keberhasilan dan adopsi platform API apa pun sebagian besar tergantung pada seberapa tinggi itu dipertimbangkan di marketplace. Di luar aset digital yang ditawarkan oleh platform, kemudahan menemukan API dan kemudahan menggunakannya memiliki efek besar pada apakah pelanggan menggunakan platform. Pelanggan harus dapat menemukan dokumentasi dan menerima dukungan untuk masalah. Platform ini juga harus memfasilitasi kontribusi komunitas untuk membantu pelanggan Anda membentuk API Anda sesuai kebutuhan mereka. Sebagai penerbit API, Anda memerlukan situs web yang secara efektif memetakan API Anda dan membantu pelanggan untuk membedakan antara penawaran. Ketika mereka telah memilih API, Anda harus dapat memberikan akses hanya ke pengguna yang diautentikasi, mengelola konsumsi, dan mengirimkan faktur yang akurat untuk digunakan. Contoh skenario ini menunjukkan bagaimana Anda dapat menggunakan layanan Azure dan GitHub untuk membuat platform yang melakukan semua ini dan banyak lagi.
Kemungkinan kasus penggunaan
Anda dapat menggunakan solusi ini untuk memudahkan pengembang API untuk:
- Temukan dan pahami penawaran produk API Anda.
- Berlangganan dan integrasikan dengan berbagai aplikasi dan saluran Anda.
- Dapatkan bantuan, pecahkan masalah, dan remediasi masalah.
- Mempromosikan kontribusi komunitas dan bertukar ide dan pengetahuan.
Rantai nilai API
Di bagian atas rantai nilai adalah penyedia layanan API. Selanjutnya adalah konsumen atau integrator API, yang merancang dan membangun pengalaman untuk konsumen target akhirnya. Pengguna akhir dan pelanggan adalah penerima manfaat akhir dalam rantai nilai.
Pengalaman pengembang API
Unduh file PowerPoint dari diagram ini.
Pengalaman pengembang API menampilkan tiga portal:
Portal konsumen. Portal konsumen berfungsi sebagai situs web pemasaran yang menampilkan berbagai produk API yang ditawarkan oleh perusahaan.
Portal pengembang. Portal pengembang menyediakan dokumentasi kepada pengembang pihak ketiga tentang berbagai layanan API dan cara menggunakannya dalam aplikasi mereka.
Portal akun. Pengguna terdaftar mengelola langganan mereka dan melakukan aktivitas terkait akun lainnya dengan menggunakan portal akun.
Persyaratan fungsional
Pada tingkat tinggi, persyaratan fungsional untuk platform API skala perusahaan sesuai dengan tiga kategori, yaitu produkisasi, administrasi platform, dan pengalaman konsumen.
Bagian berikut menjelaskan lebih lanjut kemampuan dalam setiap area fitur.
Produkisasi
Tujuan produktifisasi adalah untuk mengidentifikasi dan mendefinisikan API yang dimonetisasi, manajemen mereka, dan strategi untuk menjualnya sebagai produk digital. Akibatnya, mencakup:
- Kemampuan, seperti mengidentifikasi varian produk dan pemetaan yang sesuai dengan aset fisik.
- Definisi harga dan paket tarif, bersama dengan metadata yang diperlukan.
- Konten yang harus dibuat untuk mendorong pengalaman konsumen.
Productization terdiri dari kemampuan berikut:
Produk API. Katalog API ini tersedia untuk konsumen. Produk dapat ditawarkan untuk dibeli atau sebagai layanan gratis.
Varian. Pengalaman pengembang harus mengidentifikasi varian produk API apa pun yang dimonetisasi.
Paket harga. Tentukan berbagai paket harga untuk membuatnya menarik bagi konsumen.
Taksonomi dan konten. Tentukan dan buat konten—tekstual, PDF, gambar, dan sebagainya—yang diperlukan untuk strategi pemasaran untuk produk API ini.
Aset fisik. Ini terdiri dari layanan cloud aktual yang merupakan bagian dari produk API tertentu dan manajemen siklus hidup yang sesuai. Pertimbangkan biaya operasi untuk mempertahankan layanan ini sambil mendapatkan paket harga.
Administrasi platform
Administrasi platform berfokus pada keseluruhan hosting, manajemen, dan tata kelola platform API. Ini juga menyediakan solusi end-to-end untuk administrasi berbagai aplikasi dan layanan lini bisnis. Area utama fokus adalah manajemen langganan, penagihan, dan faktual. Administrasi platform juga memberikan generasi wawasan dan analitik bisnis untuk menyajikan kesehatan layanan secara keseluruhan, termasuk aspek keuangan dan operasionalnya.
Administrasi platform terdiri dari kemampuan berikut:
Pendaftaran pengguna. Identifikasi bagaimana pengguna mendaftar dengan platform. Tentukan alur kerja persetujuan apa pun yang diperlukan, tergantung pada segmen pengguna.
Katalog API. Identifikasi aset API yang diterbitkan melalui API Management. Terapkan kebijakan untuk mengontrol akses dan penggunaan API. Mengelola langganan pengguna.
Wawasan dan analitik. Ambil data telemetri untuk menghasilkan berbagai metrik. Visualisasikan data dengan menggunakan dasbor yang berbeda, seperti Power BI, untuk mendapatkan berbagai wawasan yang diperlukan untuk pembuat keputusan bisnis dan TI.
Penagihan dan fakjar. Tentukan alur kerja yang terkait dengan langganan, manajemen pesanan, penagihan, dan fakjar.
Dukungan. Buat alat dan proses untuk menangani permintaan dukungan.
Pengalaman konsumen
Adopsi platform API sangat tergantung pada seberapa mudah konsumen dapat:
- Temukan API yang mereka butuhkan.
- Tinjau spesifikasi dan konten teknis dengan menelusuri portal pengembang.
- Daftar untuk berlangganan.
- Bayar produk API yang dipilih.
- Mulai gunakan API dalam aplikasi mereka.
Pengalaman konsumen biasanya dikirimkan melalui portal web, aplikasi seluler, atau keduanya. Anda dapat menggunakan Azure AD B2C untuk memfasilitasi pendaftaran pengguna dan manajemen identitas. Azure AD B2C menyertakan dukungan untuk penyedia identitas OpenID, seperti Microsoft dan Google.
Pengalaman konsumen terdiri dari komponen-komponen berikut:
Katalog produk (API). Buat pengalaman marketplace untuk pengguna, baik anonim maupun terdaftar.
Manajemen akun dan langganan. Tetapkan prosedur untuk mendaftar dan masuk berdasarkan jenis pengguna yang Anda harapkan untuk menggunakan API Anda. Mendukung preferensi pengguna, seperti penggunaan penyedia identitas sosial yang ada. Izinkan manajemen langganan layanan mandiri, layanan aktivasi dan pennonaktifkanan, dan pembayaran biaya seperti yang ditagihkan.
Antarmuka pengguna (UI) / Pengalaman pengguna (UX). Identifikasi dan tentukan pengalaman untuk saluran yang Anda dukung untuk pengalaman pengguna akhir. Sertakan kemampuan multi-perangkat, multifaktor, bersama dengan desain UI modern. Memperkaya pengalaman melalui studi kegunaan.
Pertimbangan
Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.
Komponen dalam skenario ini mengatasi masalah performa, keandalan, dan keamanan.
API Management mendukung penskalaan otomatis, yang dengan cepat memperluas kemampuan API Management sebagai respons terhadap meningkatnya jumlah permintaan masuk. API Management juga mendukung redundansi zona dan penyebaran multi-wilayah untuk memberikan ketahanan dan ketersediaan tinggi. Untuk informasi selengkapnya tentang redundansi zona, lihat Dukungan zona ketersediaan untuk Azure API Management. Untuk informasi lebih lanjut tentang keamanan API Management, lihat Dasar keamanan Azure untuk API Management.
App Service adalah platform terkelola penuh sebagai layanan yang menampilkan keamanan dan penskalakan otomatis bawaan dengan SLA yang menjanjikan ketersediaan tinggi. App Service mematuhi ISO, SOC, dan PCI, dan mendukung autentikasi pengguna dengan ID Microsoft Entra, Google, Facebook, Twitter, atau akun Microsoft. Dengan App Service, Anda juga dapat membuat pembatasan alamat IP.
Azure AD B2C menawarkan ketersediaan dan skala tinggi untuk mendukung ratusan juta pengguna. Azure AD B2C mendukung OpenID Connect dan beberapa penyedia identitas sehingga pelanggan dapat memilih penyedia pilihan mereka. Azure AD B2C juga mendukung autentikasi multifaktor berbasis aplikasi dan berbasis kebijakan, menambahkan lapisan keamanan tambahan. Untuk informasi selengkapnya tentang Azure AD B2C, lihat Apa itu Azure Active Directory B2C? Untuk informasi selengkapnya tentang menggunakan identitas eksternal, lihat Identitas Eksternal di ID Microsoft Entra.
GitHub membuat tinjauan keamanan sebagai bagian otomatis dari tinjauan kode, memindai setiap penerapan baru untuk potensi masalah keamanan. Layanan ini membantu Anda menemukan masalah segera setelah ditawarkan sebagai penambahan ke basis kode. Keamanan GitHub memungkinkan Anda menyesuaikan pencarian untuk masalah keamanan dan mengintegrasikan mesin pemindaian pihak ketiga. Untuk fitur dan detail selengkapnya, lihat Keamanan di GitHub.
Pengoptimalan Biaya
Pengoptimalan Biaya adalah tentang melihat cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat daftar periksa Design review untuk Pengoptimalan Biaya.
Anda dapat mengembangkan portal konsumen dengan menggunakan paket harga Team atau Enterpriseuntuk GitHub. Lihat matriks fitur untuk mengidentifikasi paket mana yang paling sesuai dengan perusahaan Anda.
Untuk API Management, Anda dapat menggunakan tingkat Standar atau Premium . Untuk lebih memahami perbedaan antara tingkatan, lihat opsi harga API Management.
Untuk Azure App Service, lihat opsi harga yang tersedia untuk lingkungan Windows dan Linux untuk menghosting aplikasi Anda.
Kontributor
Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.
Penulis utama:
- Subhajit Chatterjee | Insinyur Perangkat Lunak Utama, Cloud Industri
Langkah berikutnya
- Monetisasi dengan Azure API Management
- Gambaran umum portal pengembang di Azure API Management
- Menghost sendiri portal pengembang API Management
- Gateway yang dihost sendiri
- Mulai menggunakan Halaman GitHub