NuoDB as a Red Hat Certified Container In Red Hat OpenShift Container Platform
DEC 7 2017 , Christina Wong
Today’s distributed world has moved beyond traditional, monolithic client-server systems and toward systems like NuoDB that are designed for agility and flexibility. Now, nine years since its initial conception and nearly five years after the release of our 1.0 product, NuoDB has matured into an enterprise-capable, elastic SQL database that our customers rely on as the data backbone for their cloud and next-gen applications.
The foresight of NuoDB’s founders is particularly impressive given that we now live in a world where cloud applications are table stakes and containerized applications are rapidly becoming top-of-mind for next-generation application strategies.
Our customers increasingly explore and implement containers as part of their production deployments. Thankfully, NuoDB has the ideal architecture for this type of distributed architecture (read this whitepaper – registration required – to learn more about our architecture, in-depth).
As container interest and container offerings exploded, Red Hat recognized that organizations using containers for their production, mission-critical applications were concerned about risk and security. Instead of pulling containers from a variety of unknown, public sources, organizations wanted to mitigate their risk and build applications with containers from a trusted source that certified and scanned containers for security vulnerabilities and other issues.
Red Hat’s response to this? They launched the Red Hat Container Catalog, which is a repository of certified containers that have been vetted and hardened by Red Hat’s internal security team. Recently, Red Hat expanded their catalog to include containers built by Red Hat Technology Partners.
As part of our partnership with Red Hat and as part of our efforts to support NuoDB as an enterprise elastic SQL database, we took advantage of this opportunity to become an early adopter of Red Hat-certified containers and build our own NuoDB Red Hat Certified Container.
Let’s talk a little bit about how NuoDB builds its containers, our Red Hat Certified Container, and how you can use it in your projects.
OUR DEVOPS PIPELINE
We employ modern development practices at NuoDB and how we build our containers is no different. Our DevOps pipeline creates two versions of the NuoDB Community Edition (our completely free developer version of NuoDB) container. One is built with the Red Hat Enterprise Linux Base image, built on Red Hat Enterprise Linux 7, and pushed to the Red Hat Container Catalog repository where it undergoes Red Hat scans and health checks. The other is built using CentOS and pushed to Docker Hub.
Which one do you want to use? Well, if you’re developing with Red Hat technologies such as any Red Hat software or Red Hat OpenShift Container Platform (via the Red Hat Container Development Kit), you should use the Red Hat certified container (requires a Red Hat login). And if you are building applications using other technologies and platforms feel free to check out our container in the Docker repository.
NUODB AND RED HAT OPENSHIFT CONTAINER PLATFORM INTEGRATION
One of the reasons why we’ve partnered with Red Hat is because their vision of containers and hybrid cloud so closely aligns with our own. NuoDB is designed to be deployed across hybrid cloud and multiple cloud environments. And, as a hybrid cloud application container platform OpenShift is naturally a great fit for our database.
For those of you who aren’t familiar with NuoDB’s architecture, query transaction processing and storage management are separated into independent processes. This is unlike traditional databases where these two processes are tightly coupled together in a monolithic architecture. NuoDB processes form a peer-to-peer network where each processing tier can independently and elastically scale out and back in as application requirements demand.
In OpenShift, organizations can deploy NuoDB-certified containers in their OpenShift environment. Each container can be added as part of the NuoDB database domain and then be assigned transaction processing or storage responsibilities. All the transaction and storage process nodes may be deployed in their own container and managed by Kubernetes. This allows OpenShift to easily scale transaction process nodes out and back in to meet application workload demands, and add or remove storage process nodes to meet durability and redundancy requirements.
When any new process node – transaction or storage – is added to the database, the node automatically peers with the rest of the database and starts processing data.
NuoDB can easily be deployed along with OpenShift across hybrid cloud environments – for example across a data center and a cloud environment – for continuous availability purposes, to process workloads in different locations, or for a seamless migration to the cloud. In fact, feel free to check out our video of NuoDB deployed in OpenShift to get an idea of how this can work!
HOW TO TRY OUT THE NUODB RED HAT CERTIFIED CONTAINER IN OPENSHIFT CONTAINER PLATFORM:
First, join the Red Hat Developer Community, which gives you access to Red Hat enterprise software, resources, and experts to support your development projects.
Then, download and install the Red Hat Container Development Kit, which gives you an instance of Red Hat OpenShift Container Platform to run locally on your machine.
After you’ve created a new project in OopenSshift, you’re ready to pull and deploy NuoDB from the Red Hat Container Registry.
The following command will create a temporary project application called ‘nuodb-deployer’. The NuoDB container will self-deploy new project applications as Broker, Storage Manager (storage process), and Transaction Engine (query transaction process) containers. Make sure you replace with your Master OpenShift node’s IP address and username/password of a local OpenShift account with access to your OpenShift project.
oc new-app registry.connect.redhat.com/nuodb/nuodb-ce:3.0.0 \ --name nuodb-deployer \ -e "ENV_TYPE=OPENSHIFT" \ -e "OC_ADDRESS=" \ -e "AGENT_PORT=48004" \ -e "NODE_PORT=48005" \ -e "DB_NAME=mydatabase" \ -e "DOMAIN_PASSWORD=bird" \ -e "CONTAINER=registry.connect.redhat.com/nuodb/nuodb-ce:3.0.0" -e "USERNAME=" \ -e "PASSWORD="
Note: Disabling Transparent Huge Pages (THP)
NuoDB requires that THG is disabled on all host running the NuoDB container. For instructions to disable THG go here:http://doc.nuodb.com/Latest/Default.htm#Note-About- Using-Transparent-Huge-Pages.htm
Supporting NuoDB in container applications isare a key initiatives of ours. We have several exciting blogs on this topic planned for the rest of the year!
We’ll be discussing containers in general, the challenges of databases in container applications (and how NuoDB addresses these challenges), and the greater container technology ecosystem in general.
As Director of Partnerships and Product Marketing, Christina Wong is responsible for leading and managing NuoDB’s technical partnerships, as well as driving and defining product marketing in support of overall go-to-market strategy for NuoDB. Her 10+ years of marketing, sales, and engineering experience spans a broad range of high-tech industries.
Follow Christina on Twitter at @tehWong
Sponsored by NuoDB