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

Melihat Pengaruh Penggunaan Sosial Media Saat Ini

  Rasa-rasanya hampir seluruh masyarakat Indonesia mengenal istilah sosial media. Penggunaan dan perkembangan sosial media terus berkembang hingga saat ini. Sejalan dengan mudahnya akses internet bagi banyak orang, internet of things (IoTs), dan faktor-faktor lainnya. Pengertian Sosial media Sosial media adalah teknologi berbasis komputer yang memfasilitasi dan mempermudah penggunanya dalam berekpresi, berinteraksi, dan mendapatkan informasi secara online (daring). Dalam penggunaannya memudahkan seseorang untuk membagikan idenya, karya-karyanya, pikirannya, melalui komunitas yang terbangun secara online. Sosial media mengunakan teknologi berbasis website atau aplikasi, dengan bantuan internet dan perangkat seperti komputer ataupun smartphone untuk mengaksesnya. Fitur Umum Sosial Media Saat ini banyak sekali jenis dari media sosial yang bisa kamu temukan. Fiturnya dan tujuan penggunaannya yang berbeda membuat sulit bagi para ahli mendefiniskan sosial media itu sendiri. Namun ada beb...

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...

Keunggulan dalam menggunakan framework Laravel

      Pengembangan website akan terasa lebih mudah jika menggunakan tool yang tepat. Contohnya pemilihan framework php yang akan digunakan Framework yang baik adalah framework yang sesuai dengan kebutuhan aplikasi web yang akan Anda bangun. Tidak hanya itu, framework juga harus bisa menyederhanakan proses pembuatan dan menghasilkan performa yang aplikasi web yang lebih maksimal. Nah! Salah satu framework yang sangat populer saat ini adalah Laravel. Framework ini terkenal kesederhanaannya dan menghasilkan aplikasi web yang powerful. Artikel ini akan membahas soal apa itu Laravel, manfaat Laravel, fitur-fitur Laravel, hingga tips Laravel untuk pemula.  Apa itu Laravel? Anda pasti tahu bahasa pemrograman PHP? Laravel adalah satu-satunya framework yang membantu Anda untuk memaksimalkan penggunaan PHP di dalam proses pengembangan website. PHP menjadi bahasa pemrograman yang sangat dinamis, tapi semenjak adanya Laravel, dia menjadi lebih powerful, cepat, aman, dan simpe...