What Are Database Deployment Options?

When choosing a database to run your organization, many factors need to be considered. Does it provide the performance, scale, and availability required? Does it provide flexibility and efficiency by supporting all business workloads? Does it enable innovation with integrated machine learning, advanced analytics, and application development tools?

Organizations require an extensive set of capabilities in their applications in order to deliver the level of service their customers expect in an ever-changing business environment. Deciding where to deploy the databases that support an application portfolio is crucial since there are plusses and minuses for each deployment option.

Choosing the right database and deployment options

When deciding where to locate the databases your organization needs, it’s important to consider the type of application(s) each database supports, the dataflows between the databases and applications, and the level of criticality for each database. Core business applications need higher levels of performance, scale, availability, and security. Regardless of the location where these databases run, they should provide key capabilities, including the following:

  • Multimodel data type support: A single database supporting ALL types of data, including native JSON, greatly simplifies the system implementation since only one set of administrative knowledge is needed.
  • Data integration: All data types should be accessible across all applications as desired. Data integration capabilities reduce the need for complex application-level code or services to bring the data together.
  • Analytics: Your organization should be able to analyze and understand what all of your data really means. It should be possible to apply analytics across multiple types of data, such as relational, text, spatial, and graph. Databases with built-in advanced analytics capabilities allow organizations to understand their data faster and with fewer additional external products or services.
  • Machine learning: Today’s organizations need to be able to build machine learning models inside the database and run them against the new and historical data to discover new insights. Databases with built-in machine learning modelling and inference capabilities allow organizations to avoid the time-consuming process of extracting, transforming, and moving data to an external system.
  • Converged data and access capabilities: When the same database has multimodel data type support, data integration, multiple types of analytics, and machine learning capabilities, it is called a converged database. Converged databases increase operational efficiency and lower costs with faster, easier application development, reduced management workloads, and higher levels of database and infrastructure consolidation.
  • Application development: Integrated tools and low-code application development environments make it faster and easier for developers and power users to create innovative applications without requiring additional tools or services.
  • Consolidation: Consolidating multiple databases to run on one set of cloud or data center infrastructure improves resource utilization, reduces management, and lowers overall costs. A key aspect provided by converged databases is being able to consolidate different types of workloads on the same infrastructure. The ultimate level of consolidation an organization achieves depends on their underlying hardware infrastructure and deployment approach. Hardware specifically designed to run databases provides the highest level of performance and consolidation.
  • Management automation: An autonomous database using machine learning to automate many routine management tasks and reduce human errors allows DBAs to operate more efficiently and better support line-of-business innovation.
  • Security and Identity Management: No worrying about unauthorized access to crucial information. Strong, consistent security across a converged database helps organizations reduce threats against crucial business data and private information.

Beyond these core database capabilities, the deployment platform enables or restricts how you can use them. However, enterprise databases must have high availability built in at the software and hardware levels to support 24/7 operations. Disaster recovery is also critical, particularly when faced with geographically dispersed organizations and ransomware threats. And, while many people may overlook it, high performance is crucial since it allows business-critical applications to support the high-volume transactions and analytics that are required to support growth.

For example, a retail company that needs to enable many customer transactions and run near real-time reports against current data may choose a converged database solution in the cloud while a bank that requires the maximum level of security and data residency may need a solution running in their own data center.

Locations for deploying databases

Enterprises need to look at not only which databases best fit their needs but also where to deploy that database. These choices are interrelated because a particular database may only run in one location, or the platform on which it runs in one location is vastly superior to the platform available in another location. An easy way to combine these is to see whether the preferred database can run in the desired location(s), for instance in the public cloud, in a private data center, in a cloud within the data center, or in an edge environment.

Deploying databases in customer data centers

Deploying databases in customer data centers offers several advantages. Databases are physically close to other systems, applications, data resources, and users so data can be accessed with low latency. In an on-premises data center, the databases and infrastructure are fully under customer control, which satisfies data residency requirements as well as many industry best practices. Some business practices also require using a capital expense (CapEx) financial model, which is made easier by deploying resources in customer data centers. This approach requires a database administrator (DBA) to manage the underlying hardware infrastructure as well as the database.

There are two flavors to this approach:

  • Customer integrated solutions: This means in-house IT departments provide all the expertise and management necessary to acquire, integrate, patch, and secure all the various pieces of the environment. Do-it-yourself integration and management of server, storage, networking, virtualization, operating system, and database software from multiple vendors can be a time consuming and onerous task.
  • Prebuilt integrated solutions: This approach is much easier to deploy and manage since all hardware and software components are already engineered, integrated, and optimized to work together. Integrated solutions eliminate the need for IT departments to spend time making components work together and tuning them for peak performance. For small to medium sized businesses, an integrated, full-stack solution to run the database and application together is an economical approach. Using these integrated solutions, organizations can eliminate data center complexity by using less infrastructure, thereby lowering overall costs and saving time.

