I have an architectural question…
I am building simple appliance. The appliance can be connected to a LAN and will forward any IP traffic to it over a VPN tunnel to a VPN server/Firewall/Router (currently pfSense). This enables a wide variety of remote monitoring and security use cases.
I have all the functionality working today on heavily customised Raspbian, using a combination of shell scripts and Python.
To make the appliance easier to support and deploy I intend moving to Ubuntu Core and use a snap app to provide the forwarding and management functions.
Is it better to build all the functions (configuration management, firewall, vpn tunnelling, management channel…) into a single app (probably in Python) or to have multiple snap apps one for each function?