Building your Database-as-a-service for MySQL workloads on Robin
Database-as-a-service (DBaaS) is a cloud computing service model that enables DBAs and developers to quickly deploy and manage enterprise-grade databases without the need for setting up physical hardware, installing software and configuring databases for performance. All of the administrative tasks and day 2 operations are handled through the DBaaS platform, so all that the application owner needs to do is to start using the databases and build some business solutions without having to worry about underlying infrastructure setups and dealing with complex database install and upgrade processes.
It is very important for any enterprise to design their private cloud DBaaS solutions on the right platform that supports all of the business-critical features that are needed to run enterprise-grade, tier-1 production workloads. Various considerations should be made while architecting a DBaaS platform, such as reliability, scalability, security, efficiency, supportability, disaster recovery, fault tolerance, high availability, multi-tenancy, performance, API integration, RBAC, monitoring, and extensibility.
The Robin Platform is the most powerful platform which enables enterprises to build any application as-a-Service on premise or public cloud. It provides all the essential platform features that are vital for running any critical data-heavy workloads, like databases, ML and big data apps, running on containers orchestrated by Robin’s Kubernetes.
In a nutshell,
Robin’s hyper-converged Kubernetes is a software-defined application orchestration framework that combines containerized storage, networking, compute (Kubernetes), and the application management layer into a single system. This allows enterprises to automate provisioning and lifecycle management of complex data-heavy workloads, like databases, big data applications and complex data pipelines
Let’s understand some benefits of Running MySQL workloads on the Robin Platform:
MySQL databases on the Robin platform come with a multitude of features that are very critical for running enterprise production database workloads. Some of the built-in features of the Robin platform that are critical for running MySQL workloads for day 1 and day 2 include:
- App Store or marketplace experience: For deploying a simple MySQL database, navigate to the bundles section of Robin UI and select the MySQL database icon as shown below.
- Self-service and managed service experience: 1- click provisioning and application lifecycle management capabilities, including snapshots, clones, upgrades, scale, backup, start and stop.
- Built-in fault tolerance: Robin’s app-aware scale-out storage comes with inbuilt replication capabilities which enable the database to withstand any failure of resources, like disk, host, and data center.
- Built-in high availability: Both the Robin platform and MySQL databases deployed on the platform come with built-in high availability. Refer the diagram below.
Built-in disaster recovery: Robin platform can be scaled out to deploy across multiple data centers with replicated volumes allowing MySQL cluster applications to protect themselves in the event of disaster related to a data center.
- Resiliency: Both the Robin platform and the workloads deployed on it are resilient to any failure, such as disk, instance, host and data center failures.
- Lifecycle hook scripts: Robin lifecycle hooks are an integral part of Robin’s application bundle framework. These are customizable app lifecycle scripts that are executed at every specific lifecycle phase, such as postcreate, pre snapshot, post snapshot, postclone, preclone, and post upgrade. This gives the flexibility to tailor application behavior as needed.
- Application consistent snapshots: Robin platform provides capabilities like application consistent snapshots and rollbacks of your MySQL databases and topology. These snapshots can be scheduled and retained based on the user need.
- Application consistent rollback: Robin’s rollback feature will allow you to restore your application topology + data + configurations back into time of the snapshot. This would be helpful for MySQL DBAs to travel the database back in time and restore it, should the user accidently delete some data.
- Quick clones: Robin platform is designed to efficiently support day 2 and day 3 application lifecycle operations, such as quick clones, snapshots, rollbacks, upgrades, and clones.
- Database backups and restores: Offsite and cloud backups are made easy, fast and efficient.
Robin backups are app-aware and self-contained, containing MySQL data + MySQL configurations + Kubernetes objects (configmaps, secrets). These backups can be exported to on-prem or cloud repositories like s3, GCS, Azure object store and so on.
MySQL DBAs can use this backup to restore and bring up the databases across any Robin cluster either on cloud or on-prem
- Database/ application cloud portability: Robin backups are self-contained. They allow you to seamlessly move your complex stateful databases and applications across multiple clouds and on-prem with just a few clicks, using a unified management platform.
- Scale up and scale down: Robin platform supports the dynamic resizing of MySQL container resources, like CPU, memory, storage and IOPS to meet growing business needs.
- Scale out and scale in: To support growing business demands and increased application traffic, the underlying MySQL database cluster should also be scaled to serve the increased workload. Robin’s scale out/scale-in feature allows users to increase the number of MySQL database instances on-the-fly and dynamically adds/removes the MySQL instances to the cluster, based on the workload demands.
- Database failure detection and auto healing: Robin’s autopilot watches and ensures that the database is always up and in desired state. If not, it takes corrective actions.
- API-first software: Powerful command line and rich web user interface supports DBaaS integrations with third-party workflows and automations, like ServiceNow, Jenkins, and Ansible.
- Observability & monitoring: Robin platform comes with built-in prometheus and grafana for monitoring, reporting and alerting of all platform and MySQL container resources.
- RBAC, multi-tenancy, resource pools: Resource pools in Robin allow you to logically group a set of resources for allocating databases. The platform supports rich RBAC and multi-tenancy capabilities that are fundamental requirements for designing DBaaS solutions.
- Support for rich and fine-grained resource placement policies.
To summarize, MySQL workloads running on the Robin DBaaS platform come with a plethora of features that are well-suited to deploy in-production MySQL workloads. The platform is easy to set up and it only takes a few steps to start building your first database.
Robin’s super-charged Kubernetes platform is tailored to provide end-to-end DBaaS solutions, while providing all the building blocks essential for designing a robust, fault-tolerant, highly available, high-performing DBaaS ecosystem to host various tier 1 workloads.
For more information about various platform features and options, please refer to the Robin documentation at https://robin.io/docs