Databases are a critical resource in any company’s IT, and are considered one of the most precious assets of the company. In many ways, the database holds all that is valuable for the company’s business and that is critical for its operations.
With the arrival of cloud computing – which represents a new IT model – databases still remain, in many respects, the exception to the cloud infrastructure rule. When most of the infrastructure is spread across numerous virtual resources, the database still resides on a fixed set of machines, in the cloud or outside of it, and frequently, using a specific storage solution, like Netapp or EMC. This mean that the DB is not an integral and inherent part of the cloud. You could say it’s doing it’s best to come along for the ride – but currently it’s too much baggage for the conventional cloud set-up to know what to do with :)
The Native Cloud Database
Native cloud Databases are using only cloud resources for all their needs. Storage for such a database is based on the servers’ local drives, spread across as many machines as needed, and as allocated by the cloud on standard machines. Alternatively, the storage layer can be based on General Cloud Storage such as Amazon EBS, which is using the same paradigm, but provides Block storage as a service.
DB processes consume fragmented resources that the cloud can allocate to the DB, and elasticity is key – so resources can be returned to the cloud when they are not needed.
Native cloud databases need to provide a reliable view of the database state for monitoring and resource allocation purposes. For example, they need to be integrated with the cloud management system, and allow the management system to control the database and monitor it.
Since data loss is costly, cloud DBs need to be able to maintain multiple copies of the data, so hardware failures could not cause complete meltdown of a system or an application. Alongside this capability, the cloud database needs to be able to “self heal” itself from failures up to certain level.
Clouds run many applications, and as a data service, the cloud database is required to have multi- tenancy, and also to allow different configurations to different instances within the DB.
Why Are Native Cloud Databases So Important?
It is important to have a database as an organic part of the cloud for one key reason: to avoid dedicated and complex maintenance required to “babysit” the odd-child in the cloud infrastructure.
Any non-cloud service will become some kind of an exception which requires special maintenance, skillset, procedures etc. It’s definitely true long-term, but even in their day-to-day operations today, DBAs and System Administrators can attest to how much time and energy (and admin costs) go into monitoring their DB and ensure it “plays well” and is properly integrated with the other components of the cloud.
In addition, non-native cloud services will not enjoy the benefits achieved by natural tenants of the cloud. These benefits include, for example, all the automation, resource-optimization, dynamic networking, and more.
Databases should be regarded as integral part of the cloud so that the IT infrastructure can really be a commodity, which can be bought, traded, re-allocated and moved around as needed.
On the other side of the equation, to live up to the theory, the cloud database technology itself must deliver a convincing paradigm and proof for its ability to keep the data safe, secured and always available, at least on the same level as enterprise databases today.