Database-as-a-Service: A Key Technology for Agile Growth
Featured image via Pixabay.
Database-as-a-service (DBaaS) is a cloud computing service that lets users access and use a cloud database system without installing or managing their own database software. Instead, cloud service providers handle installation and setup as well as ongoing maintenance for clients.
Distributed cloud makes public cloud services, including DBaaS, broadly available in different environments — on-premises, on-cloud platforms and at edge locations. Distributed cloud providers, while maintaining underlying software, enable customers to flexibly use cloud services at the locations of their choice.
In this article, we discuss DBaaS and its core benefits in the context of a distributed cloud architecture.
Why Use a Database-as-a-Service?
Businesses can benefit by adopting databases-as-a-service for these reasons:
Databases-as-a-service relieve teams of installing, deploying, configuring high availability, managing security patches and other life-cycle aspects of using a database. Since the cloud provider maintains the database system and ensures availability and security, users of DBaaS benefit from site reliability engineering (SRE) expertise without themselves having to hire or train high-priced talent.
Using cloud databases on-premises through a distributed cloud provider such as IBM Cloud Satellite extends the built-in SRE expertise of DBaaS into the four walls of your data center, either on a provider’s or your infrastructure.
On cloud platforms, using databases-as-a-service is part of a strategic shift in IT from a capital to an operational expenditure model. This is an important benefit for many enterprise businesses. With this shift, companies can modernize their application development tools, practices and application experiences for customers.
Whether used on premises or on cloud platforms, DBaaS is cheaper to maintain, especially in regions where hiring open source and cloud database experts is difficult or expensive. In either environment, consumption of DBaaS is variably billed: virtual processor cores per hour, requests per second, amount of data scanned, RAM or disk capacity used per hour.
Cloud service providers have almost unlimited infrastructure, which was previously unattainable for most organizations in their own on-premises data centers through capital expenditures. That means with distributed cloud and DBaaS, scaling up and out globally can happen with a push of a button inside a web console. Rolling out products to new markets and regions becomes comparatively easy. It does not require having a data center in Japan, for example, to launch an application in Japan.
With a distributed cloud service like IBM Cloud Satellite, elasticity extends across cloud platforms. Satellite enables you to provision a database-as-a-service on another vendor cloud where you have infrastructure set up as a Satellite location. Provisioned services in all locations are monitored and managed through a single console view.
DBaaS is useful in pipeline stages of agile app development work. The cloud native ideal — writing application code once and deploying it anywhere — usually presumes one or more databases in each pipeline stage to hold and modify app data. Within a distributed cloud architecture, when app code is ready for production, teams can create a mechanism — maybe with Terraform scripting — for deploying the application and its database(s) wherever they need to run. Production targets within a continuous integration/ continuous delivery (CI/CD) pipeline may involve IBM Cloud, AWS or Azure compute, or infrastructure located on premises. DBaaS adds ease and flexibility to CI/CD in automating use of multiple environments. Flexibility in application deployment to different production environments can be cost-effective, for example, in enabling cloud customers to leverage existing relationships with particular providers for infrastructure discounts.
Beyond reducing operational costs and protecting availability, using a cloud database service also accelerates application innovation. Because developers can easily request databases as endpoints, the cost of doing proofs of concept for new application features disappears.
The more databases a cloud vendor provides as a service, the easier it is for an enterprise team to undertake business modernization initiatives to lift and shift workloads, develop new cloud native applications and adapt as future use cases become business priorities. A flexible cloud platform will help teams easily migrate data if they have already chosen a database. This also helps teams choose the best database for new workloads. For example, IBM Cloud offers these eight purpose-built databases as a service, with more coming soon:
That range of functionality as a service — for caching, full-text search, online transactions, unstructured data — allows application development teams to move fast, with reach and scale, through IBM Cloud Satellite. IBM Garage client engagements report reductions of time to market of up to 70% (compared to developing a traditional application) even if a development team is new to using cloud services and is learning cloud native skills and practices.
With the cloud provider managing the database, development teams can focus more on delivering better user experiences and business value across geographies. The consistency of DBaaS that distributed cloud provides across environments improves both development agility and velocity.
DBaaS is infused with best security practices: forcing encryption in motion with TLS, locking down ports, IP allow-listing, requiring strong admin passwords, etc. These capabilities protect against skunkworks teams spinning up databases outside the organization’s best practices. Consistent security profiles automatically limit risk at the moment teams provision database instances. With a well-run DBaaS program, all internal teams cannot fail to align with organizational policies.
Because gaps in governance most often manifest when teams are operating on different platforms, database consistency is especially important in organizations that use multiple clouds. For example, different cloud vendors provide PostgreSQL databases through different life-cycle APIs, using different best practices for integrating databases into logging, monitoring, encryption and key management services. A true distributed cloud-as-a-service precludes blind spots in the IT estate through a unified governance layer, letting you provision, monitor and manage all instances of PostgreSQL and other databases with a single console view, on-premises or on chosen cloud platform. Such a consistent view also relieves ops teams of the burden of learning all the nuances of cloud services on different vendor platforms.
Unified high availability is another benefit of DBaaS in the context of distributed cloud. Let’s say you have a fintech application. Security policy may require that, in operating regionally, the app must be able to fail over to another cloud provider. In a scenario where a cloud vendor goes down in a whole region, a distributed cloud-like Satellite enables quickly bringing up and connecting an application to a database instance in a different cloud vendor’s data center, avoiding extended downtime.
Once data lands somewhere, it’s more difficult to move. Even choosing a cloud database-as-a-service involves a degree of stickiness, but using a proprietary cloud database makes your data significantly stickier and makes the overall application more difficult to move between clouds.
In a multicloud world, being able to run the same database in the same way on different cloud platforms becomes a basic requirement. Open source projects provide the best options for cross-platform data migration and application interoperability. However, that holds only when different providers of open source database technology do not fork the open source code into special forms. All open source databases-as-a-service on IBM Cloud, for example, though infused with SRE expertise, maintain direct continuity with the most stable open source distributions, which ensures cross-platform interoperability.
DBaaS and Distributed Cloud are More Powerful Together
The benefits of DBaaS significantly increase as part of a distributed cloud solution. A DevOps team can provision, monitor and manage databases across multiple cloud and on-premise environments from a single console view with a common API, enabling greater agility. A true distributed cloud-like IBM Cloud Satellite provides continuity, governance and security across all deployed services, including DBaaS, in any location. The provider’s SRE experts manage the databases, patching and updating database software. An enterprise organization running DBaaS on a distributed cloud gains versatility with deployment environments, high scale without needing a large operations team and the ability to put a greater share of work into innovating user experiences for their customers.
Learn more about IBM Cloud Databases and IBM Cloud Satellite.