Dari hiburan hingga keamanan, otomatisasi sekarang ada di mana-mana. Perangkat pintar mengubah rumah kita sekaligus memperkaya hidup kita, menjadikannya lebih efisien, produktif, dan ramah lingkungan.
Sebagian besar perangkat yang disematkan menjalankan Linux, dan jumlahnya terus bertambah. Saat kita memasuki dunia di mana rumah kita dipenuhi dengan perangkat yang menyimpan informasi pribadi dan memiliki kamera serta mikrofon yang terpasang di dalamnya, penting untuk merayakan peran perangkat lunak gratis dalam memungkinkan revolusi semacam itu. Meskipun kami sangat percaya pada kekuatan open source untuk melepaskan kreativitas, kesuksesan besar ini membawa tanggung jawab mendalam bagi komunitas Linux.
Sistem tertanam yang lebih lama sebagian besar tidak terhubung, dan pembaruan manual paling banyak menyertakan perbaikan kinerja. Gelombang baru perangkat terhubung ke Internet, memungkinkan peretas untuk mengeksploitasi potensi bug. Apakah paradigma saat ini mampu memberikan pembaruan perangkat lunak yang andal ke perangkat Linux yang berdaya rendah, tidak dapat diakses, dan sering disematkan dari jarak jauh?
Mekanisme pembaruan lama tidak cocok untuk perangkat IoT
Sebagian besar pembaruan mengandalkan tarball dan skrip shell, yang paralel dengan evolusi distribusi Linux awal dengan paket-paket dalam tarball bebas ketergantungan. Pembaruan skrip tidak kuat karena tidak memiliki atom dan tidak dapat memperbarui kernel dalam memori flash mentah. [1].
Alat modern dan manajer paket seperti dpkg dan RPM memecahkan beberapa masalah dengan menyertakan satu set dependensi yang lengkap, tetapi tetap menyediakan pembaruan non-atomik dan inkremental. Manajer paket biasanya mengganti file dan binari yang ada pada sistem, seringkali dalam rantai panjang yang saling bergantung yang dapat menonaktifkan perangkat yang diperbarui. Versi berdasarkan paket kerajinan tangan berisiko ketidakcocokan sistem jika memerlukan skrip pra/pasca-instal khusus. [2].
Saat Anda perlu kembali ke perangkat lunak sebelumnya, mengunduh versi lama dari repositori paket dan menginstalnya pada sistem yang rusak mungkin memerlukan serangkaian skrip kompleks dari pengelola paket. Pengembang sering mendapatkan versi yang lebih baru atau lebih lama dari paket dependen untuk memecahkan masalah dependensi pustaka yang diinstal pada perangkat lunak tertentu, berpotensi merusak kompatibilitas lebih lanjut dan mendorong masalah ke kumpulan paket lain. [3].
Selain itu, sementara pembaruan apt-get berfungsi dengan baik untuk server di lingkungan yang aman, pemadaman listrik dan jaringan yang terputus-putus untuk perangkat di lapangan berarti pembaruan kemungkinan akan terganggu. Baik karena bug perangkat lunak, pemadaman listrik, atau masalah sistem file, sistem mungkin menjadi tidak kompatibel dan memerlukan intervensi manual yang mahal dan ahli untuk memulihkannya.
Juga, seperti yang telah kita bahas di Bagian 4 seri ini, inovasi IoT generasi berikutnya bergerak sangat cepat dibandingkan dengan kecepatan peluncuran distribusi Linux standar.
Pertimbangan utama untuk pembaruan OTA
Perangkat IoT memerlukan mekanisme distribusi perangkat lunak tingkat produksi yang kuat yang mampu memberikan pembaruan over-the-air (OTA) tanpa pengawasan. Pembaruan OTA tidak hanya diperlukan untuk menjaga perangkat tetap aman di lapangan dengan memperbaiki bug, tetapi juga untuk menerapkan fitur baru untuk meningkatkan kinerja.
Membangun mekanisme pengambilan pembaruan yang aman dan infrastruktur yang dapat diskalakan untuk OTA sangat mahal dan memakan waktu. Selain itu, pembaru harus memenuhi beberapa persyaratan agar efektif dalam skala besar. Pertama, sifat jauh dari banyak perangkat yang disematkan berarti:
- Mereka harus memutar kembali jika ada pembaruan yang salah
- Layanan harus menyediakan pembaruan yang kuat dan otomatis
- Sistem harus memiliki redundansi yang cukup untuk menangani penyediaan ulang dan bootstrap yang berdiri sendiri tanpa jaringan.
Memberikan pembaruan penting juga penting, karena perangkat mungkin memerlukan perbaikan bug dan patch kerentanan yang mendesak di luar kecepatan pembaruan normal. Selain itu, pembaruan tanpa pengawasan harus bersifat atomik untuk menghindari membuat perangkat tidak dapat digunakan dan harus mempertahankan data pengguna.
Memecahkan tantangan memperbarui perangkat lunak untuk perangkat IoT
Di Canonical, kami tahu bahwa kami berdiri di atas bahu para raksasa dalam hal membuat Ubuntu. Kami sekarang meningkatkan standar untuk apa yang mungkin terjadi di dunia perangkat lunak gratis, sambil memberikannya dengan keamanan yang luar biasa.
Dengan Ubuntu Core, kami telah membangun versi Ubuntu yang paling ringan dan paling aman untuk perangkat IoT. Karena Ubuntu Core adalah pilihan terbaik dari Linux yang disematkan oleh para inovator, kami berkomitmen untuk menjaganya tetap aman dengan mengirimkan pembaruan OTA nol hari secara otomatis.
Mekanisme pembaruan Ubuntu Core lebih cepat, lebih efisien, dan lebih andal daripada pendekatan berbasis paket tradisional untuk perangkat IoT. Ubuntu Core memungkinkan pembaruan transaksi atom pada sistem. Kernel, rootfs, dan aplikasi apa pun di atas semuanya diperbarui secara transaksional, memungkinkan pembaruan yang lebih cepat dan lebih andal.
Sistem mencoba menerapkan perbedaan delta OTA untuk menghemat bandwidth. Ini bergerak maju pada keberhasilan atau secara otomatis mundur pada kegagalan. Ubuntu Core mengurangi kerusakan data yang disebabkan oleh perubahan saat pembaruan aplikasi gagal. Ini mempertahankan data asli sebelum peningkatan dan memungkinkan pengembalian yang mulus jika diperlukan. Tidak seperti manajer paket alternatif atau lebih tradisional, pembaruan yang gagal tidak pernah meninggalkan sistem dalam keadaan yang tidak terduga.
Selain itu, dengan setiap rilis perangkat lunak, pengembang dapat menggabungkan semua kebutuhan perangkat IoT mereka ke dalam satu paket, menghilangkan risiko ketergantungan.
Dari perangkat terkecil hingga server x86 terberat, pengembang kini dapat membuat prototipe, membangun, dan mengirimkan perangkat siap produksi yang secara otomatis memperbarui diri ke versi terbaru. Dengan semua perbaikan keamanan yang Anda harapkan dari Ubuntu. Ubuntu Core dan mekanisme pembaruan OTA yang kuat memungkinkan generasi berikutnya dari perangkat IoT yang aman, terbuka, dan dapat diperluas, mulai dari dekoder dan hub rumah hingga robot dan drone, melepaskan gelombang kreativitas dan inovasi baru.
Baca lebih banyak
Mengapa Linux menjadi sistem operasi pilihan untuk perangkat IoT? Lihat panduan resmi Linux untuk aplikasi yang disematkan.
Bekerja pada proyek IoT baru, tetapi tidak yakin sistem operasi mana yang harus dipilih? Pelajari tentang kompromi antara Yocto dan Ubuntu Core.
Untuk informasi lebih lanjut, baca buku putih kami tentang manajemen siklus hidup IoT.
Bergabunglah dengan Wacana IoT untuk membahas semua hal tentang IoT dan perangkat tertanam yang terhubung.