It's OK to have sparse documents in a document database, in fact it's probably one of the better reasons to use one. Let the indexer deal with it. If you later discover your access patterns have changed, you can provision an indexing policy for specific properties
You'd want the deviceIdentifier as an unique key so the database can help enforce it's ...
Fun question - sounds like an interview question.
You'll need some sort of persistence. I don't think it matters much which one. I would do this:
Write '100' to disk (or read previous number from disk)
Set counter to zero
lock and increment or interlocked increment and hand out numbers
If counter reaches '100', write '200' to disk
Go to 3
If it crashes, ...
A full answer to your question depends on the complexity of deployment. If you are looking to host a single ASP.Net (core or classic) website, with no additional services, then I would recommend the Azure App Services specifically.
When testing Azure App Services, the end-to-end story is really nice:
Integration with github or Bitbucket git repositories ...
On a very high level, you are not missing out on anything crucial. Docker (and Kubernetes) provide a runtime environment, control plane, deployment, network abstraction etc. which are also provided by cloud vendors. They are different mechanisms but they solve the same problems.
With containers, it's a little easier to avoid vendor lock-in. Although AWS and ...