There are plenty of Raspberry Pi based projects, running thousands of products all over the world.
Time to read:
There are plenty of Raspberry Pi based projects, running thousands of products all over the world. Most of the time, those products are connected to the internet for 2 main reasons: 1. Maintenance: saving the product from a recall by deploying OTA updates (over the air software updates) and remotely manage the product fleet. 2. DATA: not less important, receive important data to get additional value and improve the product in the future.
Deploying OTA updates to Raspberry Pis might help us to keep our production devices stable and secure, running with the last version of our application. OTA updates tool, bring back the confidence in deploying a Raspberry Pi based product to production extremely fast.
What do we need to know when deploying an OTA update to Raspberry Pi?
Today's OTA updates have to be small, lightweight, and fast. The idea is to keep the Raspberry Pi with zero downtime (it is possible!), without a reboot or any other interference.
For example, in the case of thousands of devices, running with python code as a service. The clean and lightweight way to deploy an OTA update is: stop the app service, replace the app files with a few new files, and start the app service again. In some cases, we would even just want to run a Bash command which doesn't related to the running app, and can be deployed even when the device application is running.
How to deploy OTA updates to a fleet of Raspberry Pis?
Here at Upswift.io, we provide a lightweight, fast, and easy to use OTA update functionality that can help you to deploy software updates to Raspberry Pi's, at any scale, at once. After connecting your device to Upswift platform, you will be able to view your Raspberry Pis under the 'Devices' category and start to deploy updates easily.
To deploy an update, we can use the micro update tool or the container update tool. In this guide, we will focus on the Micro update guidelines. The Micro update system is based on a small recipe that includes the needed files, Bash commands, and packages we would like to deploy.
How can we ensure the update worked?
After deploying the update on the Raspberry Pi, Upswift Agent will automatically deploy the update and return the result of the update - Succeed or Fail. In case of failure, and as part of the deployed recipe, a rollback mechanism will get into action automatically to make sure things getting back to normal.
Deploy and update to thousands of devices at once
The best way to deploy a software update to a fleet of Raspberry Pi is to split the devices into 2 groups. Test group - includes one or a few test/lab devices. Production group - includes the whole fleet of our raspberry Pis that runs out there in the filed. When the moment is coming, and you would like to deploy a new update, the best practice is to deploy the update first on the test group, then check and make sure all worked as expected.
The next stage is simple. All we need to do is to deploy the same OTA update on the production group. This can be done by going to the 'Recent updates' and click on 'deploy on others' to deploy the same update on the production group.
Join Upswift.io today and start to manage, update and control your Raspberry Pi fleet easily.