Tahu Gak Sih Apa Itu Kubernetes?

Tahu Gak Sih Apa Itu Kubernetes?

Kubernetes merupakan platform open-source yang digunakan untuk melakukan manajemen workloads aplikasi yang dikontainerisasi, serta menyediakan konfigurasi dan otomatisasi secara deklaratif. Kubernetes berada di dalam ekosistem yang besar dan berkembang cepat. Service, support, dan perkakas Kubernetes tersedia secara meluas.

Mengapa Kubernetes dan hal apa saja yang dapat dilakukan oleh Kubernetes?

Kubernetes memiliki sejumlah fitur yang dapat dijabarkan sebagai berikut:

  • platform kontainer
  • platform microservices
  • platform cloud yang tidak mudah dipindahkan

Kubernetes menyediakan manajemen environment yang berpusat pada kontainer. Kubernetes melakukan orkestrasi terhadap computing, networking, dan inftrastruktur penyimpanan. Fitur inilah yang kemudian membuat konsep Platform as a Service (PaaS) menjadi lebih sederhana dilengkapi dengan fleksibilitas yang dimiliki oleh Infrastructure as a Service (IaaS).

Lalu hal apakah yang tidak termasuk di dalam Kubernetes?

Kubernetes bukanlah sebuah PaaS (Platform as a Service) yang biasanya. Meskipun Kubernetes dijalankan pada tingkatan kontainer dan bukan pada tingkatan perangkat keras, Kubernetes menyediakan beberapa fitur yang biasanya disediakan oleh Paas, seperti deployment, scaling, load balancing, logging, dan monitoring.

Kubernetes:

  • Tidak melakukan limitasi terhadap aplikasi yang di-support.
  • Tidak menyediakan mekanisme untuk melakukan deploy kode sumber maupun mekanisme build sebuah aplikasi. 
  • Tidak menyediakan application-level services, sebagai suatu built-in services.
  • Tidak membatasi penyedia layanan logging, monitoring, maupun alerting yang digunakan.
  • Tidak menyediakan atau mengharuskan penggunaan configuration language/system
  • Tidak menyediakan atau mengadaptasi sebuah konfigurasi, maintenance, manajemen, atau self-healing mesin dengan spesifikasi khusus.

Mengapa kontainer?

Secara garis besar, penggunaan kontainer memiliki keuntungan sebagai berikut:

  • Mekanisme pembuatan aplikasi serta proses deployment yang lebih efektif: Kontainer dapat meningkatkan kemudahan dan efisiensi jika dibandingkan dengan penggunaan VM.
  • Continuous development, integration, and deployment: Digunakan untuk melakukan proses build dan deploy yang sering dilakukan serta kemudahan mekanisme rollback karena image yang ada sifatnya immutable.
  • Pemisahan kepentingan antara Dev dan Ops: Pembuatan image container dilakukan pada saat rilis dan bukan pada saat deploy mengurangi ketergantungan aplikasi dan infrastruktur.
  • Observabilitas Tidak hanya informasi dan metriks pada level OS, tapi juga kesehatan aplikasi dan signal lain.
  • Konsistensi environment pada masa pengembangan , testing, dan production: Memiliki perilaku yang sama baik ketika dijalankan di mesin lokal maupun penyedia layanan cloud.
  • Portabilitas antar penyedia layanan cloud maupun distribusi OS: Dapat dijalankan pada Ubuntu, RHEL, CoreOS, on-prem, Google Kubernetes Engine, dan dimanapun.
  • Manajemen yang bersifat Aplikasi sentris: Meningkatkan level abstraksi dari proses menjalankan OS pada perangkat keras virtual ke proses menjalankan aplikasi pada sebuah OS dengan menggunakan resource logis.
  • Mikroservis yang renggang (loosely coupled), terdistribusi, elastis, dan terliberasi: Aplikasi dapat dipecah menjadi komponen yang lebih kecil yang independen dan dapat di-deploy dan diatur secara dinamis — bukan sebuah sistem monolitik yang dijalankan pada sebuah mesin yang hanya punya satu tujuan.
  • Isolasi resource: Performa aplikasi yang bisa diprediksi.
  • Utilisasi resource: Efisiensi yang tinggi

Berita Rekomendasi

8 Prinsip Desain UI

12/11/2024

8 Prinsip Desain UI

Memahami prinsip-prinsip desain penting untuk semua tingkat desainer, dari pemula hingga ahli. Menerapkan prinsip ke dalam tindakan membawa daya tarik visual dan fungsionalitas ke desain. Jadi mari kita cari tahu…

View
PHP Traits

11/11/2024

PHP Traits

Trait adalah mekanisme untuk menggunakan ulang sebuah code pada sebuah inheritance. Trait digunakan untuk mengurangi batasan dari sebuah inheritance dengan memungkinkan developer untuk menggunakan ulang kumpulan methods secara mudah pada beberapa class yang memiliki hirarki berbeda. Trait digunakan…

View
SSDL: Membangun Perangkat Lunak Aman

12/11/2024

SSDL: Membangun Perangkat Lunak Aman

Secure Software Development Lifecycle (SSDL) adalah proses pengembangan perangkat lunak yang dirancang untuk membangun perangkat lunak yang aman dan andal. SSDL mengintegrasikan praktik keamanan ke dalam semua tahap pengembangan perangkat…

View