Implementing a multiple open source database strategy in the cloud
As application developers strive to become more agile and move to the cloud, they are increasingly opting for open source databases. And they’re realizing that no single database meets all their needs, so they are adopting a multi-database strategy. For example, they may need MongoDB as their basic data store because they have huge volumes of data coming in at high speeds. At the same time, they may handle transactions on PostgreSQL for Atomicity, Consistency, Isolation, Durability (ACID) compliance, use ElasticSearch for full-text search and add RabbitMQ to help with messaging between the data stores.
This open source, multi-database shift is great for rapid development of innovative applications. But it also presents serious challenges as businesses grapple with supporting new data technologies, move rapidly from experimentation to production and handle scaling challenges—all while reducing costs and managing risk.
Challenges for developers and IT managers
Suppose you’re a developer who has just created a killer application using MongoDB. It was so successful that you’re running into serious scale problems in production. You not only need to scale without any problems or surprises, but you also need to enable enterprise deployment requirements that no one thought about during the development phase.
Similarly, if you’re the IT manager, how do you deploy your developers’ applications on MongoDB or other popular open source database technologies across your enterprise? You have a multitude of applications in the enterprise, often with many databases for each. Are you spending too much time enforcing enterprise requirements when what you really need is a simple, effective, drop-in solution for all of your production applications?
Databases for faster access with less worry
|Elasticsearch||A full-text search engine combined with the indexing strength of a JSON document-based database|
|etcd||A key-value store for always-correct data that coordinates and manages distributed applications server clusters|
|MongoDB||A leading JSON document-based database|
|PostgreSQL||A highly customizable open source object-relational database|
|RabbitMQ||An open source message broker that asynchronously handles messages between applications and databases to ensure separation of the data and application layers|
|Redis||An open source key-value store that is fast, low maintenance and used for data caching|
|RethinkDB||A JSON document-based distributed database with an integrated administration and exploration console|
When deciding on a cloud database platform to leverage, IT administrators should select a platform that provides these capabilities:
- One-click deployment of production-ready databases with high-availability clustering and failover, auto-scaling, automated daily backups and an intuitive web interface
- The freedom to deploy any combination of the supported databases in a single managed environment
- Rapid time to value, so developers can focus on delivering innovative applications rather than database administration and operations.
Multiple deployment options for the same great experience
The cloud gives organizations the option to have a managed open source database platform with data isolation in a dedicated, single-tenant data cluster. You can choose between two deployment models: a managed model and the self-hosted—or virtual private cloud—model.
A managed model enables you to select initially from a range of cluster sizes depending on how many database services you want to run, with the option to grow as needed. Selecting this option also provides the ease of a single payment stream from a vendor rather than separate bills for infrastructure as a service (IaaS) and software. A self-hosted model enables you to set up the IaaS and then install the open source databases. Regardless of the model you deploy, the developer experience is the same.
A case in point: Springbot
Springbot knows the value of leveraging open source databases in the cloud. The company delivers a cloud-based, e-commerce marketing platform designed for small- and medium-sized businesses that combines the power of marketing automation and marketing analytics. Springbot was growing quickly, and the company needed to be confident that it could scale in size and process increasingly complex algorithms. And it needed the flexibility to move workloads between multiple databases.
To ensure scalable operations even with unexpected peak loads, Springbot selected MongoDB and Redis hosted on a cloud platform. Cloud infrastructures are designed to provide organizations auto-scaling, high availability, failover and backups. As a result, the Springbot team can focus on building a great user experience. The team expects to reduce their total cost of management while also giving them enhanced control over their servers.
Fostering developer creativity while easing management
Organizations want smart, motivated developers solving problems quickly and creatively, but also need to make sure IT is managing it all. IBM Compose Enterprise delivers leading-edge, open source databases in the cloud, including Elasticsearch, MongoDB, Redis and others, enabling you to deploy the most popular database as a service (DBaaS) without scaling and management challenges. Enterprise Compose empowers developers to build and grow web and mobile applications quickly and economically, without the cost, risk and distractions of database administration. And you can sign up for a 30-day trial and experience it for yourself.