I recently moved all of my websites and my clients away from a shared web hosting environment to a much more flexible virtual private server hosting environment. This gave me the opportunity to pick a hosting control panel for myself and my clients who only host their websites with me. I ended up choosing Vesta Control Panel a panel that is almost as easy as cPanel and WHM to use. The really nice thing about Vesta is that it has a command line based API, meaning that if one possesses the correct BASH scripting abilities, one can make Vesta do almost anything.
The old service provider I was with had an API interface and there were a few third-party plugins that allowed the service to use a subdomain as a dynamic DNS address for a non-static IP. Since Vesta had no plugins, third-party or otherwise, that would allow it to serve as a dynamic DNS service, I decided to write my own and share it on GitHub.
This solution required a computer running Linux on the network with the dynamic IP address. In my case, I used a Raspberry Pi.