Subscribe to our blog

Middleware, both as a term and as a concept, has been around for decades. As a term, like other terms in the Darwinian world of IT jargon, it has followed a typical fashion lifecycle and is perhaps somewhat past its apogee of vogue. As a concept, however, middleware is more relevant than ever, and while a memetic new label hasn't quite displaced the traditional term, the capabilities themselves are still very much at the heart of enterprise application development.

Middleware is about making both developers and operators more productive. Analogous to standardized, widely-used, proven subassemblies in the manufacture of physical goods such as cars, middleware relieves developers from "reinventing the wheel" so that they can compose and innovate at higher levels of abstraction. For the staff responsible for operating applications in production, at scale, with high reliability and performance, the more such applications use standardized middleware components and services, the more efficient and reliable the running of the application can be.

This is just as true in the world of cloud-native applications as it is for traditional applications running directly on physical or virtualized hardware. A definitive characteristic of cloud-native environments is the use of the operating system container as the fundamental deployment unit. Thanks to widely and rapidly adopted standardized container technologies such as Kubernetes and Docker, containers have brought a substantial leap ahead over traditional server virtualization in terms of hardware utilization, elastic scaling, and process standardization.

The container is also important for the developer--and ultimately the business--as well. A significant advantage of the container over server virtualization is that containers are more lightweight. Each container instance has the minimum necessary low-level code within it to run its workload, whereas a virtualized server includes an entire operating system instance within it. Because containers are lighter, an application architect can modularize at a finer granularity, with each module running in its own container. In a world of virtualized servers it wouldn't make sense to decompose an application into a large number of very small modules, each running in its own virtual server--the overhead of so many redundant operating system instances would be too high. But with containers, dividing the application into many small pieces is viable and has many benefits. This approach is called microservices.

Why should the business person care? An application architected as fine-grained microservices can be changed in very small ways, with minimized risk and disruption to the overall application. This means that the business leader can innovate in small, fast, low-risk steps, working side-by-side with the development team responsible for implementing these innovations in the software that manifests the business.

Which brings us, from the bottom up, to a virtuous circle characterizing business today: nearly all enterprises depend in significant ways on software, and in order to compete more effectively, these companies are looking to innovate more rapidly, in a trial-and-error rather than massive-planning sort of way. This is the reality of business disruption happening now, in domains ranging from financial services to healthcare, hospitality to media, manufacturing to retail. This is digital transformation.

So here's the fundamental chain of logic: digital transformation both enables and depends on rapid innovation; rapid innovation depends on the ability to quickly change in small steps; such incrementalism is enabled by a fine-grained, microservices architecture; containers are the key enabler of viable microservices.

Now we come back to middleware. We've argued that a) developers are more efficiently innovative if they can think and design and build with standardized components, and b) supporting business innovation means enabling small incremental change with a fine-grained, containerized, microservices architecture. It follows that middleware for this new world should enable a microservices approach, meaning, as a starting point, that the middleware is itself containerized and cloud-native.

Mike Piech is vice president and general manager of Middleware for Red Hat


Sobre o autor

Imaginative but reality-grounded product exec with a passion for surfacing the relevant essence of complex technology. Strong technical understanding complemented by ability to explain, excite, and lead. Driven toward challenge and the unknown.

Read full bio

Navegue por canal

automation icon

Automação

Saiba o que há de mais recente nas plataformas de automação incluindo tecnologia, equipes e ambientes

AI icon

Inteligência artificial

Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente

cloud services icon

Serviços de nuvem

Aprenda mais sobre nosso portfólio de serviços gerenciados em nuvem

security icon

Segurança

Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias

edge icon

Edge computing

Saiba quais são as atualizações nas plataformas que simplificam as operações na borda

Infrastructure icon

Infraestrutura

Saiba o que há de mais recente na plataforma Linux empresarial líder mundial

application development icon

Aplicações

Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações

Original series icon

Programas originais

Veja as histórias divertidas de criadores e líderes em tecnologia empresarial