Apa itu container registry?

31 Juli 2024

Penyusun

Phill Powell

Staff Writer

Ian Smalley

Senior Editorial Strategist

Apa itu container registry?

Container registry adalah repositori data (atau beberapa repositori) yang menyimpan gambar kontainer untuk penyimpanan dan akses. Gambar kontainer adalah file statis yang tidak berubah yang menampung kode yang dapat dieksekusi dan berjalan secara terpisah pada infrastruktur TI.

Keuntungan utama dari container registry adalah bagaimana mereka dengan mudah terhubung ke sistem orkestrasi kontainer atau platform seperti Kubernetes dan Docker.

Selama pengembangan aplikasi berbasis kontainer, tim juga dapat menggunakan container registry dalam kapasitas DevOps, memungkinkan integrasi yang optimal dengan alur kerja integrasi terus-menerus (CI) dan alur kerja pengiriman terus-menerus(CD). Kedua alur kerja adalah aktivitas inti dalam pengembangan perangkat lunak. CI dan CD berbasis otomatisasi dan dibuat untuk mengakomodasi perubahan kode yang sering. Keduanya berbeda terutama karena CI menyiapkan kode untuk rilis akhirnya, sementara CD menyangkut rilis kode yang sebenarnya. Container registry mendukung kedua alur kerja.

Ada dua jenis container registry:

  • Registri publik memiliki fitur untuk mengoptimalkan transfer data dan kontrol akses yang longgar, tetapi tidak memiliki protokol keamanan tingkat lanjut.
  • Repositori pribadi biasanya digunakan dalam situasi yang membutuhkan operasi yang lebih aman dan perlindungan yang lebih ketat terhadap beban kerja.
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.

Bagaimana cara kerja container registry?

Container registry menyimpan gambar kontainer, memungkinkan pengguna untuk mengunggah gambar kontainer ke container registry (proses yang disebut "pushing") atau mengunduh gambar kontainer ke sistem yang berbeda (proses yang disebut "pulling").

Container registry dapat digunakan sendiri atau bersama dengan container registry lainnya. Jika beberapa kontainer digabungkan menjadi satu unit operasional untuk penyediaan layanan cloud, fungsinya meniru ekosistem yang penghuninya bekerja bersama untuk memberikan output bersama.

Object storage

Container registry menggunakan penyimpanan objek untuk memanifestasikan metadata tentang gambar kontainer. Meskipun ini menyediakan sarana untuk berhasil mentransfer metadata tersebut, pada dasarnya terbatas. Sebagai contoh, dalam kasus data yang mungkin melibatkan beberapa gambar, ada batasan jumlah tag daftar yang tersedia.

Kontainer dependensi

Kontainer ketergantungan adalah metode penyimpanan lain. Mereka memungkinkan manajemen, pendaftaran, dan resolusi dependensi dalam aplikasi. Dalam konteks pemrograman, dependensi menggambarkan situasi di mana satu objek atau proses harus terjadi sebelum objek lain dapat berfungsi seperti yang diperintahkan.

Dependensi tersebut dikelola oleh kontainer ketergantungan, yang membantu menyederhanakan pengujian, meningkatkan skalabilitas dan meminimalkan kebutuhan untuk kopling kode (saling ketergantungan yang terlalu kuat antara objek yang diprogram), yang dapat menyebabkan pengenalan kesalahan dan masalah kontrol versi.

Autentikasi

Mengingat kebutuhan yang mendesak dan berkelanjutan akan keamanan online, autentikasi individu yang diberikan akses ke repositori sangatlah penting. Hal tersebut bergantung pada serangkaian izin khusus untuk container registry itu. Izin menentukan siapa yang berwenang untuk menggunakan Sumber daya dari container registry tersebut.

Waktu proses kontainer

Konsep waktu proses sangatlah penting. Waktu proses kontainer adalah perangkat lunak yang memungkinkan kontainer berfungsi dalam sistem host. Waktu proses menggunakan serangkaian langkah untuk membuat kontainer. Langkah-langkah ini meliputi seluruh proses pembentukan kontainer dan inisialisasi lingkungannya sesuai panduan gambar kontainer yang menampung aplikasi dan dependensinya.

