Dalam beberapa tahun terakhir, teknologi pembaruan sistem (OTA) telah menjadi sangat populer dalam pengembangan perangkat lunak. Salah satu contoh implementasi yang bagus adalah mekanisme pembaruan A/B OTA yang digunakan oleh Android Open Source Project (AOSP). Dalam artikel ini, kita akan membahas tentang kelebihan dan kekurangan dari teknologi ini.
Mekanisme pembaruan A/B OTA memungkinkan perangkat untuk menerima dua versi firmware yang berbeda: A dan B. Ketika sistem berjalan, salah satu versi tersebut akan diaktifkan secara otomatis setelah reboot. Hal ini memungkinkan pengembang untuk menguji dua versi firmware sebelumnya tanpa harus mengganggu pekerjaan pengguna.
Kelebihan dari mekanisme pembaruan A/B OTA adalah sebagai berikut:
- Pembaruan sistem berlangsung di latar belakang tanpa mengganggu pekerjaan pengguna. Ya, Anda masih perlu reboot (ke slot baru), tetapi akan lebih cepat daripada reboot dalam pemulihan untuk menerapkan pembaruan;
- Probabilitas boot loop diminimalkan (tidak ada yang kebal dari kesalahan dalam implementasi). Proses pembaruan dapat terputus, ini tidak akan memengaruhi slot aktif dengan cara apa pun;
- Menjadi mungkin untuk melakukan rollback ke versi firmware sebelumnya. Meskipun karena alasan tertentu pembaruan tidak berhasil, sistem akan kembali ke versi lama;
- Berkat streaming, perangkat akan diperbarui lebih cepat;
- Bergantung pada implementasinya, Anda dapat sepenuhnya mengecualikan pengguna dari proses pembaruan.
Namun, ada juga beberapa kekurangan yang harus dihadapi:
- A/B OTA menjadi tergantung pada tata letak disk saat ini, karena pembaruan terjadi saat sistem berjalan. Artinya, mustahil untuk menggulung pembaruan dengan partisi yang diubah;
- Kompleksitas relatif dari implementasi.
Walau demikian, kelebihan dari mekanisme pembaruan A/B OTA jelas lebih penting daripada kekurangan. Oleh karena itu, kita dapat menggunakan teknologi ini untuk memperbarui sistem perangkat lunak dengan cara yang lebih cepat dan lebih aman.
Ternyata, tidak hanya AOSP yang menggunakan teknologi ini, namun juga beberapa vendor lainnya telah mengadopsi mekanisme pembaruan A/B OTA sebagai bagian dari strategi pengembangan perangkat lunak mereka.