Guest author Baron Schwartz, an expert in MySQL, is the founder of VividCortex and the author of “High Performance MySQL.” He has helped build and scale some of the world's largest web, social, gaming, and mobile properties.
The industry is rapidly embracing Database-as-a-Service (DBaaS), cloud offering for companies looking to rent access to digital data warehouses managed by an external provider.
Although company-run databases won’t ever completely go away, the rise of DBaaS can free many organizations of all sizes from the drudgery of maintaining their own local database systems. The primary benefits are that it can streamline operations and reduce cost—freeing the business to focus on developing their core products or services.
Sounds great, though choosing a provider can be a tricky proposition. You’re essentially trusting a vendor with your company’s data, and that's no small matter. To pick a service and provider that’s right for your organization, start with these fundamental considerations.
The Fundamentals Of Selecting DBaaS
To evaluate DBaaS providers, you’ll want to start by considering the following factors:
Your Company’s Needs
Generally, you should think about whether the ecosystem you’re buying into is robust and well-suited to your needs.
Consider how you see your company and your tech stack growing and changing in the future. Outline what your company wants and needs out of a database, and then pick a set of technologies accordingly. If you want to use the public cloud, you have plenty of choices, including Amazon, Microsoft Azure, HP Helion, Rackspace, IBM Cloud, and so on. For a private cloud, VMware, OpenStack and others may be what you’re looking for.
Tailored And Preconfigured Solutions
There are two main DBaaS types to choose from: a widely used database (DB) solution (like PostgreSQL or MySQL, which is hosted and managed for you), or a proprietary DB (like DynamoDB, which isn’t available elsewhere).
Both have benefits and drawbacks. Hosted or managed DBs can let you transition to other databases or service providers—such as Amazon RDS for MySQL to your own MySQL—with relative ease. Proprietary DBs are more limiting and pose a lock-in risk. However, the latter can leverage the provider’s platform in more powerful ways.
If you’ve taken a hard look at your company’s needs (see above), then you’ll want to assess those priorities against the pros and cons of both DB types.
After determining which service would best fit your company, explore the DBaaS providers in this sector. There are far too many to mention here, but here’s an idea of the breadth of choices:
- Amazon’s RDS offers a variety of databases like Aurora, MySQL, PostgreSQL, Oracle, and SQL Server.
- AWS also offers cloud-native databases, like Dynamo, Redshift, and ElastiCache.
- Microsoft Windows Azure SQL Database or Azure DocumentDB.
- Google’s databases include Cloud Bigtable and CloudSQL.
- OpenStack Trove offers MySQL, PostgreSQL, MongoDB, Cassandra, Couchbase, Redis, Vertica, and DB2. Tesora, in particular, extends this to offer additional features and databases including Oracle.
- Others include Heroku Postgres, Salesforce.com, and IBM Cloudant.
There’s a reason database management continues to evolve over time: no management solution is perfect for everyone. DBaaS is highly evolved compared to the options available 10 years ago, but it still has issues, including limitations in flexibility or performance in specific situations. That can challenge many developers to architect their app to the strengths and avoid the limitations.
Still, DBaaS represents a fundamental shift in data management as servers become replaced by automation, platforms, and services. Even if you’re not ready to take advantage of this next step in the evolution of databases, awareness and preparation now could pay dividends for your next product or service, allowing you to out-innovate and out-compete in your market.
Lead photo by KamiPhuc