Setelah kontainer terbentuk, waktu proses tetap terlibat secara aktif—mengelola siklus hidup kontainer, melacak kelangsungan hidupnya, dan menghapus sumber dayanya ketika tidak lagi diperlukan.

Penyeimbangan beban

Container registry juga mendukung penyeimbangan beban. Dalam penyeimbangan beban asli kontainer, lalu lintas langsung diarahkan ke area yang dituju untuk menerima trafik tersebut. Dengan demikian, container registry bekerja sama dengan penyeimbang beban, sehingga tidak perlu mengalihkan lalu lintas melalui loop jaringan tambahan.

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.

Manfaat container registry

Container registry memberikan banyak manfaat, termasuk yang berikut:

Kejelasan operasional

Container registry memberikan kejelasan operasional yang lebih baik dengan memiliki tempat khusus untuk menyimpan gambar untuk penyimpanan jangka panjang. Artis produksi dan pengembang perangkat lunak sering berjuang dengan kelebihan aset. Container registry meringankan masalah ini dengan membatasi aset ke satu lokasi.

Kinerja yang efisien

Pendaftaran container registry membantu mencegah penundaan kinerja yang mungkin timbul ketika lokasi gambar yang tepat tidak diketahui—terutama selama masa prioritas tinggi. Container registry menyelesaikannya dengan menyediakan inventaris yang dapat diperiksa dan dikonfirmasi kapan saja.

Sumber kebenaran tunggal

Registri membuat sumber kebenaran tunggal untuk komponen atau aplikasi apa pun, jadi selalu ada transparansi dalam susunan komponen atau aplikasi itu. Menggunakan container registry memastikan bahwa iterasi terbaru siap digunakan atau replikasi, untuk kontrol versi yang optimal.

Keamanan yang ditingkatkan

Container registry memiliki fitur langkah-langkah keamanan yang ditingkatkan untuk gambar. Protokol akses membantu menjaga gambar tetap terlindungi dari perspektif keamanan. Sementara itu, pemindaian kerentanan memungkinkan pengguna melihat secara mendalam ke dalam gambar mereka dan menemukan masalah tersembunyi di dalamnya.

Contoh penggunaan container registry

Aktivitas berikut ini memanfaatkan container registry secara ekstensif:

pengembangan perangkat lunak

Pengembangan perangkat lunak adalah contoh penggunaan utama untuk container registry, itulah sebabnya mereka dibuat sejak awal—untuk membantu pengembang perangkat lunak dengan memberi mereka ruang kerja untuk gudang, mengakses, dan berbagi gambar.

Pengiriman perangkat lunak Enterprise

Container registry pribadi biasanya dilihat sebagai infrastruktur yang diperlukan untuk organisasi yang merancang dan mengirimkan aplikasi perangkat lunak secara internal. Pendaftaran pribadi memberi pengguna tingkat kontrol yang lebih tinggi atas rantai pasokan perangkat lunak.

Layanan mikro

Banyak container registry membantu pengguna layanan mikro dengan mempermudah proses menemukan dan menghubungkan ke layanan mikro tertentu dalam klaster kontainer. Registri semacam itu menawarkan layanan Domain Name System yang memberikan nama gambar dan IP virtual.

Penerapan aplikasi

Container registry membantu mendorong iterasi aplikasi yang cepat karena sifat modular dan ringan. Manfaat lain untuk penerapan adalah portabilitas dan konsistensi register.

Penelitian ilmiah

Container registry sedang disesuaikan untuk tujuan ilmiah khusus, seperti mendukung data genetika dan memberdayakan penelitian genom. Hasil penelitian dapat dengan mudah direproduksi dalam format lain, memungkinkan kode kunci dan artefak untuk dibagikan.

Docker dan Kubernetes

