Microservices Versioning and the “Database per Service Pattern” with Oracle Autonomous Database

The database per service pattern with an Oracle database can be accomplished easily with one instance of Autonomous Database per microservice, a very easy to use and maintain database (relational and JSON).


But not only is easy to use and maintain because you don’t have to deal with administration tasks or manage different technologies for persisting data, in fact you have a very easy mechanism for versioning your microservices in parallel with your data: just by cloning the instance.

You can clone both with the dashboard or with commands that can be easily put in your CD pipeline.


oci db autonomous-database create-from-clone --compartment-id <mycompid> --cpu-core-count 1 --data-storage-size-in-tbs 5 --admin-password <password> --source-id <dbsourceid> --clone-type FULL --db-name <newname>

As an example, in the range of  a 4-5 minutes you can clon a 5TB database ready to be connected to a new version of your microservice.



With Oracle Autonomous Database you avoid the versioning anti-pattern quickly and easily.


And  what about putting an API Platform in between the users and the microservices? Think about it!


That’s all folks!

Enjoy 😉

Related content:

Microservices with Oracle

Microservices and SODA: JSON Data Stored in an Oracle Database Accessed through​ REST or Java

Creating a Java Microservice with Helidon/Microservice Archetype Deployed in Kubernetes

The Increasingly Important Role of API Management in the Adoption of Integrated SaaS Solutions Together with the Onprem and Third-party Systems




Connecting Oracle Integration Cloud Service (aka OIC) to API Platform Cloud Service


Oracle Integration Cloud Service is an integration platform consisting in several tools such as:

  • Integration: a low code but extensible integration environment with many out of the box connector adapters and many more in the marketplace
  • Process: a Business Process Managament and Business Rules environment
  • Visual Builder: a visual low code development environment

API Management

Oracle API Platform Cloud Serviceis a API life cycle management solution. It allows you to plan, specify, implement, deploy, entitle, policy enforcement, publish, grant and observe (analytics) your API’s.

Putting things together

OIC has a setup that allows connecting it to an API Platform instance easily. Let’s have a look:

  1. Create an ICS and an API platform service instances. Grab the fdqn url of the API Platform instance portal
  2. Go to your ICS service instance portal and, in the [Integrations] menu, go to [Configuration] and then [API Platform]
  3. Enter the information of the existing API Platform instance you created before and click on [Save]


Config is ready, and now what else?

Go to the lists of integrations in ICS and select one that is finished and ready to activate and click on the [Activate] button or menu.


As you can see, the connection between ICS and API Platform is working, and we are proposed to choose what to do. We can activate the integration (only in ICS) or activate in ICS and publish to API Platform.

Let’s clink on [Activate and Publish…]


You have two options, create a new API or add to an existing one. Leave unchecked the Deploy and Publish options. Once you have finished entering the values, click [Create]. Integration is activated and a new option appears in the hamburger menu:


Now, go to the API Platform portal instance and notice the new API created:



We haven’t deployed the API to a gateway, therefore it is not yet ready for consumption thought API Platform, that is something we’ll explain in coming post. For the moment let’s keep in mind that the integration implemented in ICS has been deployed to API platform and is ready for start applying several API management best practices, such as applying security, traffic, interface or routing policies.


That’s all folks!

Enjoy 😉