Perhaps Scaleway would be an interesting place to host MirageOS services. I haven’t tried doing so myself, but you can get some kind of bare-metal and cloud combination (essentially you can pay for it by the hour, i.e. if you shut it off you don’t pay for compute, just for storage, etc. and you could use that to scale up/down), and then you can try to run your choice of hypervisor as bare metal and boot MirageOS unikernels. (I’ve used them in the past to run some Linux code, but that was so long ago that their offering seems to have changed substantially since then. I)
Although if you never used unikernels before I’d suggest to run MirageOS in Unix mode first. Then you can use familiar tools like strace, gdb, and perf to debug your code. Once you are reasonably happy with how it works you can deploy it in unikernel mode.
Before putting anything on the Internet check that it has proper authentication (or it is entirely readonly), and that it can scale with large number of visitors (there are various load-testing tools you can run locally, prior to deployment).
For building a web service Dream — Tidy, feature-complete web framework (and it appears to have a dream-mirage package) looks promising, whether you use MirageOS or not.
Finally a production deployment should probably use something like haproxy, a DNS based round-robin, or something like Cloudflare just in case one server goes down (even if its OCaml code would run perfectly hardware or networking can always fail!) to allow another server to take over, or just in general for load-balancing.