In my last post, I discussed making sense of OCPU’s, in this post I want to talk about the instance types General Purpose and High-Memory.
You’ll notice the High-Memory compute option is between 50-70% more expensive depending whether you opt for Standard Edition, Enterprise Edition, High Performance or Extreme Performance.
So what do you get for that extra money?
Well, when I first looked at Oracle Cloud, I have to say information was pretty hard to find and navigate round. I would have expected it to be much easier to click an option and see exactly what I got for my money. I have noticed that as the days and weeks go by that the website is constantly being updated (so I encourage you to refer back to it regularly because something that you read a few weeks ago might have changed).
The key is to find the (very easily overlooked and not-very-prominent) link to the Compute Shape information (note in the screenshot the highlighting was added by me to make it easier to find).
Once you click that link you’ll see information on the various instance sizes:
Note – I highly recommend checking this page every so often as I’ve noticed new options appear and the values changing.
The key thing to note is that generally, as the name suggests, the High Memory shapes offer instances with more memory. As a generalisation typically the size of the memory available for a given OCPU amount is double for the High Memory Shape versus the General Purpose shape.
So for example if we select the OC2M High Memory Shape, we can see that it has –
- 2 OCPU’s
- 30Gb memory
contrast that with the OC4 General Purpose Shape, which has
- 2 OCPU’s
- 15Gb memory
but here’s where I find it confusing…at first glance you’d expect the OC2M shape to be the High Memory version of the OC2 shape (with the M suffix denoting that it’s the High Memory version), however it’s not that simple.
For whatever reason, Oracle has decided that the numbers in the General Purpose and the High Memory shapes don’t really align (i.e. don’t compare OCn with OCnM (where ‘n’ denotes a number). Personally I think it would be simpler and more logical had they chosen a numbering system that made that comparison easier (sure I know it’s not difficult to work out, but hey if it takes me an extra couple of minutes to understand the options then that’s two minutes longer before I’ve decided to purchase or not).
So there’s clearly decisions and trade offs to be made here, let’s imagine in terms of budget I have roughly $1200 a month to spend on Oracle Cloud and I’m happy to stick with Standard Edition. I can see from the pricing that Standard Edition would (currently) cost me $300 / OCPU / month. So I could go for:
- OC3 – 1 OCPU with 7.5Gb memory = $300 / month
- OC4 – 2 OCPU with 15Gb memory = $600 / month
- OC5 – 4 OCPU with 30Gb memory = $1200 / month
so pretty simple here, double my money and I get double the CPU and double the memory. However if I take the High Memory compute option into account I can also go for:
- OC1M – 1 OCPU with 15Gb memory = $525 / month
- OC2M – 2 OCPU with 30Gb memory = $1,050 / month
- OC3M – 4 OCPU with 60Gb memory = $2,100 / month
So my choice here is do I go for OC5 with 4 OCPU’s and 15Gb of memory or maybe OC2M with 2 OCPU’s and 30Gb of memory? They’re roughly the same cost, but do I need memory more than CPU or vice-versa? Clearly only you can answer that.
All in all, some pretty interesting instance types in terms of OCPU and memory and your workload and anticipated usage and future growth will dictate which option is best for you. One thing Oracle Cloud promises (but I’ve yet to test) is that it’s easy to scale up (but not down) to a larger instance size when you need to grow, so right now maybe the best option is to save some money and choose a more minimal instance type and grow when you need to rather than going for the ‘big machine’ right upfront (and paying the extra cost for under-used capabilities).