Automating with OCI Oracle Resource Manager

I use this because I’m lazy.

This is true. After doing something that is repetitive because either I’m testing or incrementally improving what is happen, I get frustrated. So, I automate. In this scenario, here I have an application that I’ve been working with a few people (like @stantanev), and as such spending a little bit of time automating the provisioning of the stack made sense. I value my time as I value other people’s time.

Oracle Resource Manager (ORM) is part of Oracle Cloud Infrastructure and is available in all tiers – Trials, Always Free Tier, Pay-As-You-Go or with Universal Credits. In short – EVERYONE gets it. The easiest way that I think of ORM, is that its a managed Terraform service within the Oracle Cloud Infrastructure environment. Let’s talk a look at it.

You find ORM in the menu under “Solutions and Platforms”. Firstly, you need to create a stack (this is a Terraform root module).

And then as part of defining the source of the stack and there’s a few ways to get started with ORM.

  • From an folder or zip file of an existing terraform root module.
  • From a github or gitlab repository (of an existing terraform root module)
  • From an existing solution stack provided by us
  • From an existing solution stack that defined as a template (that can be shared)
  • From an existing deployment that has been introspected.

Once the modules have been loaded, then the modules are introspected for variables which are then used to configure the stack. The nice thing is that there can be further metadata defined as part of these stacks to help describe and configure the variables. As in the following the regions and compartments as drop-down lists where the list is pulled from OCI itself.

And then its very much like Terraform – Plan, Apply, Destroy the stack.

There is a difference that helps and its the drift detection which introspects into what is running and provides a side-by-side comparison of the terraform model and what is running. This is very handy for various reasons and for me it’s either debugging or environment control.

The actions are performed on compute as part of the service with the logs and terraform state also managed as part of the service.

So as an example, I’ve deployed an application that has:

  • two VM compute instances (one with a set of APIs and the other with a Kafka cluster)
  • an Autonomous Data Warehouse with Oracle Rest Data Services exposing APIs
  • an bucket in the object storage for the static content

These resources were provisioned with the code, database schemas and web-site. ORM made the whole process easier. After a few minutes and then its done and ready.

I acknowledge Mason Borda for their contribution in building this game.

Now, if someone else wanted another copy of it. Then its done. If someone wanted an update. Then its done quicker. Within minutes, it’s all done. And my learning experience around this was to gain more experience of Terraform and I found it was made easier with ORM on Oracle Cloud Infrastructure.

If you want to give this a try using ORM, you can try it out with copy of this from my github repository @ https://github.com/jlowe000/oci-arcade-tf. As mentioned, there’s a couple of different ways to upload the module. If need some help in getting this started – have a look the steps in the documentation around “Managing Stack” – https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Tasks/managingstacksandjobs.htm#StackManaging

The README has the details there too and it’s been purposefully built in such as way that it can be run on an Always Free Tier Oracle Cloud tenancy. If you need an environment to try this out or to have a game or two – head to the following link and sign-up. https://www.oracle.com/au/cloud/free/

To find more information about Oracle Resource Manager, have a look at the documentation – https://docs.oracle.com/en-us/iaas/Content/ResourceManager/Concepts/landing.htm

Have fun learning.

Author: Jason Lowe

I am passionate about how organisations adopt IT quickly and sustainably to achieve a specific and measurable outcome. This thinking is supported through lean IT practices in operational support and project delivery, and adopting these practices with Oracle technologies by creating sustainable platforms. I'm also interested different perspectives and drivers - from enterprise to start-ups, academia to commercial to public sector, cost-sensitive (risk) to value-driven (reward) - all of which influences decisions that organisations make. I have a passion for community and have been called "a connector" - meeting new people that are trying to solve valuable and hard problems and connecting them with others that can validate and help realise their full potential. I've supported different organisations like TADHack and Hacking Health as a global organiser. I'm is a persistent blogger on medium.com and redthunder.blog and on LinkedIn - https://www.linkedin.com/in/lowe-jason #CommunityMatters #ItTakesAVillage

6 thoughts on “Automating with OCI Oracle Resource Manager”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s