For some time now, a fair amount of momentum has been building around low-code approaches to building applications that both professional developers and gifted users could embrace as so-called “citizen developers.” As a leading proponent of this type of approach to developing applications, Mendix has been trying to accelerate adoption of its core platform by making it available on top of the open-source Cloud Foundry platform-as-a-service (PaaS) environment. But now Mendix is moving to extend it reach even further by making its platform available on Docker containers.
Mendix CTO Johan den Haan says the goal is to now give IT organizations the option to make use of both the Cloud Foundry PaaS and Docker. The latter approach makes it simpler to port Mendix to multiple private and public cloud platforms. Cloud Foundry provides an alternative approach that is more robust that running natively on Docker containers, while still providing the ability to run Docker images on top of the containers that are native to Cloud Foundry.
The latest instance of Mendix Cloud, an implementation of the Mendix platform running on Amazon Web Services (AWS) using Cloud Foundry, adds support for global deployments, multiple availability zones and stateless runtime engine optimized for cloud-native applications.
The Mendix decision to support both Cloud Foundry and Docker natively exemplifies a quandary that many developers now find themselves. Initial enthusiasm for PaaS environments such as Cloud Foundry has been high. But from an operational perspective, spinning up a Cloud Foundry environment requires a lot of operational expertise. In contrast, many developers want to be able to spin out an application development platform on their own without any intervention from an internal IT organization required. Application development platforms that run natively on Docker can be deployed on a public cloud and then easily replicated on a private cloud whenever necessary. That approach also makes it simpler for developers and IT operations teams to replicate the development environment in production and vice versa.
At the same time, however, there often are just as many IT organizations that start out on Docker only to realize they need all the advanced tooling provided by an enterprise PaaS offering to manage the overall IT environment. Most of the tools available today for managing Docker containers running natively are not all that mature from an enterprise IT perspective. Nevertheless, vendors such as Mendix are clearly anxious to avoid missing out on a significant portion of the developer community that feels PaaS environments are much too complex for their requirements. Many of those developers are opting for what is often referred to as a lighter-weight container-as-a-service (CaaS) approach to deploying containers.
It’s more than likely that both PaaS and CaaS approaches will have many adherents. Developers will only care to the degree one or other approach scales to meet their needs without imposing a set of processes that might deem to be overly onerous. It’s quite possible that developers inside a single organization will encounter both models depending on the preferences of individual DevOps teams. The one thing they should be able to take comfort in its their Docker applications should be able to run anywhere.