IoT project lifecycle – long-term support for IoT devices [Part III]
How long will you support your device? Long-term support for IoT is a simple but difficult question for many device manufacturers.
If you are developing a smart home device, a mobile robot for hospitality, or the next iron man jetpack, you need to consider how long you will support the device on the market. This will have implications on your operational expenses, team resources and customer satisfaction. Simply put, the longer you support your device, the happier your user will be. But the more expensive it will be for you.
What does this mean for your company in practice? And what are the costs associated with it? Let’s have a look!
Defining your software’s long-term support for IoT
Have you ever wondered what LTS stands for? Every time there is a new Ubuntu release, take 22.04 as an example, we add LTS at the end of it; “Ubuntu 22.04 LTS”. LTS stands for long-term support. It means that this specific distribution, 22.04, will be supported for our long-term period of 5 years.
During those 5 years, Canonical supports packages on the Ubuntu Main repository of that distribution, providing regular updates for bug fixes and security flaws while keeping things running smoothly. This is known as the software support window.
To do this, we have set up the correct infrastructure and teams. For instance, our security team is always on the lookout for new CVEs that could impact our software. Remember the log4j vulnerability? Despite the Christmas holidays, our team was working on investigating if this threat could affect any of our users.
As you can see, if you are shipping software on your device, having a security support window is something you cannot miss. It’s likely to take some bandwidth from your organisation. But it is the only way to keep a device secure and a customer happy for your entire device lifecycle
The cost behind long-term support for IoT
The reality is that maintenance is hard – especially for device companies that don’t have the knowledge or experience in software or security maintenance. Either you build those skills in-house, or you hire someone.
In the end, having a dedicated software developer for maintaining software will cost around $25 to $120 per hour (1). You will always be patching bugs from your code. You will also need to apply new features and functionalities. Therefore, you cannot avoid this expense.
Development of Software maintenance costs as percentage of total cost [Floris and Harald, 2010] Software maintenance cost is increasingly growing and estimates showed that about 90% of software life cost is related to its maintenance phase..
But recurring costs will come from applying security patches and bug fixes to software that is not yours. You have to remember that your code is likely made up of several packages, libraries and debs from third parties. Studies have shown that approximately 70% of the time developers spend on maintaining code is actually spent trying to understand the code that they are working to maintain.
Take for instance a robotics application using ROS, a well-known middleware for the development of robots that accelerates your development time. You use Ubuntu as your OS, and to develop your app, some other packages from Ubuntu Universe (community-maintained software). Your whole software stack could look like this:
So, as you can see, thousands of packages in your application aren’t yours. Just in Ubuntu Main and Universe you find 30,000 packages. And while you won’t use them all, the key components are something you need.
Should you invest in the infrastructure to maintain that software?
10 years of long-term support for IoT
The length of your software support window has considerable implications. It’s a sizable investment to provide 10 years of maintenance. It’s also a guarantee of quality and security for your customers.
To help you achieve this and help you focus on maintaining your code, we developed Ubuntu Core. Each release of Ubuntu Core is supported for 10 years! Ubuntu Core is part of those 2300 debs from Main and for 10 years you don’t have to worry about maintaining components like the kernel, systemd, ssh, libc6, libssl and more!
Ubuntu Core is the Ubuntu version optimised for edge devices. As such, it comes with several benefits and features for those deploying devices. 10 years of security maintenance is one of them. Plus it’s open source! You can download it now.
No brainer right?
When you are building devices, you embark on a competitive journey. Rolling out your product as fast as possible will allow you to get to market first. But there are several factors you shouldn’t forget. Today we talked about software maintenance for your device.
The operational expenses of this activity could become a drainer for your company, as code keeps increasing with each new functionality you add to the device. Understanding others’ code will become an uncomfortable routine for your company. Going through CVEs and applying patches will become a full-time job for your full team.
So build smartly, and take decisions that will guarantee the sustainability of your device and company.
10 years of security maintenance is what you get from Ubuntu Core. 10 years of regular patching and fixes. 10 years of sleeping soundly.
- Read our whitepaper on IoT lifecycle management.
- Download our guide on the top 5 challenges in IoT and how to solve them.