FotolEdhar - Fotolia
When a discussion is held around the functionality and features of the major PaaS offerings, sometimes, database services is the last topic to be discussed. From a web developer standpoint, there are more interesting topics, such as framework, middleware and language support. Some of you might even question why this topic is even relevant. Let's explain further.
Before the release of platform-as-a-service databases or an element of PaaS, which is now defined as a database as a service (DBaaS), development teams usually had to manage their application databases. There is a reason a web administrator is typically not a database administrator (DBA) and vice versa. A DBaaS is a service managed by the cloud operator, without the application team owning the responsibility for the traditional database functions. DBaaS provides a framework, from which companies can operate all their databases and provide more agility and resiliency to the organization, while also improving the overall productivity of the DBA.
The steps involved in provisioning databases can be simplified and supported, as even complex database operations could be configured to be performed by API calls, so developers will not need to be concerned with the minutia of database operations. DBAs can become more productive, because they can now focus on the bigger picture, rather than having to constantly tune, patch and worry about backups all day. Without question, a cloud-based SQL service is the ideal approach for ways to increase database efficiency in your IT world.
Let's look at some of the more popular relational database services, from the most popular PaaS offerings.
Amazon Relational Database Service, or RDS, provides support for the following database engines: Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle and Microsoft's SQL Server. Amazon also offers its own migration service to move existing databases to Amazon RDS. PostgreSQL, MySQL, MariaDB, Oracle and Microsoft's SQL Server are hosted on Elastic Block Store volumes.
Aurora, which is Amazon's own engine, uses a different type of storage infrastructure than the others and is designed to be more scalable, in that it can scale in 10 GB increments up to 64 TB in total. The other databases in Amazon's mix can only provide up to a max of 6 TB, and they also do not provide resizing capacity.
Google Cloud SQL
Google Cloud SQL is also a fully managed service that allows you to maintain your relational database on the Google Cloud Platform. It provides support for either MySQL or PostgreSQL. With Google Cloud, you have a maximum of 10 TB per instance, and you can configure your instance to increase automatically. There are different pricing models available, depending on your needs. I like the automation around MySQL that provides for updates, failover, and backup and roll-recovery.
Microsoft SQL Azure
Microsoft SQL Azure provides support for Microsoft's own engine. And if you are using Microsoft SQL Server, this might be your safest choice. It has all the security features you might expect, including two types of authentication: standard SQL authentication and Azure's Active Directory authentication, where user identities are managed by Azure's Active Directory.
SQL Azure is native to Microsoft's cloud, and it was designed specifically for the cloud. If you're a big Microsoft shop, you'll have the Visual Studio integration and support for .NET. If you're more of a LAMP shop, Amazon might be a better choice for you.
There are a few different ways to host SQL in Azure. One is through Microsoft's Azure SQL database, which is more of a PaaS database or DBaaS. Another is using SQL Server, which is hosted in the cloud on Windows virtual machines that run on Azure -- more of a traditional infrastructure-as-a-service implementation.
When you choose the latter, all versions and editions of SQL are available, and it offers full control. In the case of Azure's SQL database, the database is built on hardware and software, which is maintained by Microsoft and has a pay-as-you-go option. Using SQL Server on VMs is better for existing applications that require fast migration to the cloud with minimal changes, while going the native route may be a better choice for new implementations.
Bottom line: When you move to PaaS for your web-based applications, don't neglect the database aspect of things. The benefits to moving your database to a fully supported cloud infrastructure certainly warrant a closer look at the database services available to you.
Dig Deeper on Cloud app development and management
Related Q&A from Kenneth Milberg
Learn about Helm Charts and how Kubernetes supports a microservices architecture. Expert Ken Milberg discusses what you need to know before delving ... Continue Reading
As blockchain matures, an ecosystem of tools continues to sprout up around it. Learn how these offerings, including the Hyperledger Fabric Client SDK... Continue Reading
Get started with exploring these PaaS offerings: AWS Elastic Beanstalk, Google App Engine and Microsoft Azure. An IT veteran summarizes their pros ... Continue Reading