Langsung ke konten utama

Micro Service : Pengertian,fungsi,Contoh Aplikasi

 Introduction to Microservices - Comunytek

Pengertian Microservices

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. Baca Juga: Apa itu Analisis SWOT?

Pola arsitektur Microservice secara signifikan memengaruhi hubungan antara aplikasi dan database. Di dalam microservice, masing-masing services memiliki skema database tersendiri. Selain itu, services dapat menggunakan jenis database dan bahasa pemrograman yang paling sesuai dengan kebutuhannya.

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.


Intinya microservice adalah metode dengan 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.


Karakteristik Microservices

Aplikasi scalable, secure dan reliable

Setiap layanan memiliki infrastruktur sendiri.

Karena setiap layanan memiliki infrastruktur sendiri, bisa dengan mudah membuat aplikasi tanpa memikirkan hubungan atau ketergantungan module dengan layanan yang lain.

Ada kemungkinan komunikasi antarmodule mengalami kegagalan. Untuk itu pengguna harus selalu mempersiapkan cara handlenya.

Proses update aplikasi hanya melingkupi layanan yang terkait.

Codenya berbasis layanan.

Proses Scalingnya bisa menggunakan beberapa metode, scaling up dan scaling side.

Kelebihan Microservice

Berdasarkan pengertian tentang microservice yang sudah kita baca di atas, dapat kita simpulkan bahwa microservice memiliki kelebihan sebagai berikut:

  • 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 mengganggu services yang lain.

Kekurangan Microservice

  • Selain memiliki banyak kelebihan, tentu microservice juga memiliki beberapa kekurangan, di antaranya adalah:
  • 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, maka dari itu diperlukan perancangan yang matang.
  • Deployment yang kompleks, perlu konfigurasi untuk menjalankan setiap services karena memiliki runtime yang berbeda, tidak seperti aplikasi monolitik yang memiliki sistem tinggal upload , deploy dan beres.
  • Perlu automation yang tinggi dalam melakukan deployment.
Dengan pemisahan aplikasi berdasarkan fungsi-nya ini, pada akhirnya kita akan menemui keragaman teknologi dalam sebuah satu layanan digital. Misalkan dari layanan blog yang telah dicontohkan diatas, kita bisa coba pecahkan aplikasi blog tersebut menjadi fungsi konten, user management, komentar, rangking, search dan lainnya.

Pada bagian fungsi konten mungkin kita menggunakan PHP dan mysql, tetapi pada komentar kita menggunakan Python dan Mongodb, sedangkan di search menggunakan nodejs dan elasticsearch untuk penyimpanan datanya. Disini terlihat bahwa setiap fungsi / permasalahan teknis dapat diselesaikan dengan cara dan teknologi yang berbeda-beda.

Dalam konsep microservices, kita tidak hanya melalukan pemisahan di level aplikasi saja, tetapi dari sisi infrastruktur pula. Kita akan menemukan keragaman arsitektur infra, konfigurasi dan optimalisasi sistem yang berbeda, dan sering pula ditemukan jumlah dan spesifikasi server yang tidak sama antara service yang satu dengan yang lain.


Load Balancer Layer 7
Kita dapat menggunakan Load balancer yang mendukung balancing di layer 7 untuk melakukan tugas ini. Di layer 7 ini load balancer tidak hanya akan membagi traffic saja tetapi dia mampu membaca isi paket (terutama HTTP/S) agar dapat membagi load berdasarkan pola URL.

Untuk implementasi microservices yang baik paling tidak kita harus menggunakan dua layer dari load balancer. Yang pertama berfungsi membagi traffic berdasarkan URL, dan yang kedua berguna untuk membagi traffic berdasarkan load server. Apabila digambarkan maka implementasi microservices akan memiliki desain infrastrukturnya akan seperti gambar dibawah ini

