To the casual observer, cloud computing and the Internet of Things might look like two sides of the same coin. Often mentioned in the same breath and stamped with a nearly identical set of slang terms, you'd be forgiven for mixing up the two buzz-infused concepts -- or for thinking one might require the other.
Not so, says Paul Cormier, president of products and services at Linux vendor Red Hat (NYSE:RHT) and not to be confused with the eponymous basketball coach of Dartmouth College. Unlike the Dartmouth version, Red Hat's Cormier has more than a decade's experience with building industry-defining partnerships and promoting open-source tools.
Cloud computing is actually just one of several platform choices for running your business applications. The Internet of Things is one of myriad use cases, and in many ways just another application. If concept really ties these things together, it might be computing containers. But even then, it's a loose coupling at best -- not to mention that it's a relative newcomer on the scene.
To dig into the details of Cormier's thinking, I recently ran him through the paces in a phone interview. Here's what I found out.
The hybrid cloud
"A lot of the cloud providers want people to believe that the whole world's going to move all our applications to the cloud tomorrow, right?" Cormier said.
"Even if that were the case, even if all applications were suited to run in the cloud, which they're not, and it practically couldn't happen overnight anyways, we think there's going to be solution where you're going to have infrastructure and applications that are running bare metal, that are running traditional virtualized, whether that be VMware (NYSE:VMW) or Red Hat Enterprise Linux solutions.
"We think people are going to run their applications in a combination of those, and they want to manage it as one, they want to be able to control it as one, they want to be able to control the apps running across all that infrastructure. They basically want to bring in the public cloud infrastructure sort of as an adjunct addition to their own infrastructure and be able to manage it as one. That's what we mean by hybrid cloud."
Consumers have no reason to worry about the back-end platform, since it's far removed from the end-user experience. The same application will deliver the same results whether launched from a container, a traditional virtual-machine cloud server, or even a straight-up box of computing hardware.
But the service operator at the other end of the same application delivery certainly cares, as there are sizable differences in efficiency, ease of management, and speed of delivery. If the operator can eke out more performance per invested dollar, lower support costs, and a lesser risk of failure along the way, then investors definitely need to pay attention as well.
That's why investors need to pay attention to the evolution of the data center. Bare-metal servers gave way to virtual machines over the last decade or so, offering a new level of flexible management and hyper-efficient use of hardware assets.
I'm talking about the entire food chain of the application here:
- Investors should appreciate the improved and lower-cost information-technology operations of a consumer service operator that takes its platform choices seriously. For example, Netflix (NASDAQ:NFLX) went all-in on the lightweight cloud computing model many years ago, and is now exploring containers for rapid deployment of its data infrastructure. Not a bad move when you plan to cover the entire planet with data-heavy services in less than two years.
- In the middle of the chain, cloud service providers should support a plethora of platform choices -- from the tried and true to the latest and greatest. Luckily, this describes all of the major cloud service vendors at the moment, but keep an eye out for cloud specialists turning a cold shoulder to the next game changer.
- And, of course, the companies that sell the fundamental technologies along the way are worthy of investor attention. In Cormier's view, this group would include Red Hat itself, VMware, Microsoft (NASDAQ:MSFT), IBM (NYSE:IBM), and Oracle (NYSE:ORCL). That's not a complete list, and some of the names come with big caveats (read on for details!), but it's a decent starting point for further investigation.
"Apps that are suitable for bare metal environments are the apps that are there today and people don't want to, or can't, rearchitect for whatever reason," Cormier said. "Or they may be apps that are absolutely reliant on some local service, infrastructure, hardware, that can't be moved, things like that. Big, monolithic apps that are very expensive, or rely on services, or some other things that are local that just can't be rearchitected. That's a general example of a bare metal app.
"The same could be true for an app that runs locally on a virtual machine. It could rely on specific services that are only local, it could rely on storage, or networking, or something like that that's only local, etc. As I write applications for the cloud, then I may rely on them.
"In cloud infrastructure, things like compute and storage and networking are now software controlled, so my applications that are aware of that and that call for that are cloud based applications, and really looking at software defined storage, software defined networking."
In Cormier's view, bare-metal operations stopped being a performance issue some time ago. Instead, enterprises might choose this model to support their existing systems.
It's a big world out there, with all sorts of legacy applications and limited operating environments to worry about. In some cases, it's almost impossible to move these things from one machine to another -- let alone dumping them onto an entirely different platform such as a virtual machine.
I speak from experience here. In my former life as a Unix administrator, I was asked to move a business-essential reporting tool to a new server, since the old machine was slated for retirement. But the tool hadn't been updated for many years, and the headaches were many. The tool depended on an outdated piece of software that wouldn't run on the new hardware. Newer versions of that software wouldn't work with other pieces of the puzzle. When I got it to work, I was told that three other engineers had tried the same project before me, to no avail. And I wouldn't know how to do it again.
That's the kind of headache that forces some companies to keep some business applications running on the same plain old hardware servers. Others might use raw hardware servers for security reasons, or to access unique plug-in hardware tools, or maybe to comply with government standards.
Some of these reasons may fade away over time, replaced by more nimble solutions such as virtual machines and cloud-based platforms managed elsewhere. But there will probably always be a place for some bare metal in most data centers, so hybrid cloud solutions look like an idea for the ages.
Which brings us to containers...
"Containers is a perfect vehicle to be able to move applications across those infrastructures as well. That's specific applications that are specifically written for a container architecture," Cormier said.
"Container technology is an OS technology. They've been around for a while, but what containers are is basically you split up the operating system; you have a host operating system that is effectively the hardware management, kernel side of things, and then you have a developers kit that includes the user space part of an operating system.
"Basically the application just links in the user-space pieces that it needs, and that's what rides on top of a certified host that contains all the hardware and physical services, services that it needs to run.
"I think a container is actually the vehicle to get apps easily and on-demand to the cloud, because you're respectively taking the piece of the OS that the application is relying on and interfacing to, and you're moving that to an infrastructure somewhere. Caveat with that is, in order for it to work you need a matching infrastructure."
Ideally, the software management layers between the application and the hardware should pack a bigger punch into every hardware investment and every hour of data center operations. Every processor, memory bank, storage pack, and networking path simply gets used when it's needed, and otherwise reassigned to other duties. It's all about efficiency.
Containers take the virtual computing idea and raise it to the next level of efficient operations and fluid management.
You can think of them as custom-made bundles wrapped around each one of your business applications. It can be moved around between machines at the drop of a hat, hooked up to all the right resources exactly when needed, and generally bandied about in real time.
As Cormier explained, this is the next-generation way to move applications to the cloud -- with some caveats.
The app needs to be designed with containers in mind, or manually ported over from older platforms. Since they are wrapped in the necessary bits of the operating system, you can't really be a major force in container management if you don't also offer an operating system. A Linux container won't run from a Microsoft Windows launcher, and the other way around.
That's where some companies run into roadblocks that prevent them from selling a complete stack of container technologies.
For example, VMware might have a strong grip on the virtualized hardware piece of it, but it has never built or sold its own operating system. That puts OS-level support at arm's length from the company, forcing it to depend on third parties for a vital slice of the container structure.
So VMware has built support for various industry-standard container formats into its platform solutions, but is unlikely to ever have full control over its own container system. Red Hat, on the other hand, is very much hands-on with the Linux system at the heart of the most popular container options. Likewise, Microsoft owns every part of the ecosystem around Windows Server Containers, from the operating system to the Internet-facing container service.
... and the Internet of Things
"The hybrid cloud is the platform and how the platforms going to be architected, and where applications are going to run from an architecture perspective. The Internet of Things is really the use case," Cormier said.
"If I've got a bunch of light bulbs out int he world that are reporting back to the vendor their characteristics, and their performance, and all of that, then they're going to have to use embedded operating systems at the end points, they're going to have to use middleware messaging technology to be able to communicate with the pieces, they're probably going to have to use big data solutions to be able to sift through and analyze all the data that they connect.
"Those big data solutions are going to run on a Linux platform, they're probably going to be connected to software defined storage, it might run in both a private and public cloud."
In other words, the hybrid cloud is a fine platform for supporting Internet of Things business tools. But so are containers, pure public cloud alternatives, or even bare metal in some cases. Connecting your business and its army of devices to the Internet does not force you to adopt any particular back-end platform.
Sure, hybrid clouds could offer some benefits to your Internet of Things projects. Centralized management and a single dashboard for controlling everything makes a ton of sense when you're dealing with millions of data-reporting gadgets out in the field. In the long run, this is probably the best way to go.
But the Internet of Things does not run on hybrid cloud platforms alone, and the hybrid cloud is much more than just managing your Internet of Things environment. They kind of belong together, but are not the same thing at all. And you can certainly invest in one of these concepts without worrying much about the other one -- other than as an accelerator of your chosen investment focus.