Skip to main content

9 min read

Everything you need to know about Mendix deployment & hosting options

Everything you need to know about Mendix deployment & hosting options

The use of low-code tools for software development has grown strongly in recent years. Building applications with a low-code platform such as Mendix is more popular than ever. Mendix offers many benefits for organizations that need new IT solutions but lack the resources or staff to carry out the projects. The speed of development and the ability to deliver software in weeks rather than months, with less dependence on software developers, are frequently cited benefits of Mendix (and low-code tools in general). But how exactly does application hosting work? What does it take to put applications developed with Mendix into production and manage them? Do you need IT staff, servers and other IT infrastructure for that? In this blog, Senior Consultant Steven Brusse answers those questions and explains which options Mendix offers for hosting and deploying applications.

Mendix Cloud

With Mendix Cloud, Mendix offers its own PaaS (platform-as-a-service) solution where applications can be hosted. Mendix Cloud is built on Amazon Web Services (AWS) infrastructure and uses Cloud Foundry as an intermediate layer for hosting applications in containers.

Mendix Cloud comes in two flavors. First, there is the standard Mendix Cloud. This is a multi-tenant public cloud in which each organization has its own account. Multiple applications can be hosted within one account. Second, there is Mendix Cloud Dedicated. This is a cloud environment reserved for a single organization (single-tenant). Such an environment is created in AWS by Mendix on request and is then also managed by Mendix.

By far the majority of Mendix customers choose to run their applications in the standard Mendix Cloud because of its convenience and service level.

  • Creating an environment and deploying an application to it takes just a few mouse clicks.
  • Mendix guarantees 99.5 to 99.95 percent uptime for applications in Mendix Cloud.
  • Backups are created automatically and stored in Mendix Cloud.
  • Application security is taken care of by Mendix Cloud.
  • As an application administrator, you have various tools at your disposal to monitor the use of applications in Mendix Cloud, view logs and set up alerts.
  • You can tune application performance by scaling an environment horizontally or vertically.

To deploy an application to Mendix Cloud, you first need to create an environment for it. When creating that environment, you choose the region in which the application will run. Each region corresponds to an AWS region, and each region contains several availability zones. An availability zone corresponds to the location of an AWS data center. Mendix Cloud is available in regions all over the world. For each region, Mendix Cloud offers high availability (HA) and disaster recovery (DR) options, so you can be sure your application is always available.

2023 11 mendix cloud architectuur
Mendix Cloud architecture

But what if you want to host a Mendix application outside Mendix Cloud? Is that possible? The answer is 'Yes'. Thanks to the Mendix architecture, it is perfectly possible to run an application on a different cloud platform. It is even possible to run a Mendix application on servers you manage yourself (on-premise). You can read more about this later in this blog.

Why host elsewhere?

Before we look at the options for hosting outside Mendix Cloud, it is worth considering why you would want to do this.

  • One of the most common reasons is the strategic decision to adopt a specific cloud provider as the standard for IT solutions within an organization.
  • Another reason may be that the data stored in an application is not allowed to leave the internal corporate network due to policies and/or regulations on data storage and security.
  • It may also be that an application needs to integrate with other systems that cannot be accessed from Mendix Cloud.
  • Finally, cost can be a reason to host applications outside Mendix Cloud. If you expect the usage of an application to change significantly in a short time, there are other hosting solutions that can offer cost advantages over Mendix Cloud.

For all of the scenarios above, Mendix has alternative hosting and deployment options. You can read about them below.

Public or private cloud

Mendix makes it possible to host applications in a public cloud from one of the well-known cloud providers (Microsoft, Amazon, Google), or in a private cloud on infrastructure reserved for a single organization. It does not really matter what kind of cloud environment it is, as long as it supports running containerized applications.

Not sure exactly what the terms 'containers' and 'containerized applications' mean? You can find more information about them on Microsoft's website.

There are two types of container platforms on which Mendix applications can run: Cloud Foundry and Kubernetes. Both platforms were launched as open source projects about 10 years ago, with the aim of running applications in containers on scalable cloud infrastructure. A major advantage of these container platforms is that the infrastructure (servers, storage, network, load balancers, etc.) can automatically scale up and down based on an application's usage. When an application's user traffic fluctuates strongly, a container platform can deliver cost savings while guaranteeing stable performance and high availability. Today, this technology is offered as a cloud service by all major cloud providers.