Deploying databases in public clouds

For many organizations, running their databases in a public cloud is an appealing choice. It has the advantage of being quick to implement, with potentially no initial capital requirements. Public clouds also provide some level of infrastructure and software management. Deploying on a public cloud doesn’t require any investment in data center space, machinery, or hardware operations staff, which can reduce costs. Plus, users can create databases in minutes since there’s no need to separately install and manage all the hardware and software components to run the database. The public cloud approach allows customers to easily leverage additional or different resources over time as workloads evolve.

When using a public cloud, there are different approaches organizations can take and different tradeoffs for each one. These different approaches are deploying on Infrastructure-as-a-Service (IaaS), Platform as-a-Service (PaaS), multicloud environments, public clouds in customer data centers, and private clouds.

Deploying databases on IaaS

One approach is to create a database environment in the cloud on bare-metal or virtualized infrastructure and then managing that infrastructure as if it was on premises. This allows the infrastructure to be tailored exactly as desired and eliminates the need to manage hardware and potentially virtualization software. Significant DBA time and system-management expertise is required to manage this implementation on an ongoing basis.

There are specific reasons for choosing this approach:

  • The workload requires a different database or version of the database than is available with a fully managed service. Each database is typically deployed in the cloud in a virtual machine (VM).
  • Customers are migrating enterprise applications (third-party or developed in-house) to the cloud. If the IaaS provider offers compute shapes and storage capabilities that support an organization’s current on-premises deployment requirements, then using IaaS makes it easy to move the complete applications infrastructure to the cloud. This will lower the organization’s total cost of ownership (TCO) and improve database administrator productivity.

Deploying databases in IaaS environments may be best for organizations that use highly specialized databases, in particular for those that are small, unlikely to grow, and are tightly integrated with applications.

Deploying databases on PaaS

Also known as database as a service (DBaaS), this type of cloud service provides the compute, storage, and database software customers need to run a database. Some of these services eliminate the requirement for DBAs to set up or manage physical hardware, the installation of software, or to configure the database. A DBaaS environment enables users to provision databases in a matter of minutes, eliminates system management work, and often reduces the amount of database administration required. There are several options for deploying databases within a DBaaS environment:

  • Single-purpose databases deployed on generic infrastructure: Typically, this approach requires the customer to deploy multiple different databases to support different portions of their enterprise workload and use multiple additional services to link the various databases together. Having multiple databases and tools for moving data around increases DBA workloads, potentially introduces security flaws, and escalates costs.
  • Converged database service on generic infrastructure: This option supports all types of workloads, data types, and applications. It reduces complexity and costs, but is limited in the performance and scale it can deliver.
  • Converged database service on integrated and optimized infrastructure: These deployments offer simplicity and flexibility of the generic infrastructure while eliminating concerns about performance and scaling. The infrastructure is preoptimized and preconfigured for all types of data and databases and supports high levels of database and infrastructure consolidation. This approach helps customers meet requirements to support business-critical workloads and enables simpler growth in the future.
  • Autonomous database solution: This approach extends the previous ones by using a converged database with machine-learning–based automation to eliminate database administration tasks. Organizations achieve high performance, reliability, security (PDF), and operational efficiency while lowering costs.

Within the converged database and autonomous database approaches, organizations may be able to use several different types of infrastructure:

  • Shared infrastructure
    • Multiple users share the same cloud platform resources in the public cloud, with each user consuming vCPU resources.
    • Automatic scaling helps you balance performance and costs by increasing performance during peak periods and scaling back during times with lower workload demands.
    • Customers can get started for a lower cost with pay-per-use economics and no minimum commitment required.
  • Dedicated infrastructure (PDF)
    • Customers run on dedicated compute and storage, achieving complete isolation of data and operations—eliminating "noisy neighbors" and helping to meet certain security requirements.
    • Dedicated servers, storage, and networking offer greater control over operational policies.
    • Dedicated infrastructure maximizes the benefits of database consolidation in the cloud by improving resource utilization and lowering costs.
  • Beyond the deployment choice, the converged and autonomous database options can be tuned to support specific workload types while still supporting all other workloads. Some of these workload types include:

  • Analytics and data warehousing: A fully automated data warehouse eliminates all the complexities of operating a data warehouse. It delivers the combined capabilities of a data lake, data science, and machine learning with a simple, secure, self-service capability for analytical processing and business insights.
  • Transaction processing and mixed workloads: A fully automated transaction processing database simplifies database operations for OLTP and mixed workload applications with real-time analytics and high levels of performance and scale. On a dedicated infrastructure, this provides an ideal platform for database consolidation.
  • Document database workloads: Developers quickly create and deploy JSON-centric applications, such as customer 360, content and catalog management, and mobile applications, with NoSQL-style document APIs. Developers don’t need to worry about creating data models or writing complex code. Organizations can leverage the underlying automation capabilities of the database to maximize performance and security.