Dengan arsitektur yang seperti ini akan memudahkan tim infrastruktur untuk melakukan scaling. Selain mudah, proses scaling akan lebih efektif karena scaling hanya dilakukan pada cluster yang membutuhkannya saja. Salah satu kelebihan lainnya yakni dari sisi security lebih baik karena semua teknologi dan arsitektur dibelakangnya tidak akan terekspos dari dunia luar.

Komentar

Postingan populer dari blog ini

Perkembangan Teknologi Komputer Tahun 2010

Perkembangan teknologi semakin hari semakin berkembang secara pesat, termasuk kemajuan teknologi di bidang komputer. saat ini komputer semakin canggih dan berkualitas mulai dari bentuk yang lebih fleksibel dan mewah. Dalam post kali ini saya akan membahas perkembangan teknologi komputer dari tahun 2010 sampai saat ini. Pekembangan teknologi komputer pada tahun 2010 Beberapa teknologi komputer yang rilis pada tahun 2010, yaitu: Packard Bell iXtre 0i me 414    salah satu PC komputer yang telah menggunakan Pentium-4 sebagai processor dengan kecepatan 1.4 GHz, memory RDRAM 128 MB, Harddisk sebesar 40 GB (1.5 GB digunakan untuk recovery), serta video card GeForce2 MX dengan memory 32 MB. HP Pavilion 9850 juga merupakan PC yang menggunakan Pentium-4 untuk processor nya dengan kecepatan 1.4 GHz. PC Pentium-4 Hewllett-Packard ini dating dengan dominan warna hitam dan abu-abu. Dibanding dengan PC lainnya, Pavilion merupakan PC Pentium-4 dengan fasilitas terlengkap. Memory yang dimiliki...

Pentingnya Big Data dalam Kehidupan Sehari-hari

  Big Data adalah istilah umum untuk segala himpunan data (data set) dalam jumlah yang sangat besar, rumit dan tak terstruktur sehingga menjadikannya sukar ditangani apabila hanya menggunakan perkakas manajemen basis data biasa atau aplikasi pemroses data tradisional belaka. Big Data masih terbilang baru dan sering disebut sebagai tindakan pengumpulan dan penyimpanan informasi yang besar untuk analisis. Dalam kehidupan sehari-hari, kita sudah bisa melihat sebuah big data yang dapat digunakan oleh perusahaan-perusahaan untuk menganalisis data tersebut. Berikut ini adalah contoh pemanfaatan big data yang bisa digunakan dalam berbagai bidang : 1. Perusahaan ritel dapat menggunakan informasi dari social media seperti Facebook, Twitter, Google+ untuk menganalisis bagaimana perilaku, persepsi pelanggan terhadap suatu produk atau brand dari perusahan. 2. Perusahan manufaktur dapat memantau kondisi peralatan setiap saat (real-time), sehingga dapat memperkirakan waktu terbaik untuk menggant...

Teknologi Keren Yang Hadir Sepanjang 2014

Perkembangan teknologi terus berganti seiring waktu yang terus berjalan. Pada tahun 2014, beberapa teknologi yang diperkirakan bakal hadir ternyata mengalami penundaan. Contohnya Intel yang akhirnya menunda kehadiran prosesor Intel Broadwell 14nm. Begitu pula dengan AMD yang tidak menghadirkan jajaran kartu grafis terbarunya. Namun demikian, banyak pula beberapa teknologi keren yang hadir dimana beberapa diantaranya bisa jadi masih berupa impian beberapa tahun silam. 1 . Hendo Hoverboard Masih ingat dengan adegan saat Marty McFly (Michael J.Fox) saat mengendarai sebuah skateboard tanpa roda yang melayang pada film “Back to the Future”? Alat dengan nama Hoverboard tersebut memang masih merupakan impian saat itu. Namun di tahun 2014, perangkat tersebut mulai diperkenalkan melalui proyek yang hadir di Kickstarter yang diberi nama Hendo Hover. Keajaiban dibalik Hendo Hover terdapat pada mesin yang terletak dibagian bawah yang terdiri dari 2 atau 4 bagian berbentuk bulat. Mesin ini mencipta...