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

Perbedaan Backend Service dan Rest Api

Baik API maupun Web Service , keduanya jadi perangkat lunak yang banyak membantu fungsi di sebuah aplikasi atau website berjalan dengan mudah. Tapi, apa sebenarnya API atau web service itu?    Application Programming Interface(API) merupakan perangkat lunak yang membantu dua aplikasi untuk saling terhubung tanpa perlu mengetahui hal lain yang tidak diperlukan atau database rahasia, dan sebagainya. API jadi perangkat lunak yang fungsinya banyak menolong kegiatan sehari-hari manusia di abad ini. Untuk menggunakan aplikasi streaming musik misalnya, pengguna perlu untuk melakukan daftar pengguna yang bisa dilakukan melalui aplikasi lain seperti Facebook atau Gmail. Di kasus seperti itu, API akan menjadi penghubung antara aplikasi streaming musik yang membutuhkan data dari Facebook atau Gmail tanpa perlu tau bagaimana data itu disimpan dan sebagainya. Konsep dan fungsi API memang sangat memudahkan pengguna digital saat ini. Namun selain API, ada juga yang namanya web service. Di ...

Pengertian dan Sejarah mengenai SQL

-Pengertian Structured Query Language atau SQL mungkin merupakan poin penting dalam sebuah studi teknik komputer jaringan. Keberadaan SQL sebagai sebuah bahasa pemrograman memiliki sejarah dan perkembangan yang panjang. Tentu saja perkembangan tersebut dipengaruhi oleh perkembangan dunia teknologi yang dari tahun ke tahun semakin membaik dan terus diperbaharui. Sehingga mau tidak mau, banyak software diciptakan dengan teknologi baru namun tidak menghilangkan keberadaan SQL ini. -Sekilas Mengenai SQL Pengertian SQL secara umum bagi kalangan awam maupun pemula dalam dunia IT bisa diartikan sebagai bahasa yang digunakan dalam mengakses data. Khususnya untuk data yang memiliki basis relasional. Tentu saja bahasa komputer dalam data basis relasional ini berdasarkan standar yang dikeluarkan oleh American National Standard Institute (ANSI). Standardisasi SQL sudah ada sejak tahun 1986 dan memang diinisiasi oleh ANSI. Hingga saat ini banyak server dalam sebuah database maupun software mampu m...