My .02 on this -
I worked on an operations team for several years at a high-volume app performance monitoring company (you can look me up online if you want to know which one - I don't want to put the name here to stay off of Google). We monitor almost a billion app-instances across xx million mobile devices globally. A few suggestions on the ops side:
You aren't going to save any money, and you certainly aren't going to save time, racking your own servers. Just go to AWS, doing a hot-cutover is extremely difficult to do without downtime even for pros, and it's not value-added work - try to avoid it. Even better: find a PaaS provider that will run all your infrastructure components (e.g. mosquitto) and pay them to do it. PaaS might be more expensive upfront, but the sheer hassle of wearing the pager, dealing with power supply failures, designing a network topology, physically racking the machines, and driving to datacenters isn't something you need to do.
50 messages/hr isn't going to break even a small server, hell you could probably run that on an EC2 t1.micro (an instance type so small they don't even make them anymore) without a problem.
Email me off-list if you want more advice, I'd love to hear more about what you're doing.
DA