Apa itu CaaS? Manajemen kontainer yang lebih sederhana

Karena aplikasi modern dalam container terus terbukti populer di kalangan organisasi, hanya masalah waktu sebelum vendor besar mulai menawarkan infrastruktur container dan manajemen "as-a-service."

Penggunaan kontainer terus meningkat dengan perusahaan secara global, dengan 65 persen organisasi menyatakan mereka menggunakan kontainer Docker, dan 58 persen menggunakan sistem orkestrasi Kubernetes dalam beberapa hal, menurut laporan Status Cloud 2020 terbaru dari Flexera.

Kurangnya sumber daya dan keahlian sering disebut sebagai tantangan utama dalam menggunakan container untuk membangun dan memelihara aplikasi. Jadi, tidak mengherankan bahwa pengembang semakin beralih ke otomatisasi yang disediakan oleh penawaran kontainer sebagai layanan (CaaS), dengan tiga penyedia cloud utama memimpin.

Containers-as-a-service, atau CaaS, ditentukan

Dengan CaaS, vendor cloud pada dasarnya menyediakan mesin orkestrasi container yang dihosting - biasanya berdasarkan proyek open source Kubernetes yang sangat populer, yang berasal dari Google - untuk menerapkan dan menjalankan container, mengelola cluster, mengotomatiskan penskalaan dan manajemen kegagalan, serta memelihara infrastruktur umum lapisan, dengan tata kelola dan keamanan disertakan.

Umumnya, semua fungsi jaringan, load balancing, pemantauan, logging, otentikasi, keamanan, penskalaan otomatis, dan integrasi berkelanjutan / pengiriman berkelanjutan (CI / CD) ditangani oleh platform CaaS.

Hal ini memungkinkan organisasi untuk memanfaatkan manfaat infrastruktur cloud, sementara pada saat yang sama membantu menghindari penguncian vendor apa pun yang akan datang dengan platform-as-a-service (PaaS) khas Anda - seperti AWS Elastic Beanstalk, Azure App Service, atau Google App Engine - karena penampungnya sendiri memungkinkan portabilitas sederhana di berbagai lingkungan. 

Jika Anda ingin menggunakan container, maka perbedaan antara CaaS dan berjalan pada infrastruktur-as-a-service (IaaS) klasik tergantung pada apakah organisasi Anda memiliki sumber daya dan keterampilan untuk mengimplementasikan dan mengelola Kubernetes (atau orkestrasi container lainnya layer) itu sendiri, atau akan mendapatkan keuntungan dengan menyerahkannya ke penyedia cloud. Keputusan tersebut juga dapat mengaktifkan apakah lingkungan container Anda harus menjangkau beberapa cloud dan / atau lingkungan on-prem. Sejumlah vendor menawarkan platform CaaS yang dapat diterapkan baik secara lokal atau di cloud (lihat di bawah). 

“Anda dapat mengelola berbagai hal di tingkat infrastruktur dan mengatur orkestrator sendiri, atau Anda dapat menggunakan platform kontainer yang menangani infrastruktur yang mendasarinya dan menyediakan orkestra yang sudah terpasang yang siap untuk Anda gunakan dan menskalakan kontainer Anda,” tulis mantan Deutsche Bank dan Pengembang BBC Rob Isenberg dalam bukunya, Docker for Rails Developers, diterbitkan oleh O'Reilly.

Keuntungan-keuntungan

Menjalankan container Anda di CaaS mirip dengan menjalankan mesin virtual Anda di IaaS: Manfaat utamanya adalah kecepatan penerapan dan kemudahan penggunaan, serta kesederhanaan model cloud pay-as-you-go dan kebebasan yang disebutkan di atas dari vendor lock -di.

Dengan menyerahkan infrastruktur container Anda ke vendor cloud, Anda dapat memulai dan menjalankan tanpa berinvestasi pada perangkat keras Anda sendiri dan tanpa membangun dan menjalankan cluster Kubernetes Anda sendiri (atau sistem orkestrasi container lainnya). Selain itu, dengan memasukkan aplikasi ke dalam container, Anda dapat lebih mudah memigrasi aplikasi ke lingkungan yang berbeda atau ekosistem vendor, memberikan fleksibilitas yang lebih besar dan opsi skalabilitas.

Semua ini juga memiliki peluang yang sangat penting untuk efisiensi biaya, karena container lebih siap untuk menskalakan secara horizontal sesuai permintaan, memungkinkan organisasi hanya membayar untuk sumber daya cloud yang mereka gunakan. Container jauh lebih ringan daripada VM, yang berarti tidak terlalu intensif sumber daya, sering kali menghasilkan peningkatan kecepatan dan pengurangan biaya.

Manfaat lain datang dengan konsistensi instrumentasi dan logging, karena mengisolasi layanan individu dalam container dapat memungkinkan agregasi log yang lebih efektif dan pemantauan terpusat melalui model penerapan sidecar yang populer.

Migrasi aplikasi tradisional ke container tetap menjadi penghalang yang signifikan untuk adopsi, bahkan ketika dijalankan di CaaS, seperti yang dikutip oleh 34 persen responden dalam laporan Status Cloud Flexera. Migrasi ke container sering kali melibatkan pemecahan aplikasi monolitik menjadi layanan mikro, yang untuk organisasi yang lebih besar dan lebih tua dapat menjadi perubahan budaya dan teknis utama yang tidak boleh dianggap enteng.

[Juga di: Apa itu Docker? Percikan revolusi kontainer]

Opsi vendor terkemuka

