Finding Flexibility with Microservices, Containers, and Runtimes

An introduction to the Forrester analyst report: How to Capture the Benefits of Microservice Design

There has always been a relationship between an application and the platform and services which run it. For a long time, that relationship was very tight and encompassed a lot of areas related to the application design, from the language the application could be written in to administrative behaviors like monitoring and logging, even things like transaction management, frontend UI development, or integration methods.

In a sense, the application platform was just another design consideration for the application. A few years ago, as significant changes in platform technology like cloud, containers, and virtual machines started rolling out, the primary emphasis for CTOs and application architects was on how to move to those platforms. The platform choice was a major part of the application. The focus was — one way or another — getting into “the cloud.”

There’s been a shift in customers’ priorities over the last few years. A 2016 survey of IT professionals by Red Hat found that fewer than 25% of respondents were actually focusing on moving applications to the cloud — the majority were focused on writing new applications or maintaining existing ones. The focus is moving from platform to the application itself.

That’s even changing how they look at applications themselves. While 64% are running traditional Java EE applications today, about a third expect to be running a mix of traditional Java EE and cloud native apps within the next year and another 38% expect to be running applications exclusively in the cloud. The change in the platform is not the goal; it is the result of writing new cloud-native applications.