Skip to main content

Cloud and data management - how responsible are you for your database?

(Image credit: Image Credit: Melpomene / Shutterstock)

Terms and conditions notices are everywhere, but many of us don’t read them. Research by Deloitte found that 91 per cent of consumers don’t read the terms of a contract when they sign up for online services. Yet, this information is essential for setting out the specific responsibilities of using a service, and who has to take care of specific things.

The rock band Van Halen provides a famous example of using a contract term to check that responsibilities are being carried out properly; a line in the band’s rider stipulated that all brown M&Ms should be removed from the serving bowl. Rather than evidencing rock’n’roll excess in action, it was a visual clue that their contract was being taken seriously. If there were brown M&Ms in the bowl, the band knew they needed to check on more important issues, such as the power for amps and lighting in advance of the show.

What does this have to do with the cloud? It shows that it is important to examine the small print around responsibility.

When “fully managed” is still your responsibility

For many developers, the cloud promises a simpler way to run services or implement application components, such as databases, without the headache of managing them. While this might be partly true, it’s a long way from reality, as managed services, cloud installations and Database as a Service (DBaaS) options all vie for your attention.

When thinking about migrating databases to the cloud, it’s worth looking at the small print. What might initially appear to be a ‘fully managed’ service may be less than that in reality, or may be more restrictive than required for a particular job. Making the right decision involves understanding what your application requires, what a particular database service or implementation delivers, and where the gaps are.

The prospect of implementing and managing a database instance can be daunting for many developers. Instead, using a managed service or DBaaS can get the application up and running faster. However, these can represent very different approaches to the same end goal, and each can have their own nuances and requirements.

Managed services typically involved having a third party take over management of your database instance, which can be either a cloud provider running their own service or another organisation acting on your behalf. Managed services will normally provide an instance of a database that can run over time - these will usually include undertaking data backups, implementing security setting, and managing version updates. Managed services also tend to offer more flexibility when it comes to settings’ choices and implementations. This enables you to control key decisions on how to implement the database and run it over time. The database instance will still require some care and tending from the application development team, but not as much as an implementation that is simply hosted in the cloud.

Conversely, a DBaaS offering will be much more limited. By controlling the installation and keeping it as simple as possible, your instances can be up and running much faster and you will not need to worry about setting management tasks such as backup or security yourself. These tasks should still be carried out on known timeframes, but can be run based on schedules set as part of the service. The challenge is that this service is based on common best practices and set-up criteria. These settings may be right for you, but equally you may find that they become limiting factors that impact on your application performance.

Both these options still leave the responsibility for created data on your shoulders. Your cloud provider might take on managing the cloud instance, running the infrastructure side, applying updates, enforcing security and making backups, but you are responsible for setup, and the data that it creates.

Shared responsibility – how to be in charge

Whatever approach you take when implementing a database in the cloud, there are several questions you should bear in mind when it comes to managing these instances.

Cloud providers work on a ‘shared responsibility’ model, where the hardware and service is the responsibility of the cloud company and anything that runs on top is your responsibility. For some services your responsibility may be from the operating system up; for others, it may be solely the data that exists within the cloud instance, with everything else is managed by the cloud provider on your behalf. Whatever you decide, knowing where that line exists is essential. Without this knowledge, it can be easy to assume that the cloud provider is handling important services, when this is not the case.

Another area to investigate is how easy it is to change an instance and its settings to meet your needs. For managed services, it should be simple to interact with instances, to increase or decrease the default settings, or to change the default maintenance window. For DBaaS offerings, the options will be very limited as this removes some of the administrative overhead for the cloud provider as well as for the customer. Both services rely on you following best practices around security and access control. Whichever you choose, knowing these limitations is important.

Ultimately, these services are only as good as your initial assumptions. If you pick the wrong service model based on incorrect choices at the outset, you can incur unnecessary costs when using the cloud. A good example here is choosing a DBaaS offering when you actually require a more flexible approach to individual instances. Getting good independent advice at the start can therefore pay off when you consider the resulting reduced total cost of ownership and lower cloud instance bills that are delivered.

If you find that your database instance is costing a lot more than you expected, it is worth taking some time to look at how to reduce that spending. You might find that acquiring the right skills to manage databases is cheaper than relying on a cloud service in the long run. Alternatively, you could move to a different cloud service which better meets your needs. Either way, getting real-world advice and guidance can help you make an informed decision.

The most important element to remember is that your data is your responsibility. While cloud providers and managed service operators will always try to help you make the most of their services, the decision - and the bill - ultimately rests with you. The shared responsibility for cloud should be understood as part of any new database project. Cloud services for databases can be a fast and efficient way to support new application instances, but you should also be fully aware of any limitations, and areas of responsibility, rather than just accepting these services at face value.

Martin James, Vice President EMEA and APAC, Percona