Odoo.sh is a PaaS environment that makes hosting Odoo significantly easier. Still, there are a few things worth keeping in mind so you don't end up with server problems.
Odoo.sh and managing your Odoo version
I really like working in the Odoo.sh environment. It's a simple layer on top of the server, but it makes version management, deploying code changes, and even major version migrations a lot simpler. As a platform, Odoo.sh lets you choose which version of Odoo your instance runs on (within a given major version). It's a Platform-as-a-Service setup - and as part of that, you can enable automatic updates for patch versions. Which raises the question: is that actually worth doing?
Automatic version updates on Odoo.sh
New changes land in the Odoo and Odoo Enterprise repositories practically every few minutes. Odoo uses semantic versioning, and only patch versions get pushed as automatic updates on the Odoo.sh platform. In theory, these changes should stay compatible with earlier API versions. In theory. Given how large the system is, I understand how hard that promise is to keep - but my experience building software tells me it's better to be safe than sorry. In Python, Go, and other languages, I've always worked with pinned library versions and manual updates. I consider that good practice, and a way to avoid a lot of problems - problems that, if they do show up, tend to show up out of nowhere... and it takes a while before anyone figures out what's going on.
The Odoo.sh setting - choosing a version
I'm talking, of course, about the "Revision" setting, which you'll find in the Odoo.sh panel, under Settings:

This is where you decide which version of Odoo your instance runs on. When "Latest" is selected, you're letting Odoo manage the version and apply automatic updates, which usually run on Sunday evening. You have zero control over the timing of the update - it's imposed on you.
Automatic upgrade to Latest on Odoo.sh - but why!?
On one of our instances, a specific version was set (versions follow the format major.minor.YYYYMMDD) - so we were safe, with no auto-update. Were we, though?
As it turns out, no. I started my Monday not by going through email, but by responding to a message saying that part of the system (an important part) wasn't working. After a while I found the cause, fixed it, and cleaned up the code. I went to change the setting back to the safe "Fixed Version" option (to prevent another system outage). And to my surprise, it turned out we'd already had a specific version set - but it had been outdated for 3 months, so the system decided it needed to change the setting. With no prior warning.
I understand the need for updates, partly because of security patches (Odoo.sh has a policy of forcing updates on revisions older than roughly 90 days) - but in this case, the user gets no warning beforehand. Only information after the fact. That's not safe system behavior, and I hope it gets fixed soon (I've reported it).
So here's some advice for everyone using Odoo.sh: check how your revision is set, and plan your updates. A good practice is to manually bump the revision once a month on a Staging environment, run your tests, and only then switch Production over. That beats a chaotic start to the week and rushing to fix production.