Pendahuluan

Orchestration

Sebuah istilah musik awalnya..

Yang artinya (terjemahan bebas):

Pengaturan alat musik untuk dimainkan berbeda didalam sebuah kegiatan musik.

Secara luas di dalam istilah musik, orkestrasi juga tidak terbatas terhadap alat musik saja, tetapi juga bisa termasuk dalam menulis melodi, ritme, aransement, dll.


Bagaimana di dunia IT ?


Lagi-lagi dunia IT meminjam istilah yang sama.

Orchestration

Yang bisa didefinisikan sebagai :

Orkestrasi adalah otomasi konfigurasi, manajemen, dan koordinasi dari sistem IT, agar bisa menangani proses di sistem IT yang rumit dan alur yang tidak sederhana.

Apakah harus tidak sederhana ?

Yaa. tentu saja, kalau sederhana, maka yang diperlukan hanyalah Otomasi saja.


Apa contohnya ?


Orkestrasi di dunia IT bisa mencakup banyak sub bidang IT itu sendiri, misalnya :

  • IT infrastruktur, misalnya dengan Ansible, Puppet, Salt, Terraform, AWS CloudFormation, Google Cloud Deployment Manager, Azure Automation.

  • IT Application, misalnya dengan Saga Pattern Orchestration, Compensating Transactional Pattern, dll

  • IT Cloud , misalnya dengan Kubernetes, Openshift, Rancher, Docker Swarm, Nomad.

  • Workflow/Process , seperti Camunda, Drools, Pega, dll.

  • Data , seperti Snowflake, Druid, dll.


Secara umum, maka Orkestrasi di dunia IT mempunyai fitur :

  • Mempunyai konfigurasi standar secara otomatis.
  • Punya proses dan task yang juga otomatis.
  • Melibatkan otomasi untuk banyak proses, step, mesin, sistem, atau service.
  • Mempunyai kombinasi proses dan task yang cukup banyak dan cukup rumit.

Contohya :

  • Provisioning server / virtual machine / container di banyak server berbeda, misalnya seperti Terraform, AWS CloudFormation, GCP Deployment Manager, dll.
  • Mengelola proses-proses aplikasi yang melibatkan banyak microservice di sebuah aplikasi, misalnya Saga Pattern.
  • Mengelola proses aktivasi, inisiasi banyak proses IT infrastuktur, seperti menggunakan Puppet, Ansible, dll.
  • dll

Kenapa Orchestration ini perlu ?


Karena ….

Sistem IT mempunyai banyak server, aplikasi, service, workflows, dan peralatan/komponen lainnya.

Apalagi sekarang dengan bertambahnya istilah dan komponen dalam sistem IT.

Sebut saja misalnya container, microservice, macroservice, clustering, dll.

Yang komponen-komponen tersebut ditujukan agar sistem IT menjadi lebih scalable, resilience, dan juga mudah dikelola.

Akan tetapi dengan bertambahnya komponen-komponen baru tersebut, maka hal ini menambah kompleksitas dari sistem IT itu sendiri.

Padahal sistem IT dimaksudkan untuk mempermudah sisi bisnis dan servis.

Oleh karenanya, tahapan awal yang dilakukan adalah Otomasi

Lalu setelah Otomasi berhasil, maka akan naik ke level selanjutnya yaitu Orchestration.


Otomasi


Otomasi secara konsep mirip dengan orkestrasi, tetapi dalam level yang berbeda.

Otomasi membantu sistem IT lebih efisien dengan cara :

  • menggantikan proses/tindakan yang melibatkan interaksi manusia - sistem IT , dengan memanfaatkan software.
  • mereduksi proses yang melibatkan manusia dalam sistem IT.

Biasanya Otomasi ini hanya ditujukan untuk satu task atau satu proses saja.

Misalnya untuk :

  • Proses deploy aplikasi ke server yang dahulu pakai manual copy dari komputer lokal ke server, sekarang memakai Jenkins dan CI/CD.
  • Proses kirim email yang dahulu manual, sekarang pakai program aplikasi.
  • dll.

Membuat proses manual menjadi otomatis, begitu saja.

Dengan efisiensi diatas, maka sistem IT akan turut membuat efektif sistem bisnis yang berjalan diatasnya.

Dengan Otomasi , maka sistem bisnis akan efektif dari sisi :

  • Biaya waktu, sumber daya, orang dalam sistem IT.
  • Kompleksitas penanganan sistem.
  • Penanganan kesalahan/error.

Orkestrasi


Orkestrasi secara konsep adalah Otomasi di level yang lebih tinggi.

Orkestrasi lebih membantu di level teknis IT nya dibandingkan level bisnis yang berjalan diatasnya.

Orkestrasi membantu sistem teknis IT lebih efisien dengan cara :

  • melakukan otomasi terhadap proses dan workflow yang sering dipakai.
  • melakukan optimasi terhadap proses dan workflow yang sering dipakai.
  • melakukan otomasi koordinasi dengan banyak sistem yang terkait.
  • otomasi konfigurasi.
  • dll

Dengan orkestrasi ini, maka kompleksitas di sistem IT bisa dikurangi dan membuat proses development, deployment, dll lebih cepat.