Ada dua penyedia utama orkestrasi kontainer yang mendominasi penggunaan container registry:

Docker

Docker adalah sistem orkestrasi kontainer yang dikembangkan dan diperkenalkan pada tahun 2013 untuk membantu mengurangi kerumitan dalam membuat, menerapkan, dan menjalankan aplikasi. Docker telah mendapatkan popularitas baru-baru ini karena dianggap sebagai cara mudah untuk membangun kontainer yang ringan, portabel, dan mandiri yang dapat berjalan di platform apa pun tanpa tergantung pada infrastrukturnya. Reputasi untuk kemudahan penggunaan telah membantu Docker menjadi pilihan utama bagi mereka yang menerapkan aplikasi yang ditujukan untuk kecerdasan buatan (AI) dan machine learning (ML).

Dengan alasan yang sama, Docker kontainer menawarkan portabilitas tertinggi dengan token yang sama, memungkinkan kontainer dipindahkan dari satu mesin ke mesin lain tanpa tergantung pada infrastruktur yang digunakan. Sekali lagi, kami melihat manfaat karena, dengan Docker, relatif mudah untuk memperkenalkan aplikasi AI dan ML di lingkungan alternatif, seperti mesin lokal, perangkat edge, atau server cloud.

Kubernetes

Kubernetes adalah platform sumber terbuka untuk orkestrasi kontainer. Juga dimulai pada tahun 2013 dan dinamai menurut istilah Yunani untuk “pilot,” Kubernetes digunakan untuk mengotomatiskan berbagai proses perangkat lunak seperti manajemen, penerapan, dan penskalaan.

Dalam Kubernetes service, satu atau beberapa komputer (baik mesin virtual atau bare metal server) digabungkan dalam klaster Kubernetes, tempat berbagai beban kerja kontainer dengan ukuran dan jenis yang berbeda dapat dijalankan. Kubernetes sering digunakan bersama Helm, yaitu kumpulan file yang menggambarkan berbagai sumber daya klaster Kubernetes dan kemudian mengemasnya menjadi satu aplikasi.

Kubernetes memungkinkan penggunaan aplikasi ML yang terkontainerisasi dan penskalaan yang sederhana, serta mendukung kerangka kerja dan alat ML. Kubernetes juga dapat digunakan sebagai platform untuk beban kerja pelatihan AI.

Docker dan Kubernetes serupa dalam banyak hal. Docker adalah waktu proses kontainer yang berfungsi menjalankan aplikasi dalam kontainer secara individual. Sedangkan Kubernetes adalah platform lengkap yang dirancang untuk menjalankan dan mengelola banyak kontainer dari berbagai waktu proses kontainer secara bersamaan dalam skala besar. Sebagai indikator perbedaan antara keduanya, pertimbangkan bahwa Kubernetes cukup besar sehingga Docker hanyalah salah satu dari beberapa kontainer yang didukung waktu proses Kubernetes.

Penyedia container registry terkemuka lainnya

