Emphasis on "a bit," it truly is a simple task to automate. I don't think that anyone who has need for dynamic DNS should realistically have much trouble tackling that problem.
For anyone who might attempt this and isn't sure how, here's what you need. You need a service controlling your domain with API support for updating your DNS records - some have been mentioned here, I just use gandi.net. You need to enable the API for your account/domain. Figure out how to run the command you need against the API from a scripting language of your choice - there should be documentation for the API, and it should be a single API call. Figure out how to determine your server IP from within the same scripting language. Then, write your simple script that determines the right IP and updates the record if it doesn't match.
All you need to do then is automate running the script - on Linux, a cron job or a systemd service and timer.