I use uptime robot http://uptimerobot.com for monitoring, they have a free plan or paid if you want faster checks.
If it's truly critical to have no down time then you probably need to build that resilience in to your architecture.
If it's truly critical to have no down time then you probably need to build that resilience in to your architecture.
Using serverless, PaaS like Heroku or similar will help.