Main links:
- Portal: https://portal.azure.com
- Sample repo: https://github.com/Azure-Samples
- Pricing calculator: https://azure.microsoft.com/en-us/pricing/calculator/
Functions
Help repo: https://github.com/Azure/Azure-Functions/
Example repos:
Developing Locally
- Install core tools for scaffolding, run locally, etc. - link
Node.js
Reference: https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node
Databases
Cosmos DB
The pricing structure for Cosmos is rather complicated and although Cosmos DB is listed on the free tier (with 5GB and 400 request units (RUs) per second), it seems as though by default, there is no way to create a resouce / instance that would actually fall within the free range. Some other confusing parts:
- You can for RUs as you go, or at a lower rate, in advance with reserved capacity
- RUs are not linear related to requests - they are a representation of the computing power used to handle the requests
- In addition to RUs, you also have to pay for:
- Consumed storage ($ / month)
- Multiple region usage ($ - multiplier)
- Duration of throughput / lifetime ($ - multiplier)
Thanks to a minimum floor of 400 RUs / second, basically the minimum price for using Cosmos is $24/month ($0.008 for 400 RUs/s * 730 hours). This is not very competitive with AWS dynamodb or GCP Cloud Firestore...
In general, Cosmos seems to offer features that are really neat (multiple region read/write ability, redundancy, SSD backed speeds, etc.), but are probably not worth the cost unless you are buliding something that needs small amounts of data to have insanely high availability with low latency, and are willing to pay large sums for it.
There are lots of threads complaining about the costs and confusing pricing structure:
- https://www.reddit.com/r/AZURE/comments/auiwbe/was_not_aware_how_much_cosmosdb_costs_and_now_has/
- https://www.reddit.com/r/AZURE/comments/7jwfql/billed_192096_for_cosmos_db_upload/
More resources: