PaaS Database: Unlock the potential of your applications!
Automation and scaling of complex infrastructures are some of the main challenges of IT experts today. Enabling fast selection, provisioning and exploitation of on demand resources is key to business growth.
At OVH, we operate under the principle that if a process exists, it can and must be manageable, scalable, secure and flexible. PaaS Database (DBaaS for purists) adheres to this core principle, as showcased in this article.
Until the creation and release of PaaS DB, some of our development teams had to manage their application’s databases themselves. At various levels of complexity, entire departments had to make due with database proliferation: different databases were created for each project within a department thus requiring special attention and in depth knowledge of the applications from the database administrators.
The “silo” effect
Databases play a key role for a number of developers and devops, who, each day, use their expertise in implementing and improving applications used by customers, both internal (collaborators) and external. Yet, and like many developers within the industry, our teams found themselves confronted with the limitations imposed by the recurring need to create, manage and maintain their own databases.
Far from being ideal, this approach also has the disadvantage of splitting resources into “silos” resulting in the compartmentalization of databases, making best practices and innovations a challenge to adopt.
The inception of PaaS DB is the solution to overcome those limitations: providing our collaborators with a flexible, secure and managed infrastructure so they can focus their professional expertise towards developing solution for our customers. Their databases are managed by system administrators, now able to allocate more time to optimization, automation and upgrade processes on a large scale infrastructure.
PaaS Database enables horizontal control of database options (SQL, MySQL, PostgreSQL, MariaDB, NoSQL, HBase, MongoDB, Elasticsearch, Cassandra…). It also promotes vertical control in a production environment, where high availability of services is crucial.
In its first iteration, PaaS Database is available for MySQL and PostgreSQL. It is meant for projects which are not mission critical: development, preproduction and proof of concept.
The solution: Database as a Service
By definition, PaaS DB, is a managed platform that is both scalable and elastic (scale up/out), while providing strong access restrictions along with high availability. Automation is one of the pillars of large-scale solutions at OVH. Hence, PaaS DB has been designed from the ground up to be a self-managed, self-healing product, able to dynamically provision physical resources when needed.
Over the past few years, with the introduction of NoSQL and NewSQL among others, the database market is experiencing rapid growth. Consequently, it made sense for our teams to be able to provide databases with measurement and log management tools. Database as a Service enables developers to choose database technologies specific to their applications, without having to worry about versioning or maintenance, increasing agility in the process.
The DBs hosted within the PaaS DB solution can serve multiple scenarios and purposes:
• Transactional applications: e-commerce websites, mobile applications hosted in the cloud, management of digital files
• Data archiving and analysis
• Agile developmental environments (very short time to market)
PaaS Database in action:
To understand the potential use cases of PaaS Database, here is one example of its implementation in a ‘startup’ environment with a limited staff:
A web agency with 5 developers, 2 sysadmins and 2 designers derives most of its revenue by serving local governments. To differentiate itself, the agency, offers its customers high availability platforms which include SLAs. The platforms must be able to support substantial load increases along with providing the customer’s public PR agency with the ability to extract detailed statistical data about residents.
Among the limitations facing the agency, the lack of visibility concerning development costs when preparing public bids is a concern. Moreover, the team needs to factor in limited available technical staff to manage an increasing number of databases.
Set it and forget it:
The project’s lead developer in conjunction with the sysadmin create DB instances locally for the customer’s applications. The sysadmin then provides a clear financial breakdown of the technical costs to the project manager which in turn is able to draft a realistic budget. This information is invaluable especially if it is not the only public bid that the agency submits during this period. PaaS Database will be available under both by the hour and monthly pricing options, in order to meet the need for flexibility of small and large scale organizations alike.
During the drafting period, the developer is able to respond to the customers’ requests “on the fly”. After leaving the customer the choice of the features included in the application (which will also impact the databases), the developer is then able, in complete autonomy, to update the pre-production databases in preparation for final product validation.
If the project goes through, the databases associated with the application move into production… on PaaS DB. The developer, now in control of the entire development process, is assured that the databases hosted on PaaS DB will be scalable and able to handle load peaks in complete security for the customer. Ultimately, the sysadmin is able to make optimizations which are easily sent to production databases hosted on PaaS DB after confirming the concept in a pre-production environment, here again on PaaS DB, or locally.
The potential use cases are endless, keep in mind the key elements which justify the use of managed databases:
• Flexibility of teams
• Scalability of existing infrastructure
• Flexibility (no SPOF)
• Transparent pricing
• Minimum maintenance
• Possibility to isolate “tenants”
• Regular backups
Recently made available in public beta phase on our RunAbove platform, PaaS DB, or DBaaS, is just one of the many promising labs in which we work hand in hand with the community. Thanks to your feedback, we can envision the roadmap of features that you wish to see integrated into the final product. We invite you, if you haven’t already, to subscribe to our public mailing list to share your contributions and ideas.
The RunAbove project page and the start guide are available for you to take your first steps towards a new approach in database management that is both agile and easy to use. During our current beta, take advantage of our 1 month trial, free of charge for beta testers.