Apa yang dimaksud dengan orkestrasi kontainer?

 22 Oktober 2024

Penyusun

Ian Smalley

Senior Editorial Strategist

Apa yang dimaksud dengan orkestrasi kontainer?

Orkestrasi kontainer secara otomatis menyediakan, menerapkan, menskalakan, dan mengelola siklus hidup aplikasi yang dikontainerisasi. Pengembang menggunakan orkestrasi kontainer untuk menyederhanakan alur kerja tangkas atau DevOps, menyediakan fleksibilitas dan kecepatan yang dibutuhkan untuk mendukung infrastruktur multicloud hybrid modern.

Hari ini, Kubernetes adalah platform orkestrasi kontainer paling populer, dan sebagian besar penyedia layanan cloud terdepan—termasuk Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud dan Microsoft Azure—menawarkan Kubernetes service terkelola. Alat orkestrasi kontainer lainnya termasuk Docker Swarm dan Apache Mesos.

Pemandangan udara dari jalan raya

Dapatkan ketenangan saat menggunakan cloud 


Dapatkan Buletin Think mingguan untuk mendapatkan panduan pakar dalam mengoptimalkan pengaturan multicloud di era AI.

Mengapa kontainer membutuhkan orkestrasi?

Kontainer adalah komponen aplikasi ringan yang dapat di eksekusi yang menggabungkan kode sumber aplikasi dengan semua pustaka sistem operasi (OS) dan ketergantungan yang diperlukan untuk menjalankan kode di lingkungan apa pun. 

Kemampuan untuk membuat kontainer sudah ada sejak beberapa dekade yang lalu, tetapi baru tersedia secara luas pada tahun 2008 ketika Linux menyertakan fungsi kontainer di dalam kernelnya. Ini menjadi lebih penting setelah kedatangan platform containerisasi sumber terbuka Docker pada tahun 2013. (Docker sangat populer sehingga frasa "kontainer Docker" dan kata "kontainer" sering digunakan secara bergantian). Saat ini, kontainer kompatibel dengan banyak sistem operasi lain selain Linux, termasuk Windows.

Karena lebih kecil, lebih hemat sumber daya, dan lebih portabel dibandingkan mesin virtual (VM), kontainer—dan lebih khusus lagi, layanan mikro dalam kontainer atau fungsi tanpa server—telah menjadi unit komputasi de facto dari aplikasi cloud-native modern.

Dalam jumlah kecil, kontainer cukup mudah diterapkan dan dikelola secara manual. Namun, aplikasi dalam container dan kebutuhan untuk mengelolanya dalam skala besar telah menjadi hal yang umum di sebagian besar organisasi berskala besar.

Misalnya, integrasi dan pengiriman terus-menerus (CI/CD) atau pipeline DevOps tidak dapat dilakukan tanpa orkestrasi kontainer, yang mengotomatiskan tugas operasional terkait penerapan dan pengelolaan aplikasi serta layanan dalam kontainer.

Dalam sebuah studi IBM, 70% pengembang yang disurvei menggunakan solusi orkestrasi kontainer, dan 70% dari mereka yang menggunakan laporan solusi menggunakan layanan orkestrasi kontainer yang dikelola sepenuhnya (dikelola cloud) di organisasi mereka.

Bagaimana cara kerja orkestrasi kontainer?

Arsitektur orkestrasi kontainer terdiri dari menjalankan klaster kontainer di beberapa mesin dan lingkungan. Setiap klaster biasanya terdiri atas sekelompok node (juga disebut instans server). Node pekerja menjalankan kontainer menggunakan waktu proses kontainer seperti (Docker). Sekelompok node bidang kontrol bertindak sebagai orkestrator klaster. Pengguna dapat mengelola dan memantau beban kerja kontainer dengan alat yang memiliki fitur antarmuka pemrograman aplikasi (API) dan antarmuka pengguna grafis (GUI).