Sebagian besar penyedia cloud besar memiliki penawaran CaaS, dan ada beberapa penyedia lain yang ingin ikut serta.

Pemimpin pasar layanan cloud Amazon Web Services (AWS) telah melihat adopsi yang kuat dari Layanan Kontainer Elastis (ECS) tanpa Kubernetes dan Layanan Kubernetes Elastis (EKS). Demikian pula, adopsi Layanan Azure Kubernetes naik secara signifikan menurut analisis Flexera, seperti halnya Google Kubernetes Engine (GKE).

Ketiga raksasa cloud tersebut sekarang juga menawarkan layanan Kubernetes tanpa server , dengan AWS ECS di Fargate, Google Cloud Run di GKE, dan Azure Container Instances. Tidak seperti EKS, AKS, dan GKE, layanan ini menghilangkan kebutuhan untuk melakukan tugas manajemen server dan ideal untuk kasus penggunaan konsumsi sesuai permintaan.

Banyak dari kemampuan manajemen kontainer Google Cloud sekarang berada di bawah payung Anthos, yang memungkinkan pengelolaan aplikasi berbasis kontainer di seluruh infrastruktur di lokasi dan cloud publik utama (Google Cloud Platform dan AWS sekarang, dengan dukungan Azure dalam perjalanan). Anthos menggabungkan GKE untuk beban kerja cloud, GKE On-Prem, dan konsol Anthos Config Management, yang memungkinkan administrasi, kebijakan, dan keamanan terpusat di seluruh penerapan Kubernetes hybrid dan multicloud.

Selain dari vendor cloud “tiga besar”, vendor termasuk IBM / Red Hat, VMware, SUSE / Rancher, Canonical, D2iQ (sebelumnya Mesosphere), Rackspace, Oracle, HPE, Alibaba, Huawei, dan Tencent semuanya memiliki beberapa rasa dari Opsi CaaS. Sejumlah dari penawaran ini dapat diterapkan secara lokal, di cloud publik, atau keduanya. 

Platform mana yang terbaik?

Rumah analis industri, Gartner, tidak memiliki kuadran ajaib untuk penyedia CaaS, tetapi dalam laporan Competitive Landscape: Public Cloud Container Services terbaru oleh Wataru Katsurashima, ini mengidentifikasi Google GKE sebagai opsi Kubernetes terkelola terkemuka.

Analis di Forrester menempatkan AWS di posisi terdepan dari New Wave for Public Cloud Enterprise Container Platforms, pada Q3 2019, dengan Microsoft dan Google di belakangnya. Perlu dicatat bahwa laporan Forrester hanya menyumbang tujuh vendor dan sangat terfokus pada penerapan cloud publik.

AWS “memimpin paket dengan opsi penerapan, keamanan, dan integrasi mendalam,” menurut penulis Forrester, Dave Bartoletti dan Charlie Dai. “Dengan berbagai pilihan konsumsi Kubernetes (K8s) yang terkelola sepenuhnya (dan tanpa server), dan sebagian besar container yang diterapkan langsung ke infrastruktur cloud-nya, AWS terus berinovasi dan sangat mengintegrasikan platform containernya dengan fitur keamanan dan jaringan terdepan.”

Laporan Forrester mendesak Microsoft dan Google untuk menyederhanakan platform kontainer mereka. Microsoft dipuji karena pengalaman pengembang dan jangkauan globalnya yang lebih kuat, tetapi terbentur karena kerumitannya - yang merupakan pengulangan umum dalam laporan tersebut. Google memenangkan pujian atas keahlian Kubernetes yang mendalam dan upayanya untuk melintasi lingkungan multicloud, tetapi juga dikritik karena kerumitannya. 

Meski begitu, AWS EKS tetap menjadi platform manajemen kontainer yang paling umum digunakan, menurut Survei CNCF 2019, dengan GKE, Docker EE / CE, dan AKS tertinggal di belakang.

Laporan Keadaan Cloud 2020 Flexera menetapkan penggunaan AWS EKS / ECS oleh perusahaan sebesar 55 persen, dengan 23 persen responden perusahaan lainnya berencana untuk menggunakan opsi CaaS ini di masa mendatang. Adopsi Layanan Azure Kubernetes mencapai 50 persen, dengan 26 persen lainnya berencana menggunakan AKS di masa mendatang. Dan Google Kubernetes Engine mencapai 26 persen, dengan 27 persen responden perusahaan berencana menggunakan GKS. Namun, Kubernetes yang dikelola sendiri masih melampaui semua opsi di 63 persen responden perusahaan, menurut laporan Flexera.

Sumber daya lainnya

Sumber utama informasi tentang CaaS adalah vendor itu sendiri, sehingga sulit untuk membuat pilihan yang terinformasi dan tidak bias. Seperti yang dijelaskan di atas, Forrester dan Gartner telah melakukan penyelaman mendalam ke lanskap, tetapi lensa mereka biasanya pada vendor mana yang menonjol, daripada bagaimana mempercepat CaaS dalam produksi.

Masih belum banyak buku tentang topik tersebut, tetapi Buku Pegangan Arsitek Perangkat Lunak dari O'Reilly memberikan gambaran yang bagus.

Akhirnya, Docker telah menjadi pusat pengelolaan kontainer dan kontainer selama bertahun-tahun, dan perusahaan memiliki beberapa konten video yang bagus tentang topik tersebut, termasuk sesi ini dengan anggota staf teknis, Patrick Chanezon, dan tinjauan umum ini dari Sandor Klein, wakil presiden untuk Eropa , Timur Tengah dan Afrika.