How to Use Puppet for Oracle Configuration Management
Moving to the cloud is one thing. Configuring and managing resources across systems is another. In this blog, we'll explain how Puppet can streamline Oracle configuration management and share an example of a Puppet user who successfully does it today.
Table of Contents
- What is Oracle Cloud Infrastructure?
- Moving to OCI and Oracle Configuration Management with Puppet
- An Example of Using Puppet for Oracle Configuration Management
What is Oracle Cloud Infrastructure?
Oracle Cloud Infrastructure (OCI) is a cloud platform that lets DevOps teams build applications in the cloud or on-prem.
Moving to OCI and Oracle Configuration Management with Puppet
As many Oracle customers plan their migration to OCI, proper tools should be considered in order to make a smooth transition.
Enterprise Modules, a contributor to the Puppet ecosystem, created a module that makes it possible for Puppet users to configure and manage resources in OCI. It does that by extending the Puppet language to contain types needed to create and manage the lifecycle of objects within your Oracle infrastructure in the cloud.
The Benefits of Configuring OCI with Puppet
While many organizations today use Terraform to provision Oracle cloud resources, when it comes to ongoing Oracle configuration management, a solution for continuous integration should be considered. With Puppet, you can:
- Integrate cloud resources into your existing infrastructure, and manage everything with one tool.
- Use existing Hiera data to configure parts of your OCI infrastructure.
- Have a tighter integration between Oracle cloud configuration in general and the configuration management on your systems.
An Example of Using Puppet for Oracle Configuration Management
By Puppetizing their OCI components, a health insurance service provider accelerated their move to OCI. We’ve outlined their journey below.
Getting Started
The customer provides services for health insurance companies in the Netherlands and on the Netherlands Antilles. They had two challenges. First, their on-premise hardware needed a life cycle refresh, and second, they needed to increase the speed of the software delivery pipeline. They decided to split this into two projects, starting with improving the speed and consistency of their delivery pipeline.
The Environment
To run the application functionality, they needed five to six systems and a central database. These systems together they call a ‘silo’. Each customer has multiple silos, so they were looking at controlled delivery of more than 120 systems. The stack needed for the application contains multiple Oracle databases and multiple WebLogic domains with other Fusion Middleware components.
Start by gaining control
The first project was ensuring consistent and fast delivery of the silos. This was done by Puppetizing the current stack. For the Oracle database and the WebLogic software and configuration, they used the oci_config module, which contains types, classes, and facts to aid in OCI deployments. This allowed them to build a basic setup for a silo within a couple of weeks.
Moving to Oracle Cloud
The customer decided that they’d rather move to the cloud than invest in new on-premises hardware. After investigation, they chose OCI. Currently, they are in a Proof of Concept (PoC) to see if the OCI setup is delivering the required performance. For the PoC, they use an ExaData based database as their main database. They also decided to combine solutions after moving to the cloud: they use Terraform to define the OCI infrastructure and apply Puppet code to manage everything on the OCI machines.
Building a Cloud Infrastructure for the Future
Within a day after starting, they were running an application silo in the OCI. In the future, the customer plans to move some of the databases to DBaas. But for the time being, the plan is to move the current infrastructure as-is (e.g. lift and shift) to OCI. The current Puppet code proved to be instrumental in this move. With only minimal changes, they are able to run the current Puppet code on OCI systems.
We would love to hear from you about how you are managing your OCI infrastructure today and discuss how we can help. Reach out on the Puppet Community Slack.
Learn More
- Read the Enterprise Modules guide to installing the oci_config Puppet module.
- Follow the guide to deploy an Oracle 19 database.
- Learn how Puppet Enterprise can help you move to the cloud.