Penerapan Mekanisme Continuous Deployment dalam Pengembangan dan Pembaruan Perangkat Lunak Sistem Benam Berbasis Internet of Things

Penulis

  • Yohanna Fransiska Aladina Universitas Brawijaya, Malang
  • Adhitya Bhawiyuga Universitas Brawijaya, Malang
  • Reza Andria Siregar Universitas Brawijaya, Malang
  • Primantara Hari Trisnawan Universitas Brawijaya, Malang

DOI:

https://doi.org/10.25126/jtiik.2022935750

Abstrak

Sebuah sistem berbasis Internet of Things (IoT) umumnya terdiri atas perangkat sistem benam yang saling terhubung antara satu dengan lainnya melalui jaringan internet. Jumlah perangkat IoT selalu bertambah. Namun selama ini, proses pembaruan perangkat IoT memiliki permasalahan yang serius terkait biaya dan waktu, yaitu ketika hendak melakukan pembaruan software, manusia harus datang secara langsung ke lokasi di mana perangkat IoT tersebut berada. Dari permasalahan tersebut, maka dibuatlah penelitian ini mengenai pembaruan software pada perangkat IoT menggunakan continuous deployment yang dilakukan di cloud. Continuous deployment adalah proses penyebaran berkelanjutan pada software yang memanfaatkan proses otomatisasi yang dilakukan dari awal hingga akhir berjalan secara otomatis tanpa adanya campur tangan manusia. Proses ini memberikan dampak positif yang signifikan karena hanya dengan menjalankan automated script, lalu semuanya bisa berjalan dengan lancar sesuai apa yang diharapkan. Implementasinya dilakukan menggunakan text editor yaitu Visual Studio Code, code repository yaitu GitHub, layanan cloud bernama Amazon Web Services (AWS), tiga buah ESP32 sebagai perangkat IoT, dan Jenkins sebagai tools untuk continuous deployment yang menjadi penghubung pada pendistrubusian code dari GitHub ke layanan-layanan yang dipilih di AWS untuk mendukung proses continuous deployment. Hasil dari pengujiannya menunjukkan bahwa layanan-layanan pada AWS dapat saling terhubung serta dapat terintegrasi dengan Jenkins dan ESP32, sehingga dapat melakukan pembaruan code dari GitHub ke tiga buah ESP32 dengan proses otomatisasi sepenuhnya. Waktu rata-rata yang dibutuhkan untuk melakukan pembaruan hanyalah 63.5 detik. Berdasarkan hasil pengujian tersebut, solusi ini dapat menjadi jawaban dari permasalahan pembaruan software perangkat IoT yang selama ini masih dilakukan secara manual.



Abstract

An Internet of Things (IoT)-based system generally consists of embedded system devices connected through the internet network. The number of IoT devices is always growing. But so far, the process of updating IoT devices has serious problems related to cost and time, namely, when they want to update software, humans must come directly to the location where the IoT device is located. This research on software updates on IoT devices using continuous deployment is carried out in the cloud from these problems. Continuous deployment is a continuous deployment process on software that utilizes an automation process carried out from start to finish running automatically without any human intervention. This process has a significant positive impact because only by running the automated script, then can everything run smoothly as expected. The implementation is carried out using a text editor, namely Visual Studio Code, a code repository, namely GitHub, a cloud service called Amazon Web Services (AWS), three ESP32s as IoT devices, and Jenkins as tools for continuous deployment that serve as a liaison for code distribution from GitHub to other services. Services selected on AWS to support the continuous deployment process. The test results show that services on AWS can be interconnected and integrated with Jenkins and ESP32 so that they can update code from GitHub to three ESP32s with a fully automated process. The average time it takes to perform an update is only 63.5 seconds. Based on the results of these tests, this solution can answer the problem of updating IoT device software which is still done manually.

Downloads

Download data is not yet available.

Referensi

