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.

View Source Code
Deployments

31

Made by

Massdriver

Official

Yes

No

Compliance

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
VariableTypeDescription
backups.backup_typestringThe backup type to use for the Cosmos DB account. This cannot be changed after it is set.
database.consistency_levelstringThe consistency level to use for this CosmosDB Account. Learn more.
database.mongo_server_versionstringThe server version of the MongoDB account.
database.serverlessbooleanNo description
database.total_throughput_limitintegerThe total throughput limit imposed on this Cosmos DB account in RU/s (-1 means no limit).
geo_redundancy.additional_regions[].failover_priorityintegerThe 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[].locationstringThe Azure region to host replicated data.
geo_redundancy.automatic_failoverbooleanNo description
geo_redundancy.multi_region_writesbooleanNo description
monitoring.modestringEnable and customize Function App metric alarms.
network.autobooleanEnabling this will automatically select an available CIDR range for your database. Unchecking will require you to specify the CIDR.