Do you need containers at the edge?
In the last "IoT Signals Manufacturing Spotlight" report, prepared by IoT Analytics, Microsoft and Intel Corporation, we can read: "IT tools such as containers are making their way onto edge hardware and into factories."
Respondents said they are using containers for 26% of applications in on-premises data centers. They expect this to increase to 39% in the next three years. When it comes to deployments on industrial PCs/gateways there will be increase from 24% to 35%.
It could look like a big jump, by 50% for on premise and by 46% for industrial PCs/gateways. However in absolute numbers it's not that big. Containers (Docker containers) are on the market since 2013, so about 10 years.
Why the rate is not so high?
We could look at another report prepared by Flexera. "State of the cloud report 2022" report contains a summary of top container-related challenges for all organizations. If you sum up answers "very much of a challenge" and "somewhat of a challenge" for containers deploymentys here are the challenges: - Lack of internal staff with expertise - 81% of respondents - Ensuring security - 78% of respondents - Migrating traditional applications to containers - 77% of respondents - Managing containerized environments - 76% of respondents So more than 3/4 of people confirmed above 4 issues as important.
So the question arise: Do you need containers to address your business needs at the edge?
Undisputed fact is edge environment is different to the public cloud or big, central data center. You have different requirements, not only in the technology space, but also in security, compliance, manageability, dynamics of the environment, etc.
For example separation and isolation. While it could be a must in public cloud, is it of such big importance when on-premises, on your edge gateway? You as a customer have ownership and control over the device, you know what's deployed there. Do you need to isolate all applications there like if they were in public, shared infrastructure? The other advantage of containers is portability - they can run anywhere. However in the edge the "anywhere" has much narrow meaning.
Some other advertised advantages of containers like scalability or resource efficiency are not unique, such capabilities can be achieved without containers.
So before you make a decision, because "whole world uses containers", think about alternative approaches for your edge deployments, which may lead to the same result, but simpler and at lower cost.