More about Google Cloud Database
- Google Cloud PostgreSQL: Managed or Self-Managed?
- Google Cloud Data Lake: 4 Phases of the Data Lake Lifecycle
- Google Cloud NoSQL: Firestore, Datastore, and Bigtable
- Google Cloud Big Data: Building Your Big Data Architecture on GCP
- Google Cloud Database Services Explained: How to Choose the Right Service for Your Workloads
- Google Cloud MySQL: MySQL as a Service vs. Self Managed in the Cloud
- Understanding Google Cloud High Availability
- 8 Types of Google Cloud Analytics: How to Choose?
- Cloud Firestore: An In-Depth Look
- Google Cloud BigQuery: How and When to Use Google Cloud BigQuery to Store Your Data
- Oracle on Google Cloud: Two Deployment Options
- SQL Server on Google Cloud: Two Deployment Options
- Google Cloud SQL: MySQL, Postgres and MS SQL on Google Cloud
How Can You Use SQL Server in Google Cloud?
With Google Cloud Platform customers have at their disposal two primary options to deploy a SQL Server database:
- Fully managed - using Cloud SQL, Google Cloud’s managed database service.
- Self managed - running SQL Server on Compute Engine instances and storing data using a managed storage service.
This is part of our series of articles about Google Cloud database services.
In this article, you will learn:
- Licensing and Migration Considerations
- Option #1: Using Google Cloud SQL to Deploy SQL Server
- Option #2: Using Google Compute Engine to Deploy SQL Server
- Cloud SQL vs. Compute Engine: Pros and Cons
- NetApp Cloud Volumes ONTAP: The Best of Both Worlds
Licensing and Migration Considerations
There are different licensing considerations depending on the deployment method you chose:
- Using Google Cloud SQL, customers pay an extra fee in their monthly bill that includes the Microsoft licensing fee based on the chosen edition.
- When deploying SQL Server using Compute Engine instances, you have more flexibility and can either bring your own license (BYOL) or purchase a subscription from the Google Cloud Marketplace. A marketplace subscription carries an extra fee that typically includes the Microsoft license and support. However, these marketplace images can save you time; they are typically hardened per Microsoft security recommendations and industry best practices.
There are also different migration capabilities for each option:
- Using Google Cloud SQL, there is no easy way to migrate existing database instances, since its migration feature only supports MySQL. Customers need to migrate manually by importing their full database backups.
- When deploying SQL Server using Compute Engine instances, you can achieve hassle free migration of both physical and virtual machines from on-premises to the cloud, using Google tools like Migrate for Compute Engine (formerly Velostrata) and Transfer Appliance, a hardware appliance for transferring large volume of business critical data.
Option #1: Using Google Cloud SQL to Deploy SQL Server
Google Cloud SQL, the managed relational database service from Google, is available to all customers and supports different engines such as SQL Server, MySQL, and PostgreSQL.
For first-time database users or customers with fairly simple database requirements, this is a great option to hit the ground running quickly. Cloud SQL is a turn-key solution to deploy and run a cloud relational database that streamlines the day-to-day operations and simplifies database management tasks such as upgrading, configuration, backup, etc.
Option #2: Using Google Compute Engine to Deploy SQL Server
Compute Engine, the core compute offering by Google Cloud Storage Services offers great performance and reliability. Cloud instances enable customers to build a custom infrastructure that is both resilient and elastic.
When running a database on Compute Engine, you need to consider how to store your data. A common choice is Google Persistent Disks, backed by a storage management solution such as NetApp Cloud Volumes ONTAP.
Cloud SQL vs Compute Engine: Pros and Cons
Each of the two options we presented has its pros and cons - please review them as you consider the best option for your organization.
Pros of Cloud SQL
Cloud SQL customers can deploy a database in a few minutes and get an endpoint to which their application can seamlessly connect to without having to worry about the operational overhead of maintaining a database. This is a huge benefit for customers who have simple use cases and need to get up and running very fast.
Cons of Cloud SQL
- Customers do not have the ability to access any servers and modify the operating system, storage settings, and database configuration.
- While you do have control over the GCP region the database is located in, you don’t have the option to migrate data to another cloud provider and, though it’s possible, migrating across GCP regions isn’t easy.
- Only SQL Server 2017 Standard, Enterprise, Express and Web are currently supported, and you cannot use other versions unless Google makes them available.
Pros of Compute Engine for SQL Server
This option is perfect for organizations who want full control and flexibility over their enterprise-grade database workloads. Advantages include:
- Maximum flexibility and ability to customize everything. This full control gives you a level of data hybridity, which is crucial in enterprise deployments.
- Advanced functionalities such as tuning database parameters, using RAID storage management, and data replication across regions and cloud environments.
- Significantly lower cost because you can use only the cloud resources you truly need and purchase the license directly from Microsoft that best fits your needs.
Cons of Compute Engine for SQL Server
- You need to consider the time required to both setup SQL Server and operate the database in the day to day.
- To build a production-grade database deployment, an organization requires personnel with deep technical expertise in both SQL Server and Google Cloud.
- Database management aspects such as backup, data replication, monitoring, logging, high availability among other features required in a SQL Server deployment need to be developed and implemented before you can go live in production.
NetApp Cloud Volumes ONTAP: The Best of Both Worlds
For complex use cases and enterprise customers that require full control over their database Cloud SQL is not a viable option. The Compute Engine option provides much more flexibility and control, as well as lower cost, but is difficult to implement and manage.
With the help of NetApp Cloud Volumes ONTAP as a management layer on top of the Google Cloud deployment, many of these concerns can be addressed. Cloud Volumes ONTAP provides:
- Fine control over the database configuration and components, which is not available with managed database services like Cloud SQL.
- Enabling the usage of any database engine, from standbys like Oracle and MySQL to newer NoSQL flavors like Mongo DB and MariaDB.
- Intelligent caching capabilities to reduce latency whenever and wherever the data needs to be accessed.
- Data protection via instant, quiescent NetApp Snapshot™ copies which can enable point-in-time backups for restoration and disaster recovery.
- Cost cutting storage efficiencies that can cut down storage footprint and cost by as much as 70%.
- Fast, seamless migration to Google Cloud from any repository with NetApp Cloud Sync or from NetApp appliances with SnapMirror®.
- Added IaC capabilities and management ease via the NetApp Cloud Manager console or API calls.
- FlexClone® data cloning technology makes it possible to clone entire database volumes instantly and without cost penalties.
Deploying SQL Server using a Compute Engine instance backed by Cloud Volumes ONTAP makes your life a lot easier by eliminating the need to build capabilities such as backups, disaster recovery and data protection by yourself from scratch. Cloud Volumes ONTAP enables extreme performance, space- and cost-efficient storage snapshots, business continuity with its high availability that ensures no data loss and a quick failover capabilities.
Cloud Volumes ONTAP also has hybrid capabilities, which means that it works in any on-premises and cloud providers. This allows you to do seamless database and data migrations across environments giving you an increased agility and time to market.