News & Events

Koreografi dan Orkestrasi: Konsep Mana yang Lebih Tepat untuk Microservices?

Published on August 19, 2020

Untuk beralih dari sistem monolitik ke microservices, para pengembang harus mengerti tentang konsep orkestrasi dan koreografi. Orkestrasi merupakan konsep yang memiliki peran penting didalam mengatur seluruh elemen dan interaksi layaknya dirigen atau konduktor pada pertunjukan musik melalui gerak isyarat. Sebaliknya koreografi adalah suatu pola atau rutinitas yang telah diatur sedemikian rupa untuk dilaksanakan oleh microservices layaknya sebuah grup musik Jazz memainkan perannya masing-masing tanpa ada yang mengkoordinasi.

Koreografi dan Orkestrasi: Konsep Mana yang Lebih Tepat untuk Microservices?

Pada sebuah orkestra, masing-masing musisi menunggu perintah dari dirigen. Setiap musisi memiliki keahlian didalam memainkan instrumen musik, apakah itu biola, drum bass maupun klarinet. Intinya mereka harus berlatih untuk mahir dibidang mereka dengan bantuan lembaran musik dan juga arahan dari dirigen untuk meningkatkan kekompakan antar musisi. Jika hal ini diterapkan didalam microservices maka sebuah service orchestrator memiliki peran untuk mengendalikan semua komunikasi antar microservices yang ada didalam sebuah ekosistem. Lalu orkestrator mengarahkan setiap service melakukan aksi-aksi sesuai dengan fungsinya.

Lalu Apa Kelemahan dari Orkestrasi?

Salah satu kelemahan orkestrasi adalah sebuah controller (orkestrator) melakukan komunikasi langsung dengan setiap service yang ada dan menunggu respon balik. Hal ini menyebabkan latency menjadi sangat tinggi diakibatkan setiap proses harus melewati banyak hop (segmen didalam jaringan) untuk mencapai destinasi (aplikasi) yang dituju. Apabila dalam waktu yang telah ditentukan service tidak bisa mencapai tujuan maka hal ini dianggap sebagai kegagalan (error).

Kedua, setiap service bergantung satu sama lain. Dengan sistem komunikasi sinkronous dan setiap service harus memberikan respon balik, menciptakan sirkulasi yang kurang efektif, jika terjadi suatu kegagalan maka mengakibatkan sistem gagal secara keseluruhan.

Ketiga, ketergantungan terhadap RESTful APIs. Dengan begitu sistem lebih condong terikat kuat satu sama lainnya.

Apakah Konsep Orkestrasi Tidak Cocok untuk Microservices?

Konsep orkestrasi bisa diterapkan untuk area pengembangan sistem dengan skala kecil.

Solusinya adalah event-driven microservices dengan konsep koreografi.

Jika metafora orkestrasi dialamatkan ke dirigen, maka lain halnya dengan koreografi yang dianalogikan dengan sebuah grup band Jazz. Untuk mengkoreografikan microservices, kita memerlukan message broker untuk melakukan komunikasi asinkronous tanpa harus menunggu respon balik secara real-time.

Menambah dan mengurangi service bisa dilakukan dengan mudah apabila menerapkan konsep koreografi dalam microservices. Perlu dicatat bahwa menambahkan dan mengurangi service tidak berdampak pada logika bisnis. Hal ini disebut dengan loosly coupling.

Kebutuhan akan kecepatan pengembangan dan modifikasi aplikasi memberikan dampak signifikan terhadap sebuah bisnis. Dengan koreografi sebuah tim bisa lebih fokus pada bidangnya masing-masing tanpa mengganggu pihak yang lain. Jika proses pengembangan selesai maka seluruh pihak terkait bisa mengguna ulang dari desain yang ada.

Baca juga:Bagaimana Menkoreografikan Bisnis Digital dengan Solace Pubsub+ Event Broker

Sumber: Solace

PT Strategic Partner Solution

  The Bellezza Shopping Arcade
    2nd Floor Unit SA15-16
    Jl. Arteri Permata Hijau, Kec. Kby. Lama
    DKI Jakarta 12210
  +62 812 8700 0879
  info@myspsolution.com

NETWORKING

Bandung

  Jl. Jend. Sudirman No. 757
    Bandung 40212
(62-22) 603 0590 (Hunting)
(62-22) 603 0967

Medan

  Kawasan Industri Medan Star
    Jl. Pelita Raya I Blok F No. 5
    Tanjung Morawa Km 19,2
    Deli Serdang 20362
  (62-61) 7940800
  (62-61) 7941990

Semarang

  Jl. Tambak Aji I / 6
    Komp. Industri Guna Mekar
    Semarang 50185
  (62-24) 866 3521
  (62-24) 866 3529

Surabaya

  Jl. Ngemplak No. 30
    Komplek Ambengan Plaza
    Blok B 35-37
    Surabaya 60272
  (62-31) 531 9635 (Hunting)
  (62-31) 531 9634

Lampung

  Perumahan Gunung Madu Plantation
    Jalan Pulau Morotai Blok B No. 1
    Kecamatan Sukarame - Tanjung Baru
    Bandar Lampung

Surakarta

  Jalan Melati No. 2,
    Kelurahan Purwosari
    Laweyan, Surakarta

Palembang

  Komplek Ilir Barat Permai
    Blok D.I. No. 31
    Kelurahan 24 Ilir, Palembang

Samarinda

  Jalan Ir. Sutami, Pergudangan Tahap II
    Blok S No.3B
    Karang Asam, Samarinda

Makassar

  Jalan Ir. Sutami,
    Komplek Pergudangan Parangloe Indah
    Blok C-II 3/6, Makassar

Pontianak

  Jalan Raya Wajok Hilir Km. 15,65
    Siantan, Pontianak