Software portability significantly improves the development speed and cost of connected systems by enabling communications or application code to be reused on multiple platforms. Two factors have emerged that have enabled code sharing between edge and cloud platforms: compatible virtual machines (VMs) and portable operating systems.