Deploying databases in PaaS environments may be best for organizations that want to minimize infrastructure and database management operations or are looking to reduce overall costs by consolidating infrastructure for hundreds to thousands of databases. Autonomous databases in PaaS environments bring the added benefit of virtually eliminating database management itself, allowing data management teams to focus on schemas, data, and users instead of the underlying database software.

Deploying databases on multicloud environments

Large enterprises that need to run hundreds of applications have found that it is best to utilize multiple clouds. For some business needs, the solution that provides the most functionality, highest performance, and lowest cost may require distributing the application and database stack across multiple clouds in what’s known as a multicloud environment.

In multicloud environments, it’s common that the application tier runs in one cloud (possibly because it only runs there) while the database tier runs on a different cloud that provides higher performance, greater scale, or lower costs than the cloud where the application tier is running. In multicloud environments, it’s critical that the cloud data centers from each provider be located relatively close to each other in order to minimize latency that can reduce application performance.

It’s also important that different cloud vendors used in a multicloud architecture have a strategic relationship with common support policies to identify and resolve any issues that arise and to minimize data egress costs for each cloud.

Deploying databases in a multicloud environment may be best for organizations that need a high-performance, enterprise (or perhaps autonomous) database and must be able to use applications that are not readily available in the same cloud.

Deploying on public cloud in customer data centers

Many business requirements or government regulations necessitate that a company’s data reside inside its data center or within the geographic limits of the country it resides in. To achieve these goals, organizations can deploy public cloud resources inside their data center with the cloud provider managing the infrastructure and, depending on the service, the databases. This approach provides the value and benefits of cloud, including a public cloud subscription-based service that meets requirements for data residency, security, and residency. This local cloud as a subscription (LCaaS) model provides the automated management the cloud provides, high performance from dedicated infrastructure, and efficiency benefits from consolidation. Customers can scale up and down their consumption as workloads change during the day or over time. Deploying on a public cloud service in customer data centers provides many advantages, including the following:

  • Providing an easy first step to migrate existing on-premises databases to the cloud.
  • Allowing customers to provide data security and residency while benefiting from the cloud since data always remains behind their data center firewalls.
  • Enabling customers to meet latency requirements for connecting to existing applications or data sources running in the data center.
  • Maximizing the benefits of consolidating multiple workloads onto a pool of shared compute, storage, and networking resources. Sharing pooled resources results in higher utilization efficiency, greater deployment agility, and lower costs.

Some of these solutions allow the deployment of an autonomous database on public cloud resources in customer data centers, enabling organizations to benefit from the automated scaling, provisioning, patching, and fault management those databases provide. These advanced automation capabilities increase data availability and security by eliminating human errors, while lowering costs with pay-per-use consumption economics..

Deploying databases on public cloud resources in customer data centers is best for organizations that have data residency and security requirements that cannot be met in public cloud regions. This approach may also be best for enterprises that want to benefit from cloud automation and pay-per-use database pricing while still running applications on existing resources in their data centers.

Deploying databases on private clouds

Historically, databases were deployed on shared infrastructure in customer data centers. This infrastructure ran applications, middleware, and databases on infrastructure that was designed for good performance and availability, but it was expensive and didn’t offer any database-specific performance optimizations.

More recently, this shared approach has given way to the concept of a private database cloud where dedicated, on-premises infrastructure is specifically tuned to optimally run databases. These private database clouds are owned and managed by the enterprise that uses them, which has the advantage of allowing extremely high levels of database consolidation with multiple database versions running on the same infrastructure. These platforms have high levels of built-in automation to ensure that each database gets the resources it needs to meet performance SLAs while also prioritizing latency sensitive activities for crucial applications to help ensure that they run with the highest possible performance.

Running databases in a private cloud may be the best approach for organizations with high levels of database and application customizations and interconnectedness. For most applications, private database clouds look indistinguishable from legacy on-premises database deployments, so adopting them may be the easiest approach to start moving to the cloud.

Database portability in hybrid cloud environments

In most organizations, it isn’t an either-or choice of deploying databases in the cloud or their own data centers: they do both and need the two environments to work together. There are many scenarios where customers will need to deploy in hybrid cloud environments. For example, many companies develop applications in one location and deploy them in another. Or a company may have applications supporting remote operations running in the public cloud while centralized operations run in its data centers.

To minimize IT workloads, one of the key requirements for deploying databases in hybrid cloud environments is that the database software and the hardware it runs on provide the same capabilities, management, and security in all environments. Environments with high levels of identicality reduce the amount of effort required to move databases and applications to different locations and manage them in a consistent manner.

Choose a cloud provider that offers deployment alternatives

Organizations need to select a cloud provider that offers a complete, integrated solution, with a broad set of converged database capabilities and high levels of infrastructure identicality that enable deployment wherever required. Such a solution helps ensure that organizations can meet flexibility, scalability and growth requirements while keeping costs low.