Azure Elasticpool MSSQL

Azure SQL Database elastic pools are a simple, cost-effective solution for managing and scaling multiple databases that have varying and unpredictable usage demands. The databases in an elastic pool are on a single server and share a set number of resources at a set price. Elastic pools in SQL Database enable software as a service (SaaS) developers to optimize the price performance for a group of databases within a prescribed budget while delivering performance elasticity for each database.

View Source Code
Deployments

37

Made by

Massdriver

Official

Yes

No

Compliance
Tags

azure-elasticpool-mssql

Azure SQL Database elastic pools are a simple, cost-effective solution for managing and scaling multiple databases that have varying and unpredictable usage demands. The databases in an elastic pool are on a single server and share a set number of resources at a set price. Elastic pools in SQL Database enable software as a service (SaaS) developers to optimize the price performance for a group of databases within a prescribed budget while delivering performance elasticity for each database.

Use Cases

Share resources for multiple databases

Elastic pools enable you to purchase resources for a pool shared by multiple databases to accommodate unpredictable periods of usage by individual databases. You can configure resources for the pool based either on the DTU-based purchasing model or the vCore-based purchasing model. The resource requirement for a pool is determined by the aggregate utilization of its databases.

Flexible purchasing models

Azure SQL Database elastic pools support two purchasing models: the DTU-based purchasing model and the vCore-based purchasing model.

  • The DTU-based purchasing model is based on a bundled measure of compute, storage, and IO resources
  • The vCore-based purchasing model is based on a virtual core metric that provides flexibility for specifying the compute and storage requirements for an individual database in the pool

Design

Virtual network integration

Several networking resources are provisioned in order for your SQL server to be available to other resources in your Azure virtual network. A subnet is created and delegated to your SQL server for exclusive use, and a firewall rule is created to allow traffic from within the virtual network.

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.

Best Practices

Dedicated Subnet

A dedicated virtual network subnet is provisioned for VNet integration

Backups and Redundancy

The SQL server service automatically creates database backups and stores them within the region.

Security

Auto-generated password

A random 16 character password will be generated for your server.

Deployed into a Private Subnet

Only accessible from with the VNet and any peered networks

Encrypted Data in transit

Azure SQL Server encrypts in-transit data with Secure Sockets Layer and Transport Layer Security (SSL/TLS). Encryption is enforced by default.

Encrypted Data at rest

Transparent data encryption (TDE) helps protect Azure SQL Database against the threat of malicious offline activity by encrypting data at rest. It performs real-time encryption and decryption of the database, associated backups, and transaction log files at rest without requiring changes to the application.

Observability

Massdriver gives you visibility into the health of your systems. By default, flexible servers will be created with alarms to monitor at key performance degradation or failure thresholds. You will be notified when storage, memory or CPU exceeds 90% usage.

Trade-offs

  • Data layer access using Azure AD authentication is not yet supported
  • Azure SQL Database Hyperscale is not supported in this bundle
VariableTypeDescription
audit.data_protectionintegerSet the number of days to allow data recovery if auditing data is deleted from storage account (minimum 0 [infinite], maximum 3285).
database.max_capacityintegerThe maximum amount of DTUs/vCores to allocate per database. Cannot exceed total DTU/vCore capacity of the pool. (Minimum of 2, maximum of 4000)
database.min_capacityintegerThe minimum amount of DTUs/vCores to allocate per database. Cannot exceed Maximum capacity. (Minimum of 0, maximum of 4000)
elasticpool.modelstringThe model of the Azure SQL Elastic Pool. Cannot be changed after deployment.
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.
server.admin_loginstringThe administrator username for the Azure SQL Server. Cannot be changed after deployment. (Username cannot be ‘admin’, ‘root’, ‘administrator’, ‘username’, ‘azure_superuser’, ‘azure_pg_admin’, ‘guest’, or ‘public’.)
server.versionstringThe version of the Azure SQL Server. Cannot be changed after deployment.
No items found.