Langsung ke konten utama

Apa itu Microservices?




Apa sih Microservice Itu?

Microservices berarti membagi aplikasi menjadi layanan yang lebih kecil dan saling terhubung tidak seperti aplikasi monolitik. Setiap microservice merupakan aplikasi kecil yang memiliki arsitektur heksagonal sendiri yang terdiri dari logika beserta berbagai adapternya (bahasa pemrograman, dll).

Pola arsitektur Microservice secara signifikan mempengaruhi hubungan antara aplikasi dan database. Alih-alih berbagi skema database tunggal dengan services lainnya, masing-masing services memiliki skema database tersendiri. Di satu sisi, pendekatan ini bertentangan dengan gagasan model data enterprise-wide. Selain itu, sering kali menghasilkan duplikasi beberapa data. Namun, memiliki skema database per service sangat penting jika ingin mendapatkan keuntungan dari layanan microservice. Masing-masing service memiliki database sendiri. Selain itu, services dapat menggunakan jenis database dan bahasa pemrograman yang paling sesuai dengan kebutuhannya.

Jadi intinya microservice yaitu membagi service ke bagian yang lebih kecil dimana service — service tersebut saling berhungan satu sama lain.Selain itu, dalam setiap services yang dibuat bisa menggunakan teknologi yang berbebeda.

Sedangkan untuk implementasi ke web, android, iOS dll tidak bisa secara langsung. Dimana kita harus membuat terlebih dahulu yang namanya API Gateway. API Gateway memiliki tugas seperti load balancing, caching, access controll , API metering, dan monitoring.

Kelebihan Microservice


- Aplikasi scalabale, secure dan reliable
- Setiap service berdiri sendiri
- Maintence-nya lebih mudah
- Tidak ada hambatan dalam menggunakan teknologi baru
- Setiap tim developer dapat mengembangkan setiap services-nya tanpa ada       mengganngu services yang lain

Kekurangan


- Ketika satu entity pada database berubah maka setiap entity yang sama di setiap database service harus diubah
- Untuk beberapa kasus , sulit untuk menerapkan perubahan services jadi perlu perancangan yang matang.
- Deployment yang kompleks, perlu konfigurasi untuk menjalankan setiap services karena memiliki runtime yang berbebda, tidak seperti aplikasi monolitik tinggal upload , deploy dan beres.
- Perlu automation yang tinggi dalam melakukan deployment.

Semoga kawan - kawan paham sampai sini apa itu microservices, happy coding.

Komentar

Postingan populer dari blog ini

Pengertian MVC (Model, View & Controller)

  Pengertian MVC MVC adalah sebuah arsitektur perancangan kode program. Tujuannya untuk memecah kode program utama menjadi 3 komponen terpisah dengan tugas yang spesifik. Ketiga komponen tersebut adalah:  1. Model(Pengaksesan database) 2. View(Tampilan design/User Interface) 3. Controller(Alur logika program) Gabungan Model-View-Controller inilah yang disingkat sebagai MVC. Ide awal dari perlunya konsep MVC adalah agar aplikasi yang dibuat bisa mudah dikelola dan dikembangkan, terutama untuk aplikasi besar. Sebagai contoh, seorang web designer bisa fokus merancang bagian View saja, yakni tampilan design website yang terdiri dari kode HTML dan CSS plus sedikit JavaScript. Kode program untuk berkomunikasi dengan database bisa ditangani oleh programmer yang secara khusus bagian Model. Serta programmer lain mengatur alur logika program di bagian Controller. Dengan pemisahan seperti ini, kerja tim menjadi mudah dikelola. Selain itu dengan penerapan konsep MVC yang baik, setiap bag...

Spesifikasi Laptop ASUS X441B

Asus X441BA-GA901T merupakan notebook dengan layar 14.0 Inch (16:9) LED backlit HD (1366x768) 60Hz Glare Panel with 45% NTSC dan dilengkapi dengan sistem operasi Windows 10. Notebook ini dilengkapi dengan prosesor AMD Dual-Core A9-9420 APU (3.00 – 3.60 GHz, 1 MB Cache). Spesifikasi :    -Processor : AMD Dual-Core A9-9420 APU (3.00 – 3.60 GHz, 1 MB Cache) -Kamera : VGA Web Camera -VGA : AMD RadeonTM R5 Graphics -Baterai : 3 Cells 36 Whrs Battery -Fitur : Bluetooth, WiFi, DVD Super Multi, Multi-format card reader (SD/SDHC), 1 -x COMBO audio jack, 1 x VGA port, 1 x Type A USB3.0 (USB3.1 GEN1), 1 x Type -C USB3.0 (USB3.1 GEN1), 1 x USB 2.0 port(s), 1 x RJ45 LAN Jack for LAN insert, 1 x HDMI -Layar : 14.0" (16:9) LED backlit HD (1366x768) 60Hz Glare Panel with 45% NTSC Operation System (OS) : Windows 10   Kesimpulan : Menurut saya ini laptop lumayan worth it untuk dipakai buat programming dan saya sedang menggunakannya sekarang. Akan tetapi ketika ingin men develop android di...

5 Negara Dengan Koneksi Internet Tercepat

1. Australia Koneksi internet di Australia termasuk dalam peringkat 5 dengan koneksi internet tercepat dunia dengan kecepatan 26,25 Mbps. Koneksi wifi cepat dan gratis dapat ditemukan dengan mudah di negara tersebut. Boim sudah membuktikannya sendiri ketika berkunjung ke Australia. Dikabarkan Australia memiliki koneksi wifi gratis yang meliputi daerah Central Business Distric Melbournse seluas 600.000 meter persegi. 2. Singapura Negara tetangga kita Singapura juga termasuk dalam negara dengan koneksi internet tercepat dunia dengan kecepatan 30,05 Mbps. Menurut kabar, Singapura sedang mengembangkan sistem koneksi 5G untuk kecepatan jaringan internet. Kabar dari teknologi ini sudah banyak tersebar sejak tahun 2014 lalu. 3. Korea Selatan Posisi teratas ternyata ditempati oleh Korea Selatan dengan kecepatan 37,5 Mbps. Saking kencangnya kecepatan koneksi internet ini, untuk mengunduh data sebesar 5 gb, pengguna hanya membutuhkan waktu sekitar 2,5 menit saja. Hal ini dipengaruhi juga oleh k...