Cloud Foundry

Under the hood, Mendix Cloud uses Cloud Foundry to host containerized applications. The same goes for SAP Business Technology Platform (SAP BTP) and IBM Cloud Platform. Mendix has been working closely with SAP and IBM for several years on integrations with the Mendix platform, which explains why applications can be deployed to SAP BTP and IBM Cloud relatively easily. This can offer advantages for organizations that already use the SAP or IBM cloud environment. A connection with SAP BTP and IBM Cloud can be set up from the Mendix Developer Portal. Once that is done, deploying your application to SAP BTP or IBM Cloud is just as easy as deploying to Mendix Cloud (1-click deployment).

Kubernetes

In recent years, Kubernetes has become the standard for organizations that want to set up their own scalable container platform in the cloud to host their applications. However, Kubernetes is complex, and most organizations do not have the specific expertise in-house needed to set up a Kubernetes cluster (and the underlying infrastructure). That is why a Managed Kubernetes Service is often used, such as Azure Kubernetes Service (AKS) or Amazon Elastic Kubernetes Service (ECS). These cloud services make Kubernetes much more accessible, because as a customer you do not have to worry about creating, configuring and managing a Kubernetes cluster. The cloud provider carries out these complex tasks in the background, while you can focus on developing the application.

To deploy a Mendix application to Kubernetes, a Docker image of the application needs to be built. You can do this yourself with the Mendix Docker Buildpack (an open source tool available on GitHub). The image then needs to be uploaded to a container registry (for example Azure ACR or Amazon ECR), from where it can be deployed to a Kubernetes cluster. The entire process of building an image, uploading it to a container registry and deploying it to Kubernetes can be automated using CI/CD pipelines.

With Mendix for Private Cloud, Mendix makes it possible to deploy applications to a Kubernetes cluster via the Mendix Developer Portal. This can be a cluster anywhere in a public cloud, private cloud or local network, as long as the cluster can be accessed via the internet. This requires two Mendix software components to be installed in the cluster: the Mendix Gateway Agent and the Mendix Operator. The Gateway Agent handles secure communication between the Mendix Developer Portal and the cluster. The Operator makes sure the application is deployed to Kubernetes. A connection with the cluster can then be set up from the Mendix Developer Portal. Once that has succeeded, deploying your application to the cluster is just as easy as deploying to Mendix Cloud. Monitoring and managing applications running in the cluster can then also be done from the Mendix Developer Portal.

On-premises

If deploying to a cloud environment is not your preference, or simply not an option, you can still choose to install Mendix on your own servers. In this more traditional setup, you need a web server, a database server and an application server. The application server is a virtual machine (VM) or a physical server on which you install Mendix software, specifically the Mendix Service Console and the Mendix Server Distribution. The Mendix software can be installed on both Windows and Unix. In addition, the Java Runtime Environment (JRE) must be installed on the application server, because a Mendix application runs in a Java Virtual Machine. Once this is done, you can copy a deployment package of your application to the VM and install it in the Mendix Service Console.

Conclusion

Mendix is extremely versatile in how it can be deployed. Mendix is a cloud-native platform, so applications built with Mendix can be hosted on virtually any cloud platform on the market. Even for organizations that have deliberately not (yet) made the move to the cloud, it is possible to host applications on on-premise infrastructure.

Do keep in mind that an implementation outside Mendix Cloud requires extra work from your own IT staff. You will have to take the necessary measures yourself to keep an application's environment up to date, secure and highly available. You will also have to arrange monitoring of the application and the resources it runs on yourself.

For most organizations, Mendix Cloud is the best solution and offers the most convenience for hosting applications. Mendix Cloud is a very stable and secure hosting environment that is fully managed for you by Mendix.

Want to get started with Mendix yourself?

Are you interested in the possibilities of Mendix? Would you like to experience for yourself how quickly a working application can be realized in Mendix Cloud? You can start building and deploying an application to a Sandbox environment in Mendix Cloud without any license costs. We can of course help you with that. Get in touch with us for more information about the possibilities.

Stay up to date

Don't want to miss a blog? Then sign up for our newsletter. That way, you'll receive all the latest content straight to your inbox every month. You can sign up using the button below.

Stay up to date

Written by