Azure CosmosDB Mongo
Azure Cosmos MongoDB is a fully managed, serverless NoSQL database for high-performance applications of any size or scale using the MongoDB API.
Deployments
30
Made by
Massdriver
Official
Yes
No
Compliance
Clouds
Tags
azure-cosmosdb-mongo
Azure Cosmos DB is a fully managed NoSQL and relational database for modern app development. Azure Cosmos DB offers single-digit millisecond response times, automatic and instant scalability, along with guarantee speed at any scale. Business continuity is assured with SLA-backed availability and enterprise-grade security.
Use Cases
As a fully managed service, Azure Cosmos DB takes database administration off your hands with automatic management, updates and patching. It also handles capacity management with cost-effective serverless and automatic scaling options that respond to application needs to match capacity with demand.
Cloud applications
Web, mobile, gaming, and IoT application that handle massive amounts of data, reads, and writes at a global scale with near-real response times for various data will benefit from Azure Cosmos DB. Azure Cosmos DB’s guaranteed high availability, high throughput, low latency, and tunable consistency are huge advantages when building these types of applications.
99.999% SLA
Guarantee business continuity, 99.999% availability, and enterprise-level security for every application.
Multiple languages with SDKs
Build apps on API for NoSQL using the languages of your choice with SDKs for .NET, Java, Node.js and Python. Or your choice of drivers for any of the other database APIs.
Mongo DB
The API for MongoDB has added benefits of being built on Azure Cosmos DB when compared to service offerings such as MongoDB Atlas:
- Instantaneous scalability
- Automatic and transparent sharding
- Cost efficient
- Serverless deployments
Configuration Presets
Development
The development preset uses the serverless feature of Azure Cosmos DB. Azure Cosmos DB serverless best fits scenarios where you expect intermittent and unpredictable traffic with long idle times. Because provisioning capacity in such situations isn’t required and may be cost-prohibitive, Azure Cosmos DB serverless is recommended for developing, testing, prototyping, and running in production new apps where the traffic pattern is unknown.
Production
The production preset uses the provisioned feature of Azure Cosmos DB. When you use provisioned throughput, you set the throughput, measured in request units per second (RU/s) required for your workload. The service provisions the capacity needed to support the throughput requirements. Database operations against the service, such as reads, writes, and queries consume some amount of request units (RUs).
Features
Auto CIDR
The Masssdriver Auto CIDR feature takes the burden of selecting a CIDR range away from you by determining the next available CIDR range and automatically provisions it. You still have the option to manually set your CIDR range if you prefer.
Design
Our bundle includes the following design choices to help simplify your deployment:
Geo-Redundancy
Various geo-redundancy options are available when deploying a Cosmos DB instance, such as multi-region writes and automatic failover.
Virtual network integration
We also automatically provision networking resources to make your Cosmos DB server available to other resources in your Azure virtual network. The Cosmos DB server is given its own exclusive subnet, and your virtual network is given a private DNS zone for your workloads to use.
Best Practices
The bundle includes a number of best practices without needing any additional work on your part.
Dedicated virtual subnet
We automatically provision a dedicated virtual network subnet with its own private DNS zone for VNet integration.
Automated backups
Azure Cosmos DB automatically takes backups of your data at regular intervals. The automatic backups are taken without affecting the performance or availability of the database operations. All the backups are stored separately in a storage service.
Security
In order to improve security, we implement a few key safeguards.
Private subnet deployment
The flexible server will be accessible only from within the private VNet and any peered networks.
Data encrypted in transit
By default, all data in transit will be encrypted with Secure Sockets Layer and Transport Layer Security (SSL/TLS).
Data encrypted at rest
Encryption at rest is now available for documents and backups stored in Azure Cosmos DB in all Azure regions. Encryption at rest is applied automatically for both new and existing customers in these regions. There’s no need to configure anything. You get the same great latency, throughput, availability, and functionality as before with the benefit of knowing your data is safe and secure with encryption at rest. Data stored in your Azure Cosmos DB account is automatically and seamlessly encrypted with keys managed by Microsoft using service-managed keys.
Observability
Massdriver provides you with visibility into the health of your systems. By default, flexible servers will be created with alarms connected to Massdriver to alert you when performance drops below a key threshold or fails completely. You will be notified when the R/U consumption and server latency exceed their respective thresholds.
Trade-offs
- CMKs are not currently supported
- Cannot change backup types after deployment
Variable | Type | Description |
---|---|---|
backups.backup_type | string | The backup type to use for the Cosmos DB account. This cannot be changed after it is set. |
database.consistency_level | string | The consistency level to use for this CosmosDB Account. Learn more. |
database.mongo_server_version | string | The server version of the MongoDB account. |
database.serverless | boolean | No description |
database.total_throughput_limit | integer | The total throughput limit imposed on this Cosmos DB account in RU/s (-1 means no limit). |
geo_redundancy.additional_regions[].failover_priority | integer | The failover priority of the region. The lower the value, the higher the priority is. Minimum value is 2, maximum value is 100. |
geo_redundancy.additional_regions[].location | string | The Azure region to host replicated data. |
geo_redundancy.automatic_failover | boolean | No description |
geo_redundancy.multi_region_writes | boolean | No description |
monitoring.mode | string | Enable and customize Function App metric alarms. |
network.auto | boolean | Enabling this will automatically select an available CIDR range for your database. Unchecking will require you to specify the CIDR. |