I attended the Red Hat Partner Conference 2015 in Frankfurt two months ago. I think the dust has settled enough so that we can reflect on the event and what we learned from it. The biggest single thing that struck my eye was Red Hat’s strong future focus on containers.
Red Hat has multiple products that are shifting technology-wise to a more container-based approach. OpenShift moves from Red Hat’s homegrown container format to Docker/Kubernetes in OpenShift 3. Built on the same platform as OpenShift, Red Hat Atomic Enterprise Platform provides an alternative take on the Docker/Kubernetes based infrastructure, with OpenShift providing a more complete “DevOps-experience” with pre-packaged application runtime images.
Also, the upstream project for Red Hat’s middleware platform JBoss Fuse, fabric8 is going through a major overhaul for fabric8 2.0. It will also use Docker and Kubernetes to manage services that are running on it. I’m sure it will take a while before these rather significant architectural changes will find their way into the downstream Red Hat products, but still we can clearly see that many of Red Hat’s technology products are shifting to Docker/Kubernetes based platform. There is also some development in Red Hat’s centralized management platform Red Hat Satellite to incorporate more container management features.
Why this broad shift to containers is happening then? Well, my guess is that Red Hat is seeking for more rapid growth from new markets. Most of Red Hat’s previous success is based on the operating system market, but the growth there isn’t really that huge. Red Hat has also had some success in the virtualization market dominated by VMware, with Red Hat’s virtualization platform coming on top in the esteemed SPECvirt virtualization performance tests. However, there is a lot of competition in both the operating system and virtualization markets, so it is rather hard to grow rapidly on these markets even if you have a technologically superior product in some respects.
It seems to me that Red Hat is going for a blue ocean strategy, instead of choosing the grueling battle in the more established markets, they are trying to be the top dog in the emerging containers market. Most of the companies that have already had some success there are relatively small and very young companies like Docker and CoreOS, so Red Hat has some advantage being a lot bigger, more established technology company than the competitors in this space. At the same time, Red Hat’s competitors from virtualization market are struggling to provide a container-based solution. Microsoft’s underlying technology platform is not a terribly great fit for containers and VMware is trying to glue together micro-sized virtual machines and the Docker API with their Project Photon, which seems pretty frankensteinian to me.
Containers show a lot of promise, but, unfortunately, any run-of-the-mill line of business software will not be a good fit for containerized architecture. Containers work best when applications running inside them have been designed in a way that many instances of the same application can run at the same time, with minimal communication between different instances of the application. An application that consists of multiple, smaller services composing the larger application works even better. Unfortunately, most applications out there are not yet adapted to the cloud-native/microservices way of doing things.
Containers are receiving a lot of hype right now, but for a long time we are going to be running things on hybrid datacenter architectures where new applications that are developed in a container-friendly way will run on containers and older applications will run on a more traditional virtualized architectures. It is interesting to see one of the largest open source companies setting so strong focus on container technologies. Presumably containers will play a large role in the future of information technology, but I doubt they will be the sole survivor.