Meskipun ada perbedaan dalam metodologi dan kemampuan di seluruh platform dan alat, orkestrasi kontainer pada dasarnya adalah proses tiga langkah (atau siklus, ketika bagian dari pipeline tangkas atau DevOps berulang):

  1. Penyediaan
  2. Deployment
  3. Manajemen siklus hidup

1. Penyediaan

Sebagian besar alat orkestrasi kontainer mendukung model konfigurasi deklaratif. Pengembang menulis file konfigurasi (dalam YAML atau JSON, tergantung pada alat) yang mendefinisikan status yang diinginkan. Alat orkestrasi yang menjalankan file tersebut menggunakan kecerdasannya sendiri untuk mencapai status tersebut. File konfigurasi biasanya melakukan:

  • Tentukan gambar kontainer mana yang membentuk aplikasi dan lokasinya (dalam container registry).
  • Sediakan kontainer dengan penyimpanan dan sumber daya lainnya.
  • Definisikan dan amankan koneksi jaringan di antara kontainer.
  • Tentukan versi (untuk peluncuran bertahap atau kenari).

2. Penerapan

Alat orkestrasi menjadwalkan penerapan kontainer (dan replika kontainer, untuk ketahanan) ke host. Ini memilih host terbaik berdasarkan kapasitas unit pemrosesan pusat (CPU)yang tersedia, memori atau persyaratan atau batasan lain yang ditentukan dalam file konfigurasi.

3. Manajemen siklus hidup

Setelah kontainer diterapkan, alat orkestrasi mengelola siklus hidup aplikasi terkontainerisasi berdasarkan file definisi kontainer (biasanya berupa Dockerfile).

Tugas manajemen siklus hidup meliputi:

  • Kelola skalabilitas (naik dan turun), penyeimbangan beban, dan alokasi sumber daya di antara kontainer.
  • Bantu memastikan ketersediaan dan kinerja dengan merelokasi kontainer ke host lain jika terjadi pemadaman atau kekurangan sumber daya sistem.
  • Mengumpulkan dan menyimpan data log dan telemetri lain yang digunakan untuk memantau kesehatan dan kinerja aplikasi.

Lihat video ini untuk melihat lebih dekat bagaimana orkestrasi kontainer bekerja:

Manfaat orkestrasi kontainer

Manfaat utama orkestrasi kontainer meliputi:

  • Otomatisasi
  • Ketahanan
  • Peningkatan penggunaan dan kinerja sumber daya
  • Efisiensi biaya
  • Kecepatan dan kelincahan
  • Peningkatan keamanan
  • Peningkatan produktivitas

Otomatisasi

Manfaat utama dari orkestrasi kontainer adalah otomatisasi, yang sangat mengurangi upaya manual dan kompleksitas pengelolaan kawasan aplikasi kontainer skala besar.

Ketahanan

Solusi orkestrasi kontainer meningkatkan ketahanan dengan memulai ulang atau menskalakan kontainer jika salah satu gagal. Kemampuan ini membantu memastikan ketersediaan dan peningkatan waktu aktif aplikasi.

Peningkatan penggunaan dan kinerja sumber daya

Pemilihan host dan alokasi sumber daya secara otomatis dapat memaksimalkan penggunaan sumber daya komputasi yang efisien. Misalnya, solusi orkestrasi kontainer dapat menyesuaikan memori dan penyimpanan CPU berdasarkan kontainer individual, yang mencegah penyediaan berlebih dan meningkatkan kinerja keseluruhan.

Efisiensi biaya

Orkestrasi kontainer menghilangkan kebutuhan akan intervensi manual, menurunkan biaya operasional. Selain itu, kontainer membutuhkan sumber daya yang lebih sedikit daripada VM, yang dapat mengurangi kebutuhan infrastruktur TI dan biaya overhead.

Kecepatan dan kelincahan

