Terakhir kali
kami berbicara tentang alat dan layanan yang paling populer dan dibahas untuk bekerja dengan log dan database. Topik hari ini adalah
manajemen kontainer dan penyeimbangan muatan di cloud .
/ foto Nicolas Henderson CC BY
Apache OpenWhisk adalah platform cloud terbuka untuk komputasi tanpa server. Konsep ini mengasumsikan bahwa sumber daya komputasi cloud digunakan sebagai layanan. Dengan demikian, pengembang dan administrator tidak perlu khawatir tentang infrastruktur dan pemeliharaan server. Ternyata OpenWhisk berurusan dengan skalabilitas, dukungan kode, dan masalah keamanan.
Bekerja pada OpenWhisk dimulai oleh karyawan IBM Research pada tahun 2015. Dan pada 2016, kode sumber untuk proyek
muncul di GitHub . Platform dengan cepat mendapatkan popularitas karena tren yang berkembang pesat untuk komputasi tanpa server. Pasar & Pasar
memprediksi bahwa pada tahun 2021 nilai pasar ini akan menjadi $ 7,7 miliar (dibandingkan dengan $ 2 miliar pada 2016). Sudah hari ini, selain IBM,
perusahaan seperti Adobe dan Naver (mesin pencari paling populer di Korea Selatan)
menggunakan platform dalam solusi mereka.
Keunggulan platform juga dihargai di Red Hat. Perwakilan perusahaan
percaya bahwa proyek terbuka lainnya - Fission, Kubeless, IronFunctions - lebih rendah daripada OpenWhisk dalam hal basis kode, kualitas fungsi dan jumlah kontributor. Karena itu, Red Hat sendiri bekerja dengan OpenWhisk dan membantu proyek berkembang.
Platform ini juga memiliki kekurangan. Pengguna mencatat bahwa OpenWhisk memiliki terlalu banyak alat. Ini termasuk: CouchDB, Kafka, Nginx, Redis, dan Zookeeper. Kehadiran fungsi tambahan semata bukanlah sesuatu yang buruk, hanya saja sulit untuk mengetahui semua variasi ini.
Selain itu, pada tahun 2018, reputasi OpenWhisk "
dimanjakan " oleh kerentanan yang memungkinkan penyerang mengubah fungsi pengguna dalam kondisi tertentu. Mereka
dengan cepat ditutup , tetapi pengembang
perlu memperbarui Docker atau Git tag ke versi terbaru. Oleh karena itu, jumlah pasti sistem yang tetap rentan tidak diketahui. Anda dapat membaca lebih lanjut tentang keamanan OpenWhisk
di artikel Medium . Mereka yang ingin mengenal platform lebih baik dan mencobanya harus memperhatikan
panduan dari blog James Thomas, pengembang IBM Cloud.
Ini adalah platform cloud baru untuk mengembangkan program dalam JavaScript, Python, Go
, dll. Aplikasi siap pakai dapat dijalankan di cloud apa pun, termasuk menggunakan wadah Kubernetes. Pada saat yang sama, Pulumi didasarkan pada konsep infrastruktur yang dapat diprogram (infrastruktur-sebagai-kode). Pengguna mendapatkan kesempatan untuk bekerja dengan perangkat keras sebagai kode (mengelola pengaturan perangkat keras secara terprogram).
Masih sulit untuk mengevaluasi seberapa efektif alat ini pada proyek nyata. Sejumlah warga Hacker News di utas tematik
mencatat bahwa Pulumi tidak cocok untuk mengerjakan bare metal. Plus, alat ini tidak memiliki keunggulan serius dibandingkan alat serupa seperti
Terraform , yang telah ada di pasaran selama empat tahun dan telah berhasil mendapatkan komunitas.
Jika Anda masih tertarik untuk mengevaluasi kemampuan Pulumi, panduan mulai cepat dapat ditemukan di repositori
di GitHub .
Direktur GLB adalah penyeimbang beban GitHub yang dibuka akses pengembang pada akhir musim panas lalu. Kami
berbicara tentang acara ini
di salah satu bahan blog kami .
Alat itu sendiri adalah jawaban untuk masalah yang dihadapi perusahaan. Solusi sebelumnya - haproxy -
tidak dapat menangani beban di GitHub. Saat menggunakan haproxy, Anda dapat meningkatkan skala layanan hanya secara vertikal - tambahkan prosesor, memori, sumber daya disk, yang tidak memberikan peningkatan kinerja yang nyata. Oleh karena itu, para pengembang menciptakan solusi mereka sendiri, yang disesuaikan dengan beban layanan web.
Direktur GLB tidak mengarahkan paket ke satu node, tetapi mendistribusikannya antara proxy primer dan sekunder menggunakan sistem berdasarkan hashing rendezvous ( HRW ). Jika satu server lumpuh, paket diarahkan ke server kedua. Karena ini, penyeimbang mendukung toleransi kesalahan koneksi TCP.
Pengguna Berita Peretas
percaya bahwa sulit untuk segera memahami cara bekerja dengan penyeimbang. Namun, ini efektif untuk menyeimbangkan beban di pusat data besar. Pada saat yang sama, Direktur GLB dapat merasa tidak nyaman saat menyeimbangkan beban antara server backend. Untuk tugas ini, masuk akal untuk beralih ke solusi terbuka lain - penyeimbang Facebook
Katran .
/ foto Christopher A. Dominic CC BY
Crossplane adalah platform manajemen beban multi-cloud terbuka. Ini memungkinkan Anda untuk mentransfer aplikasi antara beberapa lingkungan cloud dan tidak tergantung pada jenis cluster dan perpustakaan yang digunakan. Platform ini membantu membedakan tanggung jawab pengembang dan administrator, sambil memantau stabilitas layanan.
Arsitektur platform didasarkan pada model alokasi sumber daya yang digunakan Kubernetes. Secara umum, Crossplane adalah hibrida dari Kubernetes dan Terraform yang disebutkan di atas.
Perbedaan Crossplane adalah bahwa dalam platform ini semua file konfigurasi dikumpulkan di satu tempat. Namun,
diyakini bahwa alat baru harus digunakan bersama dengan Terraform, dan bukan sebaliknya.
Untuk berkenalan dengan platform dalam praktiknya, penulis menyarankan untuk meluncurkan aplikasi Wordpress menggunakan
panduan di blog komunitas.
Titus adalah platform manajemen kontainer Netflix, yang dirilis untuk open source tahun lalu. Hal ini memungkinkan perusahaan untuk bekerja dengan 200 ribu cluster komputasi setiap hari. Solusinya didasarkan pada sistem manajemen
Apache Mesos , yang menggabungkan mesin virtual menjadi satu cluster. Pendekatan serupa digunakan dalam kernel Linux ketika perlu berbagi sumber daya perangkat keras antara proses lokal.
Diyakini bahwa penemuan kode adalah upaya Netflix untuk menjaga proyek tetap bertahan. Netflix membutuhkan solusi manajemen kontainer sebelum Kubernetes tiba. Oleh karena itu, sistem mereka hampir tidak memiliki kelebihan dibandingkan alat Google (hanya perusahaan yang sudah bekerja dengan Apache Mesos yang dapat memperoleh manfaat). Ini dikembangkan kemudian dan ditujukan untuk lingkungan multi-cloud, sehingga komunitas besar telah terbentuk di sekitarnya.
Dalam hal ini, ada kemungkinan bahwa di masa depan pengembang Netflix sendiri akan meninggalkan Titus dan beralih ke Kubernetes.
Lain kali kita akan terus berbicara tentang alat open source yang populer. Mari kita bicara tentang solusi yang menyederhanakan tugas pengembang perangkat lunak.
Materi dari blog perusahaan kami:
Bacaan tambahan di saluran Telegram kami: