Apa Itu Microservices ???
Microservice
Seperti yang kita ketahui selama ini kita menggunakan desain aplikasi yang memiliki arsitektur terpusat dan teknologi yang seragam atau lebih dikenal dengan istilah Monolithic Aplication Architecture. Arsitektur ini menggunkan kode sumber dan teknologi yang sama untuk menjalankan tugas secara keseluruhan.
pada artikel kali ini kita akan BELAJAR BERSAMA mengenai teknologi terbaru dan tercanggih dalam arsitektur pengembangan suatu aplikasi yaitu microservice
Apa Sih Microservice Itu ???
sepertinya tidak ada definisi yang baku mengenai microservice, kalau dari pengamatan saya microservice dapat diartikan sebagai berikut:
Microservice adalah sebuah sistem yang dapat digunakan untuk membangun layanan secara terpisah. Setiap service akan fokus pada satu fungsionalitas tertentu. Satu service dan service lainnya saling berkomunikasi untuk menghasilkan nilai bisnis pada aplikasi. Service-service yang dijalankan dapat saling berkomunikasi satu sama lain dan dapat juga berdiri sendiri. Service yang saling berkomunikasi satu sama lain bisa dilakukan melalui http (httpclient) / tcp.
Dengan pemecahan aplikasi yang berdasarkan fungsi-nya ini, bukan tidak mungkin kita akan menjumpai keragaman teknologi dalam sebuah service.
Dalam konsep microservices, kita tidak hanya melalukan pemisahan di level aplikasi saja, tetapi dari sisi infrastruktur pula. Kita akan menemukan keragaman arsitektur, konfigurasi dan optimalisasi sistem yang berbeda, dan sering pula ditemukan jumlah dan spesifikasi server yang tidak sama antara service yang satu dengan yang lain.
Karakteristik Microservice
berikut ini beberapa karakteristik dari Microservice :
- sebuah microservice memiliki data store-nya sendiri
- sebuah microservice dapat terdiri dari satu atau banyak proses
- dapat dipelihara (maintenance) oleh tim yang kecil
- sebuah microservice dapat digantikan
- dapat menjalankan tugas secara terfokus
Keunggulan Microservice dibandingkan Monolithic
- dapat memberikan fleksibilitas bagi developer untuk menentukan tools yang akan digunakan untuk implementasi sebuah service tanpa harus memaksakan tools tersebut untuk digunakan pada service-service lainnya. Hal ini sangat memungkinkan karena antara satu service dan service lainnya tidak tightly coupled. Komunikasi antara satu service di microservices dengan service lainnya umumnya dilakukan via messaging atau web service. Keduanya bisa diimplementasi dengan menggunakan teknologi yang berbeda
- memungkinkan team splitting dilakukan dengan lebih mudah. Satu tim yang menangani sebuah microservice bisa dengan mudah memisahkan diri dari tim lainnya karena, mereka tidak berbagi code base dan hanya terikat dengan interface yang didefinisikan di dalam service-service tersebut.
- memisahkan fungsionalitas dalam service-service terpisah menjadikan service-service tersebut terisolasi satu sama lain. Dengan kata lain, resiko dan problem dalam satu service akan lebih mudah dilokalisir. Termasuk di dalamnya adalah permasalahan dengan legacy system. Salah satu contohnya adalah website The Guardian yang mulai dengan aplikasi monolitik dan kemudian berevolusi menjadi microservices. Aplikasi yang dikembangkan di awal tetap dapat dipertahankan meskipun sudah menjadi legacy dan tidak fleksibel
- memungkinkan pembedaan profil satu service dengan service lainnya, terutama yang berhubungan dengan scaling up.
masih banyak lagi keunggulan yang dimilki oleh microservice
itulah ulasan mengenai microservice yang dapat saya tulis, apa bila terdapat kesalahan saya mohon maaf karena saya juga masih dalam proses belajar 😁
untuk persiapan dan implementasi mengenai microservice akan dibahas pada artikel selanjutnya
untuk persiapan dan implementasi mengenai microservice akan dibahas pada artikel selanjutnya
terimakasih telah mengunjungi blog ini 😁
"MARI BELAJAR, BELAJAR BERSAMA !!!"
Up gan
ReplyDeleteterimakasih reviewnya gan EDI KURNIAWAN.
Deletesilahkan baca artikel lainnya
"MARI BELAJAR, BELAJAR BERSAMA !! "
trimakasih...
ReplyDeleteartikelnya mudah dipahami...
sama - sama
Deleteterimakasih telah berkunjung