Oracle Cloud Infrastructure (OCI) and Terraform : First Steps

We’ve got some stuff going on at work using Terraform, or Terrahawks as I like to call it, so I figured it was about time I had a play with it. I probably won’t be doing much of the project work myself, but I like to understand a bit about all the things we do.

The biggest problem with going on one of these “learning missions” is finding something to do that makes it feel real to me. I have some test environments across two Oracle Cloud accounts. One is my free tier account and the other is a trial account I get through the Oracle ACE Program, that has quite a lot of credit. 🙂 I figured I would automate the build of my test environments, so I can trash and rebuild them at will. So with that as my mission, I’ve taken my first steps into Terraform.

I’m not finished yet, and I’m not saying this is production ready “best practice” stuff. It’s just something I’ve been playing around with and it works great. Fortunately the Terraform OCI Provider and resources do all the heavy lifting, and if you are used to using Oracle Cloud, it’s pretty easy to navigate around the documentation, as a lot of it is organised similar to the menu structure. You can find the top-level of the docs here.

As I always say in these situations, it’s early days for me. I’ve got a number of things I want to build, and I’m sure that process will teach me more, and make me look back at these articles and cringe. That’s more rewriting on the way. 🙂

I’m putting this stuff into a GitHub repo, but I’ve not published that yet. I’m still trying to figure out what I should and shouldn’t include. Update. Here’s the GitHub repo.



PS. If you don’t remember Terrahawks, this might remind you.

Oracle Cloud Infrastructure (OCI) : Create a Compartment, VCN and DB

Having spent time playing on the Autonomous Data Warehouse and Autonomous Transaction Processing services, I kind-of lost sight of the Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) stuff. I had a question recently about running (non-autonomous) databases on Oracle Cloud and I didn’t really have anything of my own to point them at, since my only DBaaS article was on the old “Classic” bit of Oracle Public Cloud. I figured it was about time I did a quick run through of the OCI version of that. This resulted in the following three posts, which are just scratching the surface of course.

At first glance it seems a little more complicated, as there are some prerequisites to think about, but actually it makes a lot of sense. The sales pitch demo of any cloud service is to click a few buttons and everything magically appears, but there is some thought needed in the real world. Defining a reasonable network topology for security, and separation of duties and functional areas are pretty common in most companies. This does feel more sensible, and sets you off on the right foot.

If you need a certain amount of manual control and access to the server, the Database VM approach is fine, and there are also Bare Metal and Exadata services too, but I think my starting position would be the autonomous services, unless I had a specific reason not to go that route. I’m all about doing as little as possible… 🙂