Databases on cloud VMs [virtual machines].
Considerations when moving a SQL Server database to the cloud.
Select a cloud platform (Microsoft Azure and Amazon Web Services (AWS) are
the leading choices.
Decide on running your own SQL Server database or using the platform's
managed SQL Server database.
These two choices result in the following four options:
(1) Azure VM [virtual machine]: Azure VMs [virtual machines] are more
secure than SQL Database because you can configure and restrict their
access by IP address. Azure VM [virtual machine] is better than Amazon EC2
[elastic compute cloud] for hybrid clouds that combine the features of
public and private clouds.
(2) Azure SQL Database: Azure SQL Database is easier to administer than
Azure VMs because Azure handles most of these tasks, but this also makes it
less configurable than VMs [virtual machines]. SQL Database is better able
to utilize cloud resources because it is native to the cloud, while Amazon
RDS [Amazon Web Services] is only cloud-capable.
(3) Amazon EC2 [elastic compute cloud]: You can replace an existing EC2
[elastic compute cloud] with one that had greater vertical scaling,
typically for the purpose of improving load balance. The biggest advantage
of EC2 [elastic compute cloud] over and Azure VM [virtual machine] is that
you can provision an EC2 [elastic compute cloud] instance for each AWS
[Amazon Web Services] account, allowing you to create varied instances of
SQL Server.
(4) Amazon RDS for SQL Server: RDS users have no access to the SQL Server's
OS [operating system], which has some consequences when migrating
databases. RDS [relational database service] provides complete support for
SQL Server, whereas SQL Database only supports a subset of SQL Server's
features.
Conclusion
VM [virtual machine] versus managed database: Running your database on
cloud VMs [virtual machines] has greater flexibility in configuration, but
it also requires more expertise to administer. A managed cloud database may
be a better choice if you do not have the resources for a dedicated DBA
[database administrator], especially if you are developing a new database.
Azure versus Amazon: Azure generally has more features than AWS [Amazon Web
Services], especially for deploying and scaling databases. AWS [Amazon Web
Services] is more favorable for open-source development, which is often the
deciding factor for Linux shops.