BUI, NGOC HAI., PHAM, CHUAN., NGUYEN, KIM KHOA. & CHERIET, MOHAMED., 2019. Energy Efficient Scheduling for Networked IoT Device Software Update. Canada: IEEE.

GRGIC, KRESIMIR., SPEH, IVAN. & HEDI, IVAN., 2016. A Web-based IoT Solution for Monitoring Data Using MQTT Protocol. Osijek: IEEE.

GUSEILA, LIGIA GEORGETA., BRATU, DRAGOS-VASILE. & MORARU, SORIN-AUREL., 2019. Continuous Testing in the Development of IoT Applications. Lisbon: IEEE.

HERNANDEZ-RAMOS, JOSE L., BALDINI GIANMARCO, MATHEU., SARA N. & SKARMETA, ANTONIO., 2020. Updating IoT devices: challenges and potential approaches. Dublin: IEEE.

KIM, DAE-YOUNG., KIM, SEOKHOON. & PARK, JONG HYUK., 2018. Remote Software Update in Trusted Connection of Long Range IoT Networking Integrated with Mobile Edge Cloud. South Korea: IEEE.

KOTAS, CHARLOTTE., NAUGHTON, THOMAS. & IMAM, NEENA., 2018. A Comparison of Amazon Web Services and Microsoft Azure Cloud Platforms for High Performance Computing. Las Vegas: IEEE.

LAROCHE, THOMAS., DENIS, PIERRE., PARISIS, PAUL., GEORGE, DAMIEN., DE LA LIANA, DAVID SANCHEZ. & TSIODRAS, THANASSIS., 2018. MicroPython Virtual Machine for On Board Control Procedures. Belgium: Micropython.

MEHTA, AMARDEEP., BADDOUR, RAMI., SVENSSON, FREDRIK., GUSTAFSSON, HARALD. & ELMROTH, ERIK., 2017 Calvin Constrained – A Framework for IoT Applications in Heterogeneous Environments. Atlanta: IEEE.

MYSARI, SRINIKETAN. & BEJGAM, VAIBHAV., 2020. Continuous Integration and Continuous Deployment Pipeline Automation Using Jenkins Ansible. India: IEEE.

NIST., 2011. Final Version of NIST Cloud Computing Definition Published. [Online] tersedia di <https://www.nist.gov/news-events/news/2011/10/final-version-nist-cloud-computing-definition-published> [Diakses 1 September 2020].

NIU, NAN., BRINKKEMPER, SJAAK., FRANCH, XAVIER., PARTANEN, JARI. & SAVOLAINEN, JUHA., 2018. Requirements Engineering and Continuous Deployment. Ohio: IEEE.

SHAHIN, MOJTABA., BABAR, MUHAMMAD ALI. & ZHU, LIMING., 2017. Continuous Integration, Delivery, and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices. Australia: IEEE.

SWEDHA, K. & DUBEY, TANUJA., 2018. Analysis of Web Authentication Methods Using Amazon Web Services. Bengaluru: IEEE.

VASILESCU, BOGDAN., YU, YUE., WANG, HUAIMIN., DEVANBU, PREMKUMAR. & FILKOV, VLADIMIR., 2015. Quality and Productivity Outcomes Relating to Continuous Integration in GitHub. Davis: ACM.

ZHANG, CHI., AHN, WONSUN., ZHANG, YOUTAO. & CHILDERS, BRUCE R., 2016. Live Code Update for IoT Devices in Energy Harvesting Environments. South Korea: IEEE.

Diterbitkan

20-06-2022

Terbitan

Bagian

Ilmu Komputer

Cara Mengutip

Penerapan Mekanisme Continuous Deployment dalam Pengembangan dan Pembaruan Perangkat Lunak Sistem Benam Berbasis Internet of Things. (2022). Jurnal Teknologi Informasi Dan Ilmu Komputer, 9(3), 647-654. https://doi.org/10.25126/jtiik.2022935750