The key benefit in our first use case was the time that we saved by using Docker containers instead of the traditional manual installation and configuration method of building a typical Oracle database environment. The traditional build process is complex and involves much time and planning. With Docker containers, the traditional build process is transformed into a self-service on-demand experience that enables developers and others to rapidly deploy applications. Using Docker containers offers many advantages. The primary benefit in this first use case is the capability of having an Oracle database container running in a matter of minutes.
While setting up the Docker container environment for this use case, we learned valuable lessons regarding server environment configuration and its impact on the cost of Docker licensing. Use Case 1 planning also demonstrated the importance of selecting the Docker registry location and storage provisioning options that are most appropriate for the requirements of a typical development and testing environment.
Dell Technologies offers a broad selection of servers, enabling customers to configure their compute resources to match business requirements. PowerEdge R640 servers optimize the Docker Enterprise Edition per-core licensing. We recommend investing time into designing a PowerEdge server environment that maximizes your Docker licensing investment. The key to the greatest return on your Docker environment is consolidation that maximizes the efficiency of CPU utilization.
When selecting the location for a Docker registry, consider ease of use and support, speed of container provisioning, and frequency of container provisioning. Container provisioning speed and frequency requirements help determine where the registry resides. For example, for low-speed and low-frequency provisioning, a cloud-based registry approach might be ideal. High-speed provisioning that is coupled with high-frequency provisioning can mean that a local private registry using a LAN is best.
Provisioning storage from the PowerFlex storage array is fast and easy, but it is a manual process that requires coordination between the developer and the storage administrator. In this use case, we demonstrated manual provisioning of storage, which works well for small development environments. For larger development environments, or for customers who are interested in automation regardless of the environment size, Use Case 2 shows how Kubernetes, combined with the CSI Driver for PowerFlex, accelerates storage provisioning.
In Use Case 1, we used Docker volumes, but we could have used bind mounts which would allow Docker to implement in-host storage for fast performance. This method is ideal for attaching storage to a container and can be anywhere in the host operating system. When bind mounts are used, any server processor or person can access the directory. However, administrators can manage this access by securing database files at the owner and group levels and by using directory and file permissions.
The following table provides a high-level summary of the decisions we made when implementing containerized Oracle database Server in Use Case 1.
Table 6. Summary of business decisions in Use Case 1
Choice |
Decision |
Explanation |
Docker Community Edition or Enterprise Edition |
Enterprise Edition |
Provides certified images and business support |
Cloud-based private registry or local private registry |
Local private registry |
Offers the fastest provisioning of containers, although increases complexity and support requirements |
CSI Driver for PowerFlex product guide or automated provisioning |
Manual storage provisioning |
Is appropriate for the limited requirements of this use case |
Docker volumes or bind mounts |
We used Docker volumes in Use Case 1. But customers could use bind mounts for this use case instead. |
Provides speed, flexibility and ease of deployment of Oracle database in the Docker containers. |