Status layanan mikro dan komputasi awan

Menurut survei radar O'Reilly baru-baru ini tentang pertumbuhan komputasi awan, salah satu metrik yang lebih menarik menyatakan bahwa 52 persen dari 1.283 tanggapan mengatakan mereka menggunakan konsep layanan mikro, alat, atau metode untuk pengembangan perangkat lunak. Dari jumlah tersebut, sebagian besar (lebih dari 28 persen) telah menggunakan layanan mikro selama lebih dari tiga tahun.

Ini adalah cluster terbesar kedua di antara pengguna layanan mikro. Kelompok terbesar, lebih dari 55 persen, telah menggunakan layanan mikro antara satu dan tiga tahun. Selain itu, hanya 17 persen pengguna yang baru mengenal layanan mikro, dengan adopsi dan penggunaan kurang dari satu tahun.

O'Reilly juga menunjukkan beberapa bukti bahwa minat pada layanan mikro mungkin sedang atau hampir mencapai puncaknya. Selain itu, dekomposisi framework layanan yang tercatat — setidaknya hingga tingkat perincian yang ditentukan dalam arsitektur layanan mikro — terbukti lebih sulit daripada yang diantisipasi.

Penggunaan layanan mikro benar-benar merupakan perkembangan alami dari orientasi layanan dan penggunaan sistem berbasis cloud. Kemampuan untuk menguraikan layanan berbutir kursus menjadi layanan mikro adalah ide yang bagus. Anda akan memiliki lebih banyak layanan yang memiliki lebih banyak kegunaan, seperti pembaruan layanan terperinci tentang kursus yang dapat dipecah untuk membaca data inventaris yang ada, mengubah data inventaris yang ada menjadi data inventaris yang diperbarui, memvalidasi data inventaris yang diperbarui, dan menulis data inventaris yang diperbarui ke penyimpanan.

Setelah layanan makro ini dipecah menjadi empat layanan mikro, Anda dapat menggunakannya dalam layanan makro ini. Atau Anda dapat menggunakannya kembali di layanan makro dan aplikasi komposit lainnya (maafkan contoh yang terlalu disederhanakan). Tujuannya adalah untuk menulis layanan mikro sekali dan menggunakannya berkali-kali.

Anda akan lebih baik menulis layanan mikro dengan cara yang membuatnya lebih umum dan bertujuan umum, berlaku dalam banyak pola penggunaan yang berbeda (tidak seperti contoh di atas yang tidak umum, dengan fokus hanya pada data inventaris). Namun, di sinilah kesulitan datang.

Inti dari memanfaatkan layanan mikro secara efektif adalah kemampuan untuk menyiapkan kerangka kerja dekomposisi layanan di mana jumlah maksimum layanan mikro digunakan kembali. Namun, keterampilan ini sulit dikembangkan oleh sebagian besar arsitek aplikasi.

Saya telah menghabiskan sebagian besar waktu saya dalam beberapa tahun terakhir mendorong melalui desain aplikasi yang mendukung layanan mikro dan menemukan bahwa kebanyakan dari mereka tidak memiliki perencanaan yang diperlukan untuk sepenuhnya memanfaatkan layanan mikro. Saya telah melihat campuran layanan terperinci yang ditulis sekali dan dimanfaatkan satu kali, kehilangan manfaat inti dari apa itu layanan mikro: penggunaan kembali layanan kecil yang diperkeras dan diuji.

Seperti yang ditunjukkan oleh survei, kami menemukan bahwa dekomposisi yang tepat dari layanan ke layanan mikro — dan orientasi layanan secara umum — adalah jembatan yang terlalu jauh bagi sebagian besar perancang aplikasi. Satu-satunya resolusi adalah mendapatkan beberapa pelatihan, memahami bahwa ini lebih merupakan seni daripada sains. Barangkali kita bisa melewati kios itu.