Oracle's Public Cloud Machine - initial thoughts and speculation
31 Jan 2016 by Simon Haslam (in Hardware)
Here I've finally written up my initial thoughts on this machine and where it might be useful in modern Oracle infrastructures. All of the information I'm sharing here has either been said publicly by Oracle or else is my own personal speculation - please don't make any planning decisions until Oracle has released more details!
Note: I'm pleased to see that the name of this hardware has changed in the last few weeks from the "Private Cloud Machine for PaaS & IaaS" to the, much more snappy, "Public Cloud Machine" (PCM). Now you could say that running Oracle cloud platforms on your own premises makes it private cloud, but I can see the logic that says that it's a machine for running vanilla Oracle Public Cloud services. Primarily I suspect Oracle tweaked the name to try to reduce confusion with the Private Cloud Appliance (which was renamed from the Virtual Compute Appliance only last summer, rather unfortunately as it has turned out).
Update 24/3/16: this machine has been renamed to the Oracle Cloud Machine (OCM) - see Announcement of "Oracle Cloud at Customer" service at Oracle CloudWorld.
What is the Public Cloud Machine?
Firstly, let's look at what Oracle has said about the PCM so far. My sources are:
- Larry Ellison's announcement (I've struggled to find an unedited, full version of his Tuesday OOW15 keynote but it may still be online somewhere)
- theCUBE interview with Praveen Asthana & Mohamad Afshar at OOW15
- Information and chats at 2 or 3 OOW15 presentations (such as CON9192)
- An Oracle blog post from February 2015 about the Exalogic 12c beta (no longer available)
- A presentation at the UKOUG Tech15 conference ("Bringing all Oracle Public Cloud Services into the Box")
Here are a few of the most relevant slides from that latter presentation, along with a few comments:
So clearly Oracle intends to make many (most/all?) of its PaaS services available on the PCM, along with IaaS functionality.
The "Managed by Oracle" point on that slide is very interesting. On the CUBE webcast Mohamad Afshar did say that you would have the option to manage the machine yourself. If I were running a bank's IT platforms, for example, I imagine one key reason I would buy a PCM is to make sure that I am in full control of the IT staff who have access to the machine and its environments - I would want PCM to behave in either completely disconnected mode, or some sort of "pull" manner (i.e. the PCM polls Oracle's servers and tell me there are updates, but I am in full control as to when to take them, how to quarantine and verify them, and so on). However I can also see that many customers would want a fully cloud-like experience where they simply let Oracle look after their private cloud entirely, but with the reassurance that if there were performance issues (or some sort of dispute with Oracle) that their staff could access the machine directly and see what was going on.
The above slide shows how Nimbula (a product Oracle acquired a couple of years ago that provides an OpenStack-style compute platform) underlies all VM provisioning (i.e. not EMOC as used previously used for virtual-mode Exalogic).
As with the previous slide this also suggests that you could use IaaS to provision any sort of VM you want on PCM, not just Oracle's standard PaaS ones. From what I have experienced with Java and SOA Cloud Services, OPC has some standard Oracle Linux base templates which the PaaS services are then provisioned on top of. Oracle has also mentioned cookbooks (I think as a generic term, rather than Opscode Chef ones specifically) that it will provide to help you provision environments like LAMP stacks, Docker containers, and right up to apps like EBS 12.2 and JDE 9.1.
In summary, my understanding is that PCM has the following characteristics:
- an engineered system of x86-based hardware, using comparable components to that running Oracle Public Cloud
- eventually most/all of Oracle's 40+ PaaS services plus IaaS, but run locally on a machine in your own data centre
- initially offering Java Cloud Service (JCS) and Integration Cloud Service (ICS)
- the option to manage the machine yourself, or pay Oracle to do that remotely
- some kind of subscription pricing corresponding to actual usage so you don't pay for the hardware up-front (or not all of it)
So, and this is just my opinion, I am guessing that, to run JCS and ICS to start with, the PCM hardware will look a lot like an Exalogic. It will have Nimbula for VM provisioning and probably the Service Managers used on Oracle Cloud (i.e. consoles and REST APIs) to give the same kind of operational experience. Clearly, whilst Exalogic includes a ZFS storage appliance, this is only sized for running the middleware platforms, so for PCM to run Database Cloud Service too it will need a way of providing far more block storage - perhaps this will be a larger integrated ZFS SA, or maybe an add-on module (a bit like the Exadata Storage Expansion rack). Gluing multi-node environments all together from an operation perspective is a wider challenge than just PCM but, based on previous engineered systems, I'd say we'll see a PCM plug-in for Enterprise Manager that will mirror what's starting to happen for OPC.
How will Public Cloud Machine fit into Oracle's existing Engineered Systems line-up?
My first comment here is that, whilst public cloud has many advantages of flexibility, speed of deployment and standardisation, absolute performance and predictability of that performance are not its key features. Partly this is because, by definition, public cloud runs on shared resources - some unpredictability in behaviour can be mitigated by software controls, but even if you carve off compute nodes into dedicated racks there is always likely to be some parts of the infrastructure that is shared. On the other hand, public cloud may have performance benefits over in-house infrastructure by running a more optimised configuration, or simply being on newer hardware (it's not unusual for it to take enterprise customers 6 months to deploy new hardware, for various reasons). Anyway, the point I'm making is that I believe organisations attracted to public cloud providers have an expectation of "good enough performance" rather than "maximum performance".
I am expecting the PCM tip the balance towards more predictable performance: I don't think it will necessarily be any faster than Oracle's public cloud, but you will only be sharing resources within your own organisation so, where there are performance issues, you'll be able to do something about them by speaking directly to the application owners.
However if you want the ultimate in performance I think you will still want the engineered systems Oracle already sells: Exalogic for Fusion Middleware and applications (like SAP or E-Business Suite), or Exadata for intensive database (especially data warehouse) workloads.
So let's think a little more about two other Oracle engineered systems which seem to compete most with the PCM:
PCM compared to Exalogic
My initial reaction when I heard about the PCM was "well, this will kill off Exalogic!" but, no, I don't think it will (or at least not for some time). The reason for this is that most enterprise IT today has such a broad range of requirements and applications that it is almost impossible to have a completely generic approach.
Firstly, PCM seems mostly to be geared up for running Oracle's PaaS products - if what you're running doesn't deploy onto PaaS (or maybe not into exactly the same versions of Oracle software) then you will have to do some work with IaaS, provisioning cookbooks, templates and so on (just like you've had to do in the past)... at which point the debate mostly comes down to total cost of ownership of the PCM (which we don't know anything about yet).
Secondly, PCM networking, in my opinion, will not be as fast as Exalogic's - partly due to the networking architecture used to separate completely different tenants and partly because I doubt PCM will be able to use the fancy optimisations for InfiniBand that are built into WebLogic and Coherence.
PCM compared to PCA
This comparison is much more nuanced. The PCA (formerly VCA) was, in my opinion, designed to compete with other converged infrastructure providers, most notably VCE. Whilst it uses InfiniBand to connect nodes, this is not visible to the virtual machines running on them - it is rather like an inside-out version of the interconnect fabric you get on blade systems. Storage for a PCA is expected to come from traditional enterprise arrays (SAN or NAS). However the PCA has always had the advantage of being able to run a wide variety of workloads including Windows, and has a reputation for being able to run at high VM densities.
Oracle announced at OOW15 that Oracle Public Cloud IaaS, and so I assume PCM, will support VMs running other operating systems than Oracle Linux, notably Windows Server. So this would suggest that, once PCM storage approach has been announced, there may not be much difference in overall functionality between the two systems. Perhaps PCA has more sophisticated ways to carve up and manage the virtual networking (i.e. Xsigo traffic director) and will be a little quicker than PCM? Plus, as I mentioned, it has the option to connect to existing corporate storage. Finally PCA is a mature, well understood system so that may influence some decisions. So deciding between the two will depend on your need for OPC PaaS provisioning, but may depend on your time scales as much as anything else.
So that's my current thinking about the PCM, all of which can be summarised in the rather inadequate graphic below:
I think Oracle's Public Cloud Machine is going to be a very interesting engineered system for Oracle infrastructure designers to consider and am eagerly waiting to hear more!
Update 24/3/16: for additional information see Announcement of "Oracle Cloud at Customer" service at Oracle CloudWorld