Alat orkestrasi kontainer membantu mempercepat pengembangan dan penerapan aplikasi, memberikan dukungan penting untuk proses cloud-native modern.

Peningkatan keamanan

Kontainer meningkatkan keamanan dengan mengisolasi aplikasi dari sistem host dan satu sama lain, mengurangi permukaan serangan. Banyak platform berisi pemindaian otomatis untuk mendeteksi kerentanan dan mengamankan registri gambar, meningkatkan perlindungan secara keseluruhan.

Peningkatan produktivitas

Dengan mengotomatiskan operasi, orkestrasi kontainer mendukung pendekatan Tangkas atau DevOps. Hal ini memungkinkan tim untuk mengembangkan dan menerapkan dalam siklus berulang yang cepat dan merilis fitur dan kemampuan baru dengan lebih cepat.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Keuntungan menggunakan Kubernetes

Dikembangkan oleh Google dan dirilis pada tahun 2014, Kubernetes menjadi salah satu proyek dengan pertumbuhan tercepat dalam sejarah perangkat lunak sumber terbuka. Kubernetes saat ini dikelola oleh Cloud Native Computing Foundation (CNCF). Sejak Kubernetes bergabung dengan CNCF pada tahun 2016, jumlah kontributor telah bertambah dari 731 menjadi 8.012.1

Dengan alat ekosistem kontainer lainnya, Kubernetes memungkinkan perusahaan untuk memberikan platform sebagai layanan (PaaS) yang sangat produktif. Model komputasi cloud ini menangani berbagai tugas dan masalah terkait infrastruktur dan operasi dalam pengembangan aplikasi cloud-native, sehingga tim pengembang dapat fokus sepenuhnya pada pengodean dan inovasi.

Keunggulan Kubernetes dibandingkan solusi orkestrasi lainnya sebagian besar merupakan hasil dari fungsinya yang lebih komprehensif dan canggih di beberapa area:

  • Penerapan kontainer
  • Peluncuran
  • Penemuan layanan
  • Penyediaan penyimpanan
  • Penyeimbangan beban dan skalabilitas
  • Penyembuhan mandiri untuk ketersediaan tinggi.
  • Dukungan dan portabilitas di berbagai penyedia cloud
  • Ekosistem sumber terbuka

Penerapan kontainer

Kubernetes menyebarkan sejumlah kontainer tertentu ke host tertentu dan menjaganya agar tetap berjalan dalam kondisi yang diinginkan.

Peluncuran

Peluncuran adalah perubahan pada penerapan. Kubernetes memungkinkan pengembang memulai, menjeda, melanjutkan, atau memutar kembali peluncuran.

Penemuan layanan

Kubernetes dapat secara otomatis mengekspos kontainer ke internet atau ke kontainer lain dengan menggunakan nama Sistem Nama Domain (DNS) atau alamat IP untuk menemukan layanan.

Penyediaan penyimpanan

Pengembang dapat mengatur Kubernetes untuk memasang penyimpanan lokal atau cloud yang persisten untuk kontainer Anda sesuai kebutuhan.

Penyeimbangan beban dan skalabilitas

Ketika lalu lintas ke kontainer melonjak, Kubernetes dapat menggunakan penyeimbangan beban dan penskalaan otomatis untuk mendistribusikan lalu lintas di seluruh jaringan dan membantu memastikan stabilitas dan kinerja. Kemampuan ini juga menghemat pekerjaan pengembang dalam menyiapkan penyeimbang beban.

Penyembuhan mandiri untuk ketersediaan tinggi

Ketika sebuah kontainer gagal, Kubernetes dapat memulai ulang atau menggantinya secara otomatis. Itu juga dapat menghapus kontainer yang tidak memenuhi persyaratan pemeriksaan kesehatan organisasi.

Dukungan dan portabilitas di berbagai penyedia cloud

