Latest / M365.FM – Podcast Microsoft 365, Copilot & AI Bahasa Indonesia / API Gateway dijelaskan: routing, keamanan, dan rate limiting untuk microservices – apakah Anda membutuhkannya? (Sulih Suara AI)
Transcript
- 0:00Siap untuk 10 hari pembahasan Microsoft 365, Copilot, AI, Azure, dan para penggerak, masa depan dunia kerja.
- 0:07Januari ini, M365-Con kembali hadir dan kami tampil lebih besar.
- 0:12Bergabunglah untuk sesi langsung, demo dunia nyata dan pengetahuan praktis dari MVP serta pakar industri dunia.
- 0:19Tanpa jargon yang tak ada habisnya, kami menangani tantangan nyata.
- 0:23Copilot Studio, agen AI, fabrik, keamanan, tata kelola, dan otomatisasi.
- 0:28Baik Anda seorang profesional IT, pengembang, atau pemimpin bisnis ada sesi yang dirancang khusus untuk Anda.
- 0:35Selama 10 hari penuh, Anda bisa menjelajahi berbagai teknologi dan terhubung dengan komunitas global.
- 0:40Taksikan langsung dan bawa pulang keopasan praktis untuk organisasi Anda.
- 0:45Januari 2027, 10 hari, satu komunitas Microsoft.
- 0:49Pendaftaran sudah dibuka sekarang.
- 0:51Kunjungi M365-Con.net dan amankan tempat Anda hari ini.
- 0:56Itu di M365-Con.net.
- 0:58Daftar sekarang di M365-Con.net dan sampai jumpa langsung di bulan Januari.
- 1:05Anda telah membangun aplikasi yang berfungsi, lalu menambah layanan lain lagi, dan tiba-tiba mengarahkan lalu lintas antar layanan menjadi MVP buruk.
- 1:11Jadi apa sebenarnya API Gateway itu dan apakah Anda benar-benar membutuhkannya?
- 1:14Di akhir episode ini, Anda akan paham fungsi API Gateway mengapa,
- 1:17yang mengatasi kekacauan manajemen banyak layanan dan cara mengetahui apakah Anda membutuhkannya.
- 1:22Mari mulai dengan masalahnya, lalu komponennya, dan bagaimana semua itu sering berkaitan.
- 1:26Masalahnya, terlalu banyak pintu.
- 1:29Bayangkan Anda menjalankan perusahaan yang berkembang besar.
- 1:32Anda punya tim sales di lantai tiga, akutan CD, ruang bawah tanah, dan IT di side belakang.
- 1:37Sekarang, bayangkan setiap departemen itu punya pintu depan sendiri,
- 1:39nomor telepon sendiri, dan satpam sendiri, dan satpam sendiri yang tidak berkomunikasi satu sama.
- 1:42Jika Anda seorang pengunjung yang ingin mengantar paket, semoga berhasil.
- 1:46Anda harus tahu persis pintu mana yang digunakan,
- 1:47satpam mana yang diajak bicara, dan apa yang harus dilakukan saat satpam sedang istri.
- 1:51Itulah yang terjadi saat aplikasi Anda memiliki banyak layanan back-end,
- 1:53dan setiap klien memanggilnya satu per satu secara langsung.
- 1:56Klien, baik itu aplikasi seluler, situs web, atau layanan lain,
- 1:59harus tahu di mana setiap layanan berada, cara autentikasi dengan tiap layanan,
- 2:02dan apa yang harus dilakukan saat ada masalah.
- 2:04Setiap layanan harus menangani keamanannya sendiri,
- 2:07pembatasan kecepatannya sendiri, dan penanganan errornya sendiri.
- 2:09Itu adalah pekerjaan duplikat, dan mudah sekali bagi sistem untuk menjadi tidak konsisten.
- 2:12Contohnya ambil bank sebagai contoh.
- 2:14Mereka memiliki layanan terpisah untuk rekening pembayaran, pinjaman, dan deteksi penipuan.
- 2:17Dengan cara lama, setiap layanan terekspos secara langsung.
- 2:19Sebuah aplikasi seluler harus mengetahui 4 URL berbeda,
- 2:224 metode autentikasi berbeda, dan 4 cara berbeda untuk menangani kesalahan.
- 2:25Itu berarti kompleksitas 4 kali lipat, dan risiko kesalahan 4 kali lebih besar,
- 2:29dan kekacauan itulah yang dirancang untuk diperbaiki oleh API Gateway.
- 2:32Jadi, apa solusinya?
- 2:34Apa itu API Gateway?
- 2:34Bayangkan API Gateway seperti resepsionis di sebuah hotel.
- 2:38Saat Anda masuk, Anda tidak perlu tahu di lantai mana bagian kebersihan berada,
- 2:41di mana dapurnya, atau cara menghubungi tim pemeliharaan.
- 2:44Anda cukup menghampiri meja resepsionis?
- 2:46Sampaikan apa yang Anda butuhkan, dan mereka yang akan mengurus sisanya.
- 2:48Mereka meneruskan permintaan Anda ke orang yang tepat,
- 2:50meriksa izin Anda, bahkan menangani permintaan dasar secara mandiri.
- 2:54API Gateway melakukan hal yang sama untuk perangkat lunak Anda.
- 2:57Ini adalah satu titik masuk yang berada di antara klien dan layanan backend.
- 3:01Setiap permintaan harus melalui Gateway terlebih dahulu.
- 3:03Gateway memutuskan ke mana permintaan dikirim, apakah diizinkan,
- 3:06dan apa yang harus dikirim kembali.
- 3:07Sekarang ini bukanlah ide baru.
- 3:09Reverse proxy sudah ada selama puluhan tahun,
- 3:11tetapi iGateway menjadi sangat penting dengan adanya microservices.
- 3:14Saat Anda memicau aplikasi menjadi banyak, layanan kecil Anda tiba-tiba memiliki banyak.
- 3:17Gateway memberi Anda satu pintu depan.
- 3:19Di dunia Azure, Azure API Management adalah platform lengkap,
- 3:21dan Gateway adalah komponen inti yang menangani lalu lintas.
- 3:25Namun polanya tetap sama di mana saja.
- 3:27Satu titik masuk, kontrol terpusat.
- 3:29Setiap permintaan masuk, Gateway memeriksanya, merutekannya,
- 3:31dan mengirimkan respons kembali.
- 3:33Klien tidak pernah berkomunikasi langsung dengan LMPK Anda.
- 3:35Klien hanya berkomunikasi dengan Gateway.
- 3:37Mari kita berdapat arti sebenarnya dari hal tersebut.
- 3:39Dimulai dengan tugas paling mendasar, yaitu perutean.
- 3:42Bagian pertama, merutekan lalu lintas.
- 3:44Tugas paling sederhana dari API Gateway adalah perutean,
- 3:46yaitu mengarahkan setiap permintaan kelayanan yang tepat.
- 3:49Pikirkan tentang cara kerjas web.
- 3:50Saat Anda mengeklik tautan, perang-perang Anda mengirimkan permintaan.
- 3:53Permintaan tersebut memiliki jalur.
- 3:54Jika jalurnya adalah pengguna, Gateway tahu untuk mengirimkannya kelayanan pengguna.
- 3:57Jika jalurnya adalah pesanan, permintaan diarahkan kelayanan.
- 3:59Gateway membaca jalur tersebut, menentukan kemana harus pergi, lalu meneruskannya.
- 4:03Tanpa Gateway, klien Anda harus mengetahui setiap URL layanan.
- 4:07Aplikasi seluler memerlukan alamat layanan pengguna, layanan pesanan, layanan pembayaran, dan layanan katalog.
- 4:12Itu adalah banyak URL yang harus diklon.
- 4:14Dan jika salah satu alamat tersebut berubah, Anda harus memperbarui setiap klien.
- 4:17Dengan Gateway, klien hanya perlu mengetahui satu URL.
- 4:19Alamat Gateway tersebut.
- 4:20Mereka tidak peduli di mana layanan sebenarnya berat.
- 4:22Mereka hanya mengirim permintaan ke Gateway dan Gateway yang menangani sisanya.
- 4:26Ini adalah salah satu kasus penggunaan API Gateway yang paling umum,
- 4:28yaitu perutean berbasis sumber daya.
- 4:30Penelitian Apache Apisiks menyebutnya secara eksplisit.
- 4:32Anda melakukan perutean berdasarkan path, metode HTTP, header, bahkan geolokasi klien.
- 4:37Jika seseorang di Eropa mengirim permintaan, Anda bisa merutekannya ke pusat data Eropa.
- 4:41Jika seseorang di AS mengirim permintaan, mereka diarahkan ke pusat data.
- 4:44Klien tidak tahu bahwa semuanya sedang terlihat.
- 4:46Mereka hanya menerima respon yang cepat.
- 4:48Perutean juga menangani pembuatan versi.
- 4:49Takkanlah Anda memiliki versi baru dari layanan penggunaan.
- 4:51Klien lama tetap menggunakan Provee 1 perusers dan klien baru menggunakan Provee Web Reusers.
- 4:55Gateway merutekan mereka ke back-end yang berbeda.
- 4:58Klien lama tetap berfungsi saat Anda meluncurkan versi baru.
- 5:01Anda dapat mengubah back-end tanpa merusak klien Anda.
- 5:04Itu sangat penting saat Anda mengelola aplikasi langsung dengan penggunaan nyata.
- 5:07Pikirkan tentang platform e-commerce.
- 5:09Anda memiliki layanan terpisah untuk katalog, keranjang belanja, check-out, dan akun pengguna.
- 5:13Tanpa Gateway, aplikasi seluler harus mengetahui 4 URL yang berbeda.
- 5:16Dengan Gateway aplikasinya Provee 1.
- 5:19Gateway membaca platnya, katalog, keranjang, check-out, akun, dan mengirim setiap permintaan kelainan yang tepat.
- 5:25Perhubungan sederhana mudah.
- 5:26Tugas berikutnya adalah di mana hal itu menjadi sangat berupa.
- 5:29Bagian 2, keamanan di pintu depan.
- 5:31Tiap panggilan API harus diperiksa.
- 5:33Tapi membuat permintaan ini, apakah mereka memiliki izin yang tepat?
- 5:36Tanpa Gateway, setiap layanan harus menangani autentikasinya sendiri.
- 5:39Itu berarti pekerjaan duplikat dan mudah sekali terjadi kesalahan.
- 5:42Satu layanan mungkin meriksa token dengan benar,
- 5:44yang lain mungkin melewatkan langkah, dan yang lain menggunakan metode yang benar-benar berbeda.
- 5:48Hasilnya adalah keamanan yang tidak konsisten di seluruh aplikasi Anda.
- 5:51Gateway mengubah hal itu.
- 5:52Gateway menangani autentikasi dan otorisasi di satu tempat terpusat.
- 5:55Satu tempat untuk memeriksa, satu tempat untuk menegakkan, satu tempat untuk memperbarui saat kebicaraan dulu.
- 5:59Itu adalah perhatian terbaik aman utama.
- 6:01Gateway mengvalidasi kunci API, JWT, token O-out, atau sertifikat pada setiap permintaan.
- 6:06Setiap permintaan melalui pemeriksaan yang sama. Tidak ada pengicuari.
- 6:10Gateway juga dapat menegakkan aturan. Anda bisa mengatakan kunci API ini hanya bisa memanggil endpoint baca.
- 6:15Atau, klien ini hanya bisa mengakses layanan katalog, bukan layanan pembayaran.
- 6:19Anda menentukan izin yang terperinci di tingkat Gateway, dan izin tersebut berlaku secara otomatis.
- 6:23Layanan backend tidak perlu pusing memikirkan otorisasi.
- 6:26Mereka hanya memproses permintaan dan mengirimkan data kembali.
- 6:28Inap poinnya.
- 6:29Gateway adalah satu tempat untuk mencabut akses saat terjadi masalah.
- 6:32Jika kunci API klien dikompromikan, Anda mencabutnya di Gateway.
- 6:36Satu perubahan selesai. Anda tidak perlu memperbarui setiap layanan atau memulai ulang apa.
- 6:40Permintaan berikutnya dari kunci tersebut langsung ditolak.
- 6:43Ambil contoh nyata, sebuah bank memiliki layanan pembayaran dan layanan penagihan.
- 6:46Hanya layanan pembayaran yang butuh akses tulis ke sistem penagihan.
- 6:49Gateway menegakkan aturan tersebut.
- 6:51Jika klien mencoba menulis ke sistem penagihan lewat endpoint yang salah, Gateway memblokirnya.
- 6:55Layanan penagihan bahkan tidak pernah melihat permintaan tersebut.
- 6:57Gateway juga mendukung mutual TLS dan integrasi WAF untuk perlindungan lebih mendalam.
- 7:01Namun pada intinya, ini adalah garis pertama Anda.
- 7:04Keamanan adalah satu hal, tapi bagaimana jika terlalu banyak permintaan datang sekarang?
- 7:08Bagian 3. Manajemen lalu lintas.
- 7:10Apa yang terjadi saat 10 ribu pengguna mengakses aplikasi Anda secara bersama?
- 7:14Mungkin Anda mengadakan flash sale, peluncuran produk viral, atau hanya hari selasa biasa saat semua orang login bersamaan.
- 7:20Tanpa Gateway, layanan backend Anda akan langsung dibanjiri dan bisa lumpuh.
- 7:24Tidak perlahan, tapi sekaligus.
- 7:26Disitulah manajemen lalu lintas berperan.
- 7:28Gateway dapat membatasi jumlah permintaan yang bisa dibuat setiap klien.
- 7:32Batasan laju dan throttling adalah fitur standar.
- 7:34Anda menetapkan aturan di Gateway dan Gateway menegakkan.
- 7:37Layanan backend Anda tidak akan merasakan lonjakan tersebut.
- 7:39Anda bisa menetapkan kuota per pengguna, per kunci API, atau per alamat IP.
- 7:43Misalnya Anda memiliki tingkat gratis untuk API Anda.
- 7:45Pengguna gratis mendapatkan 100 per jam.
- 7:47Pengguna premium mendapatkan 10 ribu.
- 7:48Gateway melacak setiap permintaan dan menegakkan batasan tersebut sejak awal.
- 7:51Pengguna gratis mencapai batasnya dan Gateway mengirimkan pesan sopan untuk mencoba lagi nanti.
- 7:57Layanan backend bahkan tidak tahu ada permintaan masuk.
- 7:59Mereka tetap berjalan lancar melayani pelanggan berbayar.
- 8:02Gateway juga menangani penyeimbangan beban.
- 8:04Jika Anda menjalankan beberapa instans dari layanan yang sama, Gateway menyebarkan permintaan ke sana.
- 8:09Instans 1 menerima permintaan, instans 2 menerima berikutnya, begitu seterusnya.
- 8:12Semuanya otomatis.
- 8:14Dan jika satu instans mati, Gateway mengarahkannya ke instans lain.
- 8:16Lain tidak akan bertahu.
- 8:18Mereka hanya menerima respons.
- 8:18Penyimbangan berbandingan pemeriksaan kesehatan menjaga semuanya perjalanan lain.
- 8:22Gateway melakukan ping ke setiap instans untuk memastikan kondisinya.
- 8:25Jika tidak, Gateway berhenti mengirimkan lalu lintas ke sana.
- 8:27Ini sangat penting untuk api dengan lalu lintas tinggi.
- 8:29Tanpa Gateway, lonjakan trafik akan langsung menghantam layanan Anda.
- 8:33Dengan Gateway, lonjakan tersebut akan tertahan di Gateway, diserap, disebarkan, dan melindungi layanan Anda agar tidak kewalahan.
- 8:40Oke, tapi bagaimana jika data tidak sesuai saat tiba?
- 8:47Terkadang data yang dikirim klien tidak sesuai dengan yang diharapkan backend Anda.
- 8:50Mungkin klien mengirim jason, tapi backend Anda hanya mengerti XML.
- 8:54Mungkin nama kolomnya tidak selaras.
- 8:55Klien memulakan nama depan, dan backend Anda mengharapkan nama depan.
- 8:59Ketidakcocokannya menyebabkan.
- 9:00Dengan cara lama, Anda harus memperbaiki setiap klien atau menulis ulang backend.
- 9:04Itu tidak dia.
- 9:05Gateway dapat mengubah data sebelum mencapai backend.
- 9:08Anggap saja sebagai penuh.
- 9:09Ia berada di tengah, dan dapat mengubah data saat masuk, saat keluar, atau keduanya.
- 9:12Itulah transformasi permintaan dan respons secara singkat.
- 9:15Izinkan saya memberikan contoh nyata.
- 9:17Katakanlah Anda memiliki sistem lama yang membutuhkan XML.
- 9:19Sistem itu sudah berjalan selama 15 tahun.
- 9:21Sistem itu bekerja di rumah.
- 9:22Tapi sekarang Anda sedang membangun aplikasi seluler baru, dan aplikasi seluler menggunakan JIS.
- 9:25Tanpa gateway, Anda harus menulis ulang sistem lama, atau memaksa aplikasi seluler mengirim XML.
- 9:30Dengan gateway, Anda tidak perlu melakukan geret.
- 9:31Aplikasi seluler mengirim JIS.
- 9:33Gateway mengubahnya menjadi XML.
- 9:34Sistem mendapatkan apa yang diharapkannya.
- 9:36Aplikasi seluler mendapatkan respons kembali dalam format JIS.
- 9:38Tidak ada yang perlu menulis ulang apapun.
- 9:40Itulah keindahannya.
- 9:41Gateway juga dapat menambah atau menghapus header, mengubah URL, atau menyamarkan data sensitif.
- 9:46Bayangkan sebuah respons berisi nomor kartu kredit.
- 9:48Anda tentu tidak ingin data itu kembali ke klien.
- 9:50Gateway dapat menghapusnya sebelum respons dikirim, atau menggantinya dengan versi yang disamarkan.
- 9:54Backend tidak perlu diubah sama sekali.
- 9:56Gateway melanganinya.
- 9:57Ini sangat berguna saat Anda memodernisasi sistem lama.
- 9:59Anda tidak perlu menulis ulang backend.
- 10:01Anda tidak perlu memaksa klien untuk berubah.
- 10:03Anda cukup mengubah gateway inside.
- 10:04Ini seperti penerjemah di konferensi internasional.
- 10:06Semua orang berbicara dalam bahasa mereka sendiri, tapi penerjemah memastikan semua orang saling mengerti.
- 10:10Gateway adalah penerjemah bagi perangkat lunaan.
- 10:12Jadi perutean, keamanan, throttling, transformasi itu cukup banyak.
- 10:15Namun itu bukan empat hal yang terpisah.
- 10:17Ijinkan saya menunjukkan bagaimana semuanya.
- 10:18Bagaimana semuanya terhubung.
- 10:20Begini, keempat tugas ini tidak terpisah.
- 10:23Semuanya bekerja bersama pada setiap permintaan.
- 10:25Setiap kali ada permintaan masuk.
- 10:26Gateway memeriksa autentikasi.
- 10:28Gateway memvalidasi batas kecepatan.
- 10:29Gateway merotakan kelayanan.
- 10:30Ini mengubah data jika diperlukan.
- 10:32Ini menerima respons kembali.
- 10:36Setiap langkah terjadi secara otomatis, berurutan, tanpa layanan perlu memikirkannya.
- 10:42Kekuatan sebenarnya bukan pada satu fitur saja.
- 10:44Kelainkan pada integrasinya.
- 10:46Anda bisa menambah kebijakan keamanan baru tanpa mengubah perutean.
- 10:49Layanan backend tanpa mengubah klien.
- 10:52Anda bisa memperbarui batas kecepatan tanpa perlu mendapatkan ulang.
- 10:54Setiap bagian itu independen, tetapi semuanya bekerja dalam alur yang sama.
- 10:58Dan karena semuanya melewati satu tempat, Anda mendapat visibilitas penuh atas apa yang terjadi.
- 11:01Log, metrik, analitik semua dari satu titik.
- 11:04Anda bisa melihat berapa banyak permintaan yang masuk, mana yang gagal, mana yang lambat, klien, mana yang menggunakan sumber daya paling banyak.
- 11:10Tanpa gateway, Anda harus mengumpulkan data itu dari setiap layanan secara terpisah.
- 11:14Dengan gateway semuanya ada di sana.
- 11:15Pelawasan besarnya.
- 11:16Gateway bukan sekadar router.
- 11:18Ini adalah pusat kendali untuk seluruh platform API Anda.
- 11:20Setiap permintaan, setiap respon, setiap error semuanya mengalir melalui satu tempat.
- 11:24Anda memiliki satu jendela tampilan untuk segala hal yang terjadi.
- 11:26Jadi bagaimana cara menggunakannya?
- 11:28Mari bicara tentang apa yang bisa Anda lakukan sekarang.
- 11:29Poin dekat nyata.
- 11:31Realis.
- 11:32Jika Anda memiliki satu atau dua layanan, Anda mungkin belum memerlukan API Gateway.
- 11:35Anda bisa melangani putaran sendiri mengelola autentikasi di tiap layanan.
- 11:38Yang tidak elegan tapi berfungsi.
- 11:40Namun saat Anda mencapai tiga layanan atau mengekspos API ke klien eksternal, kompleksitas akan bertambah cepat.
- 11:46Gateway akan terbayar dengan cepat.
- 11:47Badi apa langkah pertama terbaikan?
- 11:49Sentralisasikan autentikasi di gateway.
- 11:50Lakukan itu sebelumnya lain.
- 11:51Pilih satu layanan, pindahkan pemeriksaan autentikasinya ke gitu.
- 11:54Anda akan langsung melihat kode layanan Anda menjadi lebih bersih.
- 11:56Tidak ada lagi logika validasi token yang tersebar di mana-mana.
- 12:00Tidak perlu lagi bertanya apakah Anda menerapkannya dengan cara yang sama di tiap layanan.
- 12:03Gateway menanganiya sekali dan setiap layanan mendapatkan manfaatnya.
- 12:06Langkah berikutnya, pembatasan kecepatan.
- 12:08Bahkan batas sederhana melindungi backend Anda dari kelebihan baru.
- 12:11Mulai dengan sesuatu yang dasar seperti 100 permintaan per menit per klien.
- 12:14Itu menghentikan klien nakal yang bisa melumpuhkan layanan Anda.
- 12:16Yang bisa bicara.