Rehosting may appear as a straightforward migration option for some databases, but it may not be the optimal choice. With Azure, you can choose from various solutions according to your database needs.
Whether handling large data volumes (up to 100TB), running multi-tenant applications with shared resources, or seeking cost-effective solutions for databases with varying workloads, Azure provides options ensuring performance and availability.
Straightforward and speedy ‘lift-and-shift’ to SQL Server on Azure Virtual Machines
This method is ideal for a simple migration (rehosting) of an existing on-premises SQL database to the cloud without modifying the app.
With SQL Server on virtual machines (VMs), you get the same performance capabilities as on-premises, managed by VMWare, without the need for on-premises hardware.
Azure VMs are globally available, offering various machine sizes with different memory (RAM) and virtual CPU core options to meet your app’s resource requirements. Tailor your VM size and location to match specific SQL Server needs, ensuring efficient task handling regardless of your location or project demands.
SQL Server virtual machines offer a simplified licensing model. The pay-as-you-go option includes the SQL Server license in your Azure VM pricing, providing a cost-effective solution.
Although this option eliminates the need to manage physical servers, you still have responsibilities for the virtual machine. This includes overseeing the operating system, applying patches, and handling SQL Server installation and configuration.
Effortless Database Modernization: Migrating to Azure SQL Managed Instance
Recommended for large-scale modernization projects and businesses aiming for a fully managed Azure infrastructure. This choice removes the need for hands-on VM management and syncs with on-premises SQL Server features, making things simpler.
Azure SQL Managed Instance (MI) brings the advantages of the Platform as a Service (PaaS) model to migration projects, offering managed services, scalability, and high availability.
It is a good option for businesses looking to keep a similar setup to their on-premises SQL Server. Its compatibility ensures a seamless transition of databases to the cloud while keeping things familiar.
MI shines with support for advanced database features like cross-database transactions (allowing transactions across multiple databases) and Service Broker (managing message-based communication in databases). These features aren’t in the standard Azure SQL Database service. On the downside, it requires more hands-on management, like tuning indexes for performance and handling database backups and restorations.
Similar to Azure SQL, MI has a strong service-level agreement of 99.99%, showing its reliability and uptime. It always runs on the latest stable version of the SQL Server engine, giving users the most up-to-date features and security enhancements.
It also comes with built-in features for efficiency and accessibility. Compatibility-level protections are included to make sure older applications stay compatible with the updated database system.
Transition to Azure SQL Database: Cloud-Native Experience with Minimal Management
Perfect for apps with unique database needs—like varying workloads or large databases up to 100TB—Azure SQL Database ensures consistent performance at the database level.
Azure SQL Database, a fully managed PaaS option, cuts down on manual admin tasks. It takes care of backups, patches, upgrades, and monitoring automatically, ensuring your apps run on the latest SQL Server engine version. With a 99.99% high availability, Azure SQL Database ensures reliable performance.
While Azure SQL Database offers a nearly cloud-native experience, it lacks some server-level features. These include SQL Agent for job scheduling, Linked Servers for connecting to other servers, and SQL Server Auditing for security and compliance event tracking.
Azure SQL Database caters to diverse needs with two billing models: vCore-based and DTU-based. The vCore model lets you customize CPU cores, memory, storage, and speed. Alternatively, the DTU (Database Transaction Unit) model bundles memory, I/O, and computing resources into service tiers tailored for different database workloads.
To match your needs for scalability, performance, and cost efficiency, you need to customize Azure SQL Database configurations:
Moving substantial databases, up to 100TB in size
For robust, high-performance databases, use Azure SQL Database Hyperscale. Ideal for databases surpassing typical size limits, it supports up to 100 TB. Make use of Hyperscale’s strong log throughput and efficient Blob storage for backups, cutting down backup times in large databases from hours to seconds.
Managing unpredictable workloads
Your cloud experts need to utilize Azure SQL Database Serverless for sporadic and unpredictable workloads. Configure these databases to scale and adjust computing power in real time, saving costs. Automatic shutdown during inactive periods is also enabled, reducing costs by only charging for active usage periods.
Handling databases at IoT scale across 1000+ devices
For IoT scenarios with databases on a large fleet of devices (e.g., RFID tags on delivery vehicles), we recommend Azure SQL Database Edge. It’s resource-efficient, ideal for diverse IoT applications, and provides crucial time-scale analysis capabilities for thorough data tracking and analysis over time.
Opt for Azure SQL Database Elastic Pool for SaaS applications with diverse workloads across multiple databases. This solution lets you share resources efficiently and control costs. It adapts to the evolving performance needs of different clients. Billing with Elastic Pool is based on the pool’s hourly duration, not individual database usage, making budgeting and resource allocation more predictable.
As a SaaS ISV hosting provider, serving multiple customers with varying performance needs, Elastic Pools allocates resources within a projected budget, addressing this diversity.
Every migration to Azure SQL Database has unique complexities and opportunities. Navigating these options effectively requires understanding Azure’s capabilities and aligning with your business objectives and technology.