Kubernetes mendapat dukungan luas di semua penyedia cloud terkemuka. Kemampuan ini sangat penting bagi organisasi yang menerapkan aplikasi ke hybrid cloud (kombinasi cloud publikcloud pribadi, dan infrastruktur lokal) atau multicloud (penggunaan layanan cloud dari lebih dari satu vendor cloud).

Ekosistem sumber terbuka

Kubernetes juga memiliki perangkat kegunaan dan jaringan yang terus berkembang untuk meningkatkan kemampuannya melalui API Kubernetes. Ini termasuk Knative, yang memungkinkan kontainer berjalan sebagai beban kerja tanpa server; dan Istio, sebuah mesh layanan sumber terbuka.

Apa yang dimaksud dengan kontainer sebagai layanan (CaaS)?

Kontainer sebagai layanan (CaaS) adalah layanan terkelola yang memungkinkan pengembang mengelola dan menerapkan aplikasi berbasis kontainer, serta memberikan akses bisnis ke solusi cloud yang portabel dan dapat diskalakan. Pada tahun 2022, pasar CaaS global bernilai hampir 2 miliar USD.2 Para peneliti memperkirakan pasar akan bernilai lebih dari 7 miliar USD pada tahun 2027, dengan CAGR 30,2% selama periode tersebut. 3

Penyedia CaaS menawarkan banyak manfaat bagi bisnis, termasuk waktu proses kontainer, lapisan orkestrasi, manajemen penyimpanan persisten, dan Integrasi dengan layanan lain. Banyak penyedia publik terkemuka menawarkan layanan terkelola orkestrasi kontainer, banyak di antaranya menggunakan Kubernetes sebagai teknologi yang mendasarinya.

Penyedia CaaS teratas meliputi:

  • Amazon Elastic Container Service (Amazon ECS) dari AWS
  • Google Kubernetes Engine (GKE) dari Google Cloud
  • IBM Cloud Kubernetes Service
  • Microsoft Azure Container Instances (ACI)
  • Red Hat Openshift

Orkestrasi kontainer dan AI

Platform orkestrasi kemas seperti Kubernetes dapat mengotomatiskan bagian dari kecerdasan buatan (AI) dan machine learning (ML), seperti alur kerja pemeliharaan prediktif (termasuk pemeriksaan kesehatan real-time dan perencanaan sumber daya).

Machine learning mengandalkan model bahasa besar (LLM) untuk melakukan pemrosesan bahasa alami (NLP) tingkat tinggi , seperti klasifikasi teks, analisis sentimen, dan terjemahan mesin. Orkestrasi kontainer membantu mempercepat penerapan model bahasa besar (LLM) untuk mengotomatiskan proses NLP. Selain itu, organisasi menggunakan orkestrasi kontainer untuk menjalankan dan menskalakan model AI generatif, yang memberikan ketersediaan tinggi dan toleransi kesalahan.

Solusi terkait
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud adalah OpenShift Container Platform (OCP) yang dikelola sepenuhnya.

Jelajahi Red Hat OpenShift
Solusi Kontainer

Solusi kontainer menjalankan dan meningkatkan beban kerja dalam kontainer dengan keamanan, inovasi sumber terbuka, dan penerapan yang cepat.

Jelajahi kontainer
Layanan Konsultasi Cloud 

Dapatkan kemampuan baru dan dorong ketangkasan bisnis dengan layanan konsultasi cloud IBM. Temukan cara berkolaborasi dalam menciptakan solusi, mempercepat transformasi digital, dan mengoptimalkan kinerja melalui strategi hybrid cloud dan kemitraan pakar.

Layanan cloud
Ambil langkah selanjutnya

Modernisasi infrastruktur Anda dengan solusi kontainer IBM. Jalankan, skalakan, dan kelola beban kerja kontainer di seluruh lingkungan dengan fleksibilitas, keamanan, dan efisiensi dengan platform kontainer IBM yang komprehensif.

Jelajahi solusi kontainer Buat akun IBM Cloud gratis Anda
Catatan kaki