Bagaimana cetak biru IBM untuk transformasi industri memanfaatkan AI, 5G, dan kolaborasi
Aplikasi berkembang biak, kompleksitas cloud meledak, dan Kubernetes berlaku sebagai fondasi untuk penerapan aplikasi di cloud. Itu terdengar seperti tugas pengoptimalan yang matang untuk pembelajaran mesin, dan StormForge bertindak atas itu.
Cloud telah menjadi standar de facto untuk penerapan aplikasi. Kubernetes telah menjadi standar de facto untuk penerapan aplikasi. Menyetel aplikasi yang diterapkan secara optimal di Kubernetes adalah target yang bergerak, dan itu berarti aplikasi mungkin berkinerja buruk, atau pengeluaran berlebihan. Bisakah masalah itu diselesaikan dengan menggunakan otomatisasi?
Itu pertanyaan yang sangat masuk akal untuk ditanyakan, pertanyaan yang juga ditanyakan orang lain. Karena Kubernetes berkembang dan menjadi lebih kompleks dengan setiap iterasi, dan opsi untuk penerapan di cloud semakin berkembang, penyempurnaan penerapan dan operasi aplikasi menjadi semakin sulit. Itu kabar buruknya.
Kabar baiknya adalah, kita sekarang telah mencapai titik di mana Kubernetes telah ada untuk sementara waktu, dan banyak aplikasi telah menggunakannya sepanjang masa pakainya. Itu berarti ada kumpulan pengetahuan - dan yang terpenting, data - yang telah terakumulasi. Artinya, pada gilirannya, adalah bahwa seharusnya dimungkinkan untuk menggunakan pembelajaran mesin untuk mengoptimalkan penerapan aplikasi di Kubernetes.
StormForge telah melakukannya sejak 2016. Sejauh ini, mereka telah menargetkan lingkungan pra-penerapan. Sampai hari ini, mereka juga menargetkan Kubernetes dalam produksi. Kami bertemu dengan CEO dan Pendiri Matt Provo untuk membahas seluk beluk penawaran StormForge.
Mengoptimalkan Kubernetes dengan pembelajaran mesin
Ketika Provo mendirikan StormForge pada tahun 2016 setelah lama bertugas sebagai manajer produk di Apple, tujuannya adalah untuk mengoptimalkan bagaimana listrik dikonsumsi dalam HVAC besar dan peralatan manufaktur, menggunakan pembelajaran mesin. Perusahaan menggunakan Docker untuk penerapannya, dan di beberapa titik di akhir 2018 mereka mengangkat dan beralih ke Kubernetes. Ini adalah saat mereka menemukan kasus penggunaan yang sempurna untuk kompetensi inti mereka, seperti yang dikatakan Provo.
Satu pivot, satu akuisisi, pendanaan $68 juta, dan banyak klien kemudian, StormForge hari ini mengumumkan Optimize Live, ekstensi terbaru untuk platformnya. Platform ini menggunakan pembelajaran mesin untuk secara cerdas dan otomatis meningkatkan kinerja aplikasi dan efisiensi biaya di lingkungan produksi Cloud Native.
Hal pertama yang perlu diperhatikan adalah bahwa platform StormForge telah melakukannya untuk lingkungan pra-produksi dan non-produksi. Idenya adalah bahwa pengguna menentukan parameter yang ingin mereka optimalkan, seperti penggunaan CPU atau memori.
Kemudian StormForge memutar versi aplikasi yang berbeda dan kembali ke opsi konfigurasi pengguna untuk menyebarkan aplikasi. StormForge mengklaim ini biasanya menghasilkan penghematan biaya antara 40% dan 60%, dan antara 30% dan 50% peningkatan kinerja.
Namun, penting untuk juga dicatat bahwa ini adalah masalah optimasi multi-tujuan. Artinya, meskipun model pembelajaran mesin StormForge akan mencoba menemukan solusi yang menyeimbangkan antara berbagai tujuan yang ditetapkan, biasanya tidak mungkin untuk mengoptimalkan semuanya secara bersamaan.
Semakin banyak parameter yang harus dioptimalkan, semakin sulit masalahnya. Biasanya pengguna menyediakan hingga 10 parameter. Apa yang dilihat StormForge, kata Provo, adalah kontinum biaya-kinerja.
Di lingkungan produksi, prosesnya serupa, tetapi dengan beberapa perbedaan penting. StormForge menyebutnya sisi pengamatan platform. Data telemetri dan observabilitas digunakan, melalui integrasi dengan solusi APM (Application Performance Monitoring) seperti Prometheus dan Datadog.
Optimize Live kemudian memberikan rekomendasi hampir real-time, dan pengguna dapat memilih untuk menerapkannya secara manual, atau menggunakan apa yang disebut Provo sebagai "atur dan lupakan". Artinya, biarkan platform memilih untuk menerapkan rekomendasi tersebut, selama ambang batas tertentu yang ditentukan pengguna terpenuhi:
"Tujuannya adalah untuk memberikan fleksibilitas yang cukup dan pengalaman pengguna yang memungkinkan pengembang sendiri untuk menentukan hal-hal yang mereka pedulikan. Ini adalah tujuan yang harus saya tinggalkan. Dan inilah tujuan saya. Dan sejak saat itu, pembelajaran mesin mulai dan mengambil alih. Kami akan menyediakan puluhan bahkan ratusan opsi konfigurasi yang memenuhi atau melampaui tujuan tersebut," kata Provo.
Garis tipis dengan Kubernetes dalam produksi
Ada garis yang sangat tipis antara belajar dan mengamati dari data produksi, dan penyetelan langsung dalam produksi, Provo melanjutkan untuk menambahkan. Ketika Anda melewati batas itu, tingkat risikonya tidak dapat dikelola dan tidak dapat dipertahankan, dan pengguna StormForge tidak akan menginginkannya -- itu adalah jawaban tegas mereka. Apa yang disajikan kepada pengguna adalah opsi untuk memilih di mana toleransi risiko mereka, dan apa yang mereka nyaman dengan sudut pandang otomatisasi.
Dalam pra-produksi, opsi konfigurasi yang berbeda untuk aplikasi diuji beban melalui perangkat lunak yang dibuat untuk tujuan ini. Pengguna dapat membawa solusi pengujian kinerja mereka sendiri, yang akan diintegrasikan oleh StormForge, atau menggunakan solusi pengujian kinerja StormForge sendiri, yang dibawa melalui akuisisi.
Mengoptimalkan penerapan aplikasi di Kubernetes adalah tujuan multi-tujuan Gambar: StormForge
Secara historis, ini telah menjadi input data terbesar StormForge untuk pembelajaran mesinnya, kata Provo. Namun, menendangnya tidaklah mudah. StormForge kaya akan bakat, tetapi miskin dalam data, seperti yang dikatakan Provo.
Untuk memulai pembelajaran mesinnya, StormForge memberikan penawaran yang sangat bagus kepada klien besar pertamanya, dengan imbalan hak untuk menggunakan data dari kasus penggunaan mereka. Itu bekerja dengan baik, dan StormForge sekarang telah membangun IP-nya di sekitar pembelajaran mesin untuk masalah pengoptimalan multi-tujuan.
Lebih khusus lagi, seputar pengoptimalan Kubernetes. Seperti yang dicatat Provo, fondasinya ada di sana, dan yang diperlukan untuk menyempurnakan setiap kasus penggunaan tertentu dan setiap parameter baru adalah beberapa menit, tanpa perlu penyesuaian manual tambahan.
Ada sedikit pembelajaran yang terjadi, tetapi secara keseluruhan, StormForge melihat ini sebagai hal yang baik. Semakin banyak skenario dan lebih banyak situasi yang dapat dihadapi platform, semakin baik kinerjanya.
Dalam skenario produksi, StormForge dalam arti bersaing dengan Kubernetes itu sendiri. Kubernetes memiliki kemampuan penskalaan otomatis, bot secara vertikal dan horizontal, dengan VPA (Vertical Pod Autoscaler) dan HPA (Horizontal Pod Autoscaler).
StormForge bekerja dengan VPA, dan berencana untuk bekerja dengan HPA juga, untuk memungkinkan apa yang disebut Provo sebagai penskalaan cerdas dua arah. StormForge mengukur pengoptimalan dan nilai yang diberikan terhadap apa yang direkomendasikan oleh VPA dan HPA untuk pengguna dalam lingkungan Kubernetes.
Bahkan dalam skenario produksi, kata Provo, mereka melihat penghematan biaya. Tidak setinggi opsi pra-produksi, tetapi masih 20% hingga 30% penghematan biaya, dan peningkatan kinerja 20% biasanya.
Provo dan StormForge melangkah lebih jauh dengan menawarkan jaminan pengurangan limbah cloud. StormForge menjamin pengurangan minimal 30% biaya sumber daya aplikasi cloud Kubernetes. Jika penghematan tidak sesuai dengan 30% yang dijanjikan, Provo akan membayar selisihnya untuk tagihan cloud Anda selama 1 bulan (hingga $50.000/pelanggan) dan menyumbangkan jumlah yang setara ke badan amal hijau pilihan Anda.
Ketika ditanya, Provo mengatakan dia tidak harus menghormati komitmen itu bahkan sekali pun hingga saat ini. Karena semakin banyak orang pindah ke cloud, dan lebih banyak sumber daya yang dikonsumsi, ada hubungan langsung dengan limbah cloud, yang juga terkait dengan jejak karbon, lanjutnya menambahkan. Provo melihat StormForge memiliki sisi yang berorientasi pada misi yang kuat.