Pasar untuk penyedia container registry selalu berkembang, dengan pemain yang masuk dan keluar dari pasar pada waktu tertentu. Meskipun demikian, penyedia yang tercantum di sini telah membangun reputasi yang langgeng di pasar ini:

  • Alibaba: Alibaba Group memiliki tujuan untuk “memudahkan melakukan bisnis di mana saja.” Container Registry Cloud Alibaba memungkinkan replikasi gambar di antara instans (entitas operasi) yang dimiliki oleh akun yang sama. Container Registry Cloud Alibaba dirancang untuk mengelola gambar di seluruh siklus hidupnya masing-masing.
  • Amazon: Amazon Web Services (AWS) mengoperasikan Amazon Elastic Container Registry (ECR), menggabungkan penggunaan Amazon Inspector, yang mengelola pemindaian kerentanan gambar. ECR juga memungkinkan replikasi lintas akun dan lintas wilayah, yang memungkinkan akses yang lebih mudah ke gambar.
  • DockerHub: Docker menjalankan sumber daya gambarnya sendiri yang dikenal sebagai DockerHub, yang menawarkan akses gratis ke 100.000+ gambar yang dibagikan oleh pengguna Docker, vendor perangkat lunak, dan proyek sumber terbuka. Layanan container registry Docker berbayar juga tersedia untuk penggunaan pribadi. DockerHub dikelola melalui antarmuka baris perintah Docker (Docker CLI) yang memungkinkan operasi utama seperti login, push, dan pull.
  • GitHub: Sekarang dimiliki oleh Microsoft, GitHub dimulai pada tahun 2007. Platform ini telah mendapatkan dukungan luas dari para pengembang, yang menghargai kemampuannya dalam mendorong berbagi kode, kolaborasi, dan manajemen kode. (Perlu dicatat bahwa meskipun sering disalahartikan sebagai perangkat lunak sumber terbuka, GitHub memang perangkat lunak berpemilik.)
  • GitLab: Sering tertukar dengan GitHub, GitLab didirikan pada tahun 2014. Container Registry GitLab adalah registri pribadi yang aman untuk gambar kontainer. Hal ini dapat digunakan untuk menghasilkan dan mempublikasikan gambar. Container Registry Gitlab bekerja dengan perangkat lunak sumber terbuka. Versi terbaru (sekarang dalam versi Beta) memiliki fitur kemampuan penyortiran dan pemfilteran yang ditingkatkan.
  • Google: Container registry dari Google Cloud “Artifact Registry” terintegrasi dengan tooling dan waktu proses Google Cloud dan mendukung penggunaan pipeline otomatis. Google juga merupakan pencetus Kubernetes, dengan proyek ini kini dikelola oleh para kontributor dan merek dagangnya dipegang oleh Cloud Native Computing Foundation. Penyedia cloud publik sekarang masing-masing menawarkan Kubernetes versi mereka sendiri sebagai layanan terkelola.
  • IBM: IBM Cloud Container Registry memungkinkan pengguna untuk dengan mudah memulai registri mereka sendiri dan mulai mendorong gambar pribadi ke registri untuk digunakan dengan IBM Cloud Kubernetes Service. Pengguna mendapat manfaat dari privasi memiliki registri mereka sendiri yang dikelola sepenuhnya. Layanan ini, yang dapat dicoba tanpa biaya, memiliki fitur harga bayar sesuai penggunaan, sehingga pengguna hanya membayar apa yang mereka konsumsi.
  • Microsoft: Platform Azure Microsoft mencakup Azure Container Registry (ACR), yang menyimpan gambar Docker dan Open Container Initiative (OCI), serta mendukung artefak OCI dan bagan Helm. Fitur registri terhubung ACR (bagian dari layanan premium) membuat replika lokal atau jarak jauh yang menyinkronkan citra kontainer dan artefak OCI dengan ACR berbasis cloud. ACR dapat mengakomodasi gambar Windows dan Linux. Salah satu cara untuk berinteraksi dengan program komputer adalah dengan menulis dan input baris teks, yang disebut baris perintah. Ketika sebuah sistem operasi menggunakan metode interaksi ini, sistem operasi tersebut dikatakan menggunakan antarmuka baris perintah (CLI). Meskipun sebagian besar pengguna komputer kini mengandalkan antarmuka pengguna grafis (GUI), beberapa orang, terutama yang ingin mengotomatisasi program dengan menulis skrip, masih lebih memilih menggunakan CLI. Azure memberikan fleksibilitas kepada pengguna untuk menggunakan Docker CLI yang populer dalam menjalankan operasi utama pada citra kontainer seperti login, push, dan pull.
  • Red Hat: Red Hat telah mempromosikan pemrograman berbasis Linuxsejak didirikan pada tahun 1993. Container registry-nya, OpenShift Container Platform (OCP), memungkinkan pengguna secara otomatis mendapatkan akses ke repositori gambar sesuai permintaan dan memberi mereka lokasi standar untuk mendorong gambar yang dihasilkan dari build aplikasi mereka menjadi hasil.
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