Layanan mikro telah menjadi gaya arsitektur populer untuk membangun aplikasi cloud yang tangguh, sangat terukur, dapat digunakan secara independen, dan mampu berkembang dengan cepat. Namun, untuk menjadi lebih dari sekadar kata kunci, layanan mikro memerlukan pendekatan yang berbeda untuk merancang dan membangun aplikasi.
Dalam kumpulan artikel ini, kita menjelajahi cara membangun arsitektur layanan mikro di Azure. Topik meliputi:
- Opsi komputasi untuk layana mikro
- Komunikasi antarlayanan
- Desain API
- Gateway API
- Pertimbangan data
- Pola desain
Prasyarat
Sebelum membaca artikel ini, Anda dapat mulai dengan yang berikut:
- Pengenalan arsitektur layanan mikro. Pahami manfaat dan tantangan layanan mikro, serta kapan harus menggunakan gaya arsitektur ini.
- Menggunakan analisis domain untuk memodelkan layanan mikro. Pelajari pendekatan berbasis domain untuk memodelkan layanan mikro.
Implementasi referensi
Untuk mengilustrasikan praktik terbaik untuk arsitektur layanan mikro, kami membuat implementasi referensi yang disebut aplikasi Pengiriman Drone. Implementasi ini berjalan pada Kubernetes menggunakan Azure Kubernetes Service (AKS). Anda dapat menemukan implementasi referensi di GitHub.
Unduh file Visio arsitektur ini.
Skenario
Fabrikam, Inc memulai layanan pengiriman drone. Perusahaan ini mengelola armada pesawat drone. Bisnis mendaftar dengan layanan, dan pengguna dapat meminta drone untuk mengambil barang untuk pengiriman. Ketika pelanggan menjadwalkan penjemputan, sistem backend menetapkan drone dan memberi tahu pengguna dengan perkiraan waktu pengiriman. Saat pengiriman sedang berlangsung, pelanggan dapat melacak lokasi drone, dengan ETA yang terus diperbarui.
Solusi ini sangat ideal untuk industri dirgantara dan pesawat terbang.
Skenario ini melibatkan domain yang cukup rumit. Beberapa masalah bisnis termasuk penjadwalan drone, melacak paket, mengelola akun pengguna, dan menyimpan serta menganalisis data historis. Selain itu, Fabrikam ingin masuk ke pasar dengan cepat, lalu melakukan iterasi dengan cepat, menambahkan fungsionalitas dan kemampuan baru. Aplikasi ini perlu beroperasi pada skala cloud, dengan tujuan tingkat layanan (SLO) yang tinggi. Fabrikam juga mengharapkan bahwa bagian yang berbeda dari sistem akan memiliki persyaratan yang sangat berbeda untuk penyimpanan data dan pembuatan kueri. Semua pertimbangan ini menyebabkan Fabrikam memilih arsitektur layanan mikro untuk aplikasi Pengiriman Drone.
Catatan
Untuk bantuan dalam memilih antara arsitektur layanan mikro dan gaya arsitektur lainnya, lihat Panduan Arsitektur Aplikasi Azure.
Implementasi referensi kami menggunakan Kubernetes dengan Azure Kubernetes Service (AKS). Namun, banyak keputusan dan tantangan arsitektur tingkat tinggi akan berlaku untuk orkestrator kontainer apa pun.