PaaS: How do we get to this ‘one-click everything’ model?
Database clouds are not a new entry into the cloud world – some have been around for years. But now, with the growing popularity and availability of data cloud services, they are coming into the spotlight. But to be a truly useful platform as a service (PaaS), cloud databases have to be easy and accessible to more than just the database administrator who you seldom see around the office.
By Subash Nambiar
I believe “the cloud” has surpassed “portals” as one of the most overused enterprise tech terms out there. We hear about it all the time, and that’s the issue: We just hear about it. Usually it’s about how the cloud powers this, how it helped cut IT costs, or how the cloud saved a kitten who was stuck in a tree. Rarely do we hear about how the cloud can help me do my job better.
Enter the database cloud. Database clouds are not a new entry into the cloud world – some have been around for years. But now, with the growing popularity and availability of data cloud services, they are coming into the spotlight. But to be a truly useful platform as a service (PaaS), cloud databases have to be easy and accessible to more than just the database administrator who you seldom see around the office.
‘The Cloud’ Means Easy
Databases are not easy. They take time to set up, install, and get running. A project manager or application developer is not going to have the skills to install a Linux flavor, get the database software, install it, tune it, configure the firewalls for connections, etc. The list goes on and on, creating this barrier between the IT layer that’s responsible for these setup tasks and the people who actually need to start a project and get work done. Think of your IT organization. What are the steps to procure a database and how long does it take? How much red tape do you need to get through just to start application development or other database-related projects?
Cloud databases need to be easy. I should be able to answer a few questions about my database, click a “go” button, and take my lunch break. When I get back, the database should be created and read for use. This also means that all components should be configured automatically for me.
We find many cloud databases to be just an operating system in the sky. Yes, this operating system can be ready to go in minutes, but you still need a database administrator to create and set up the database. A cloud database, a true PaaS, needs to be more than an operating system or a virtual machine in the cloud. A cloud database needs to be a service, a dial tone if you will. I pick up a phone, hear the dial tone, and start making a call. A cloud database needs to work the same way – after it’s created, I can just use it.
Same as It Ever Was
People resist change. Correction: People loathe change. Change usually means being uprooted from a comfortable place and dropped into new surroundings. But it doesn’t have to be this way. Users and developers shouldn’t have to learn a whole new skill set just to use a cloud database. IT departments have invested in tools and software to use their on-premises databases. With this investment comes training, documentation, and processes. Organizations, understandably, are reluctant to reinvest in new tools and processes.
A cloud database should not uproot current procedures and practices. The process of moving from an on-premise database to a cloud database or deploying existing applications to the cloud should be seamless, so much so that the change should be in name only. That tool you spend thousands of dollars on to track database object changes shouldn’t suddenly stop working because it’s a cloud database.
Again, with the cloud it’s an easy mantra: On-premise applications should just run on cloud databases, with zero code changes. The database software and methods of connecting to it need to be exactly the same as your local settings. What use is the cloud if I need to rewrite or re-architect current applications for cloud deployment? Such modifications result in massive administrative effort, lost productivity, and huge costs. You move to the cloud to save money, not to spend more.
Grow with It
If I included a picture of my lawn in this article, you would see that I am unable to make grass grow. It’s one of the simplest of plants to grow, but I just can’t do it. I even buy the seed with the dirt mixed in, the kind where all you have to do is put it on the ground. Cloud databases need to grow, too, but they need to grow a lot easier than I grow grass. Adding storage to a cloud database, for example, should not require a host of people, each taking part in this elaborate dance just to add disk capacity for a Linux server. I need a button that says “grow” or, more appropriately, “add storage.” And upon clicking this button, storage should be automatically added to my cloud database.
What if I know that, a year from now, my cloud databases are going to see a lot more activity? I need another button that scales up the cloud database by adding more CPUs and memory. As any database administrator knows, you can’t just add memory and processors to a database and expect it to know what to do with them. But my ideal cloud database is easy, so when I add more resources, it just accommodates them with no external interference. If I change the compute shape of my cloud database from 1 CPU and 7 gigabytes of memory to 16 CPUs and 240 gigabytes of memory, the modifications needed to use those extra resources should happen for me. The database not only should start using these new resources almost immediately, but also do so without requiring someone to physically find the server, shut it down, open it up, add these hardware components, and then restart. It needs to be elastic and automatic so that I can scale up and scale down resources with a click of a button.
To Cloudfinity and Beyond
A cloud database needs to be more than an operating system in a remote data center in the middle of a mountain range. It needs to be a familiar PaaS that allows developers and project managers to start using it on demand. Existing applications and tools shouldn’t have to be rewritten or abandoned because the cloud database you chose is some distant cousin of the original on-premise software. Finally, if the cloud database needs additional resources to grow with the business, they need to be added in minutes, not days – and without intervention. As stated before, one-click everything.
How do we get to this “one-click everything” model? PaaS environments need to transform into EaaS (Enterprise as a Service) models, where we cater to the business goals and business users rather than to IT departments. Need a database for reporting? Hit the “Reporting Database” button. OLTP? There’s a database cloud button for that.
PaaS today still has too many moving parts and requires way too much setup. In the Enterprise as a Service world, we remove the visible nuts and bolts and replace them with a user-friendly veneer that caters to all levels, enabling developers, project managers, and business users to be up and running with a database cloud enabled by that one-click button.