In the context of a home gateway, this architecture allows for the essential core gateway software to run in its own container. The system can then introduce additional containers for smart home services, each of which is secure and isolated from every other service, all of which believe they are running natively on the hardware. This means that services can use disparate operating systems, whichever are appropriate. They no longer have to use a common kernel or driver set, so can be running different versions of Linux if necessary; alternatively one or more services might employ a real-time operating system (RTOS). These can each run alongside the existing services unaltered with no requirement to port them to a common operating system.