Container Orchestration

Docker Container Orchestrator

Dinda Inas
4 min readMay 4, 2021

Ketika kita men-develop sebuah produk, seringkali produk tersebut akan memiliki komponen lebih dari satu. Misalnya, ada front end, back end, dan lain lain.

contoh komponen berupa front end dan back end

Misalkan tiap komponen tersebut memiliki container sendiri-sendiri. Semakin lama, produk akan semakin berkembang. Seiring dengan berkembangnya produk atau banyaknya pengguna produk, dibutuhkan pertambahan jumlah komponen agar tiap pengguna tetap dapat terlayani.

Misalnya yang awalnya komponen front end hanya satu komponen, kemudian dipecah menjadi dua komponen yang menangani front end yang statis dan dinamis. Kemudian jumlah komponen-komponen tersebut diperbanyak karena banyak pengguna yang mengakses.

Lalu karena jumlah komponen front end bertambah, komponen back end pun juga ditambah agar bisa melayani permintaan front end. Sampai bentuk arsitektur dari container-nya pun menjadi lebih rumit.

https://www.youtube.com/watch?v=CjD16FcyhmQ

Semakin banyaknya komponen-komponen atau service-service ini, semakin kompleks proses flow yang terjadi. Untuk dapat mengetahui pendistribusian workflow tersebut, dibutuhkan Container Orchestrator.

Container Orchestration

Container Orchestration

Dari contoh sebelumnya, bisa kita bayangkan apabila scope dari produk kita terus berkembang sampai sangat besar seperti antar negara, tentu komponen-komponen yang digunakan akan jauh lebih banyak lagi.

Dengan semakin banyaknya komponen, tentunya akan semakin rumit dan kompleks untuk mengatur:

  • Container yang satu selanjutnya pergi ke container yang mana?
  • Berapa banyak container yang harus dijalankan?
  • Bagaimana cara mengetahui ‘kesehatan’ tiap container?
  • Bagaimana cara mengganti container yang tidak bisa digunakan?
  • Bagaimana cara mengatur keamanan akses container?

Tentu akan sangat kompleks jika harus mengatur satu-satu untuk tiap komponen.

Solusi dari permasalahan ini adalah Container Orchestration.

Sesuai namanya, ‘orkestra’, Container Orchestration yaitu pengaturan workflow dari container-container. Container Orchestrator sendiri merupakan platform yang melakukan Container Orchestration.

Dengan menggunakan Container Orchestration, produk kita akan memiliki sifat-sifat seperti:

  • Scalability
  • Usability
  • Availability
  • Flexibility
  • Portability
  • Security

Selain itu, Container Orchestrator memiliki kemampuan yang berbeda-beda pada berbagai aspek seperti berikut:

  • Kemampuan platform: Scheduling, Resource, Service Management, Security, Multitenancy
  • Kemampuan runtime: Network, Data Volume
  • Kemampuan operasi: Administration, Multi-infrastructure, System Service

Dalam penggunaannya, terdapat berbagai macam platform untuk Contrainer Orchestrator. Seperti Docker, ECS, Kubernetes, OpenShift, dan lain-lain.

Pada artikel ini, akan dibahas tentang Docker Container Orchestrator.

Docker Container Orchestrator

Docker

Salah satu Container Orchestrator platform dalah Docker. Docker merupakan salah satu platform Container Orchestrator yang populer. Mengapa Docker begitu populer?

Beberapa fitur dari Docker sendiri yaitu:

  • Mendukung Windows dan Linux
  • Mendukung pembuatan aplikasi Windows dengan Docker Engine dan Docker Datacenter
  • Menggunakan kernel yang sama dengan Linux

Selain itu, terdapat beberapa keuntungan juga dari Docker dibandingkan platform lainnya, yaitu sebagai berikut:

  • Platform Docker sangat pas untuk build, ship, dan run sistem terdistribusi dengan cepat
  • Memberikan environment DevOps yang lengkap untuk developer, tester, dan tim deployment
  • Memiliki fleksibilitas seperti cloud
  • Memiliki ukuran yang lebih kecil karena menggunakan kernel yang sama dengan host
  • Memiliki kemampuan untuk melakukan migrasi aplikasi ke cloud

Pengalaman

Dalam pengerjaan projek PPL saya sendiri belum menggunakan Container Orchestrator. Hal ini karena dirasa projek kami belum membutuhkan Container Orchestration.

Namun, dengan mengerjakan projek PPL ini sendiri saya juga jadi baru tahu tentang bidang Container Orchestration dan saya jadi mengerti mengapa itu penting.😊

Saya jadi mengetahui bahwa di dunia web development di luar sana ada Container Orchestration, sehingga saya dapat lebih prepare dan tidak kaget jika nantinya saya akan merasakan pengalaman hands-on menggunakan Contrainter Orchestrator.

Selain itu, mempelajari tentang Container Orchestration ini juga meluruskan pemahaman saya. Tadinya saya kira Container Orchestration ini digunakan agar versi-versi package yang digunakan oleh tiap developer itu sama. Ternyata pengertian dari Container Orchestration lebih luas dari itu.😄

--

--

Dinda Inas
0 Followers

undergraduate computer science student