Mendix is a leading low-code app development platform that enables you to build, manage, and deploy custom apps at scale. This low-code solution supports several deployment options, including on-premises, cloud, or hybrid. This enables you to choose a deployment option that suits your business requirements.
For cloud deployment, Mendix apps are packaged and deployed to a preferred deployment option with one-click deployment, making it one of the most efficient low-code solutions. However, whether you want to deploy and run your Mendix apps on traditional virtual servers, cloud, or hybrid environments, Mendix has got your back. Let’s dive deeper into the details of each Mendix deployment option.
On-premise deployment involves installing and running applications on servers hosted by the company with its data centers or physical servers. One main advantage of this deployment option is that it guarantees 100% control over the app and related data, including compliance and security requirements. This deployment option requires the company to have IT infrastructure and resources to manage and maintain the servers.
Mendix enables you to deploy apps on-premises with Unix-Like and Microsoft Windows deployment options. However, you must design the architecture of your server to ensure Mendix apps run smoothly. When designing the server architecture, you can set up your deployment environment in multiple ways.
Fortunately, there is no right or wrong server configuration option. It depends on your company’s performance, availability, and security requirements. Here are four commonly adopted server architecture setups for on-premises Mendix app deployment.
This setup is the easiest solution and has the fewest connection and configuration problems. It is also used in the Mendix cloud, except that cloud is based on Linux, with NGINX used rather than IIS and PostgreSQL utilized as the database server.
This server architecture setup is the most challenging to maintain. Every update must be conducted twice (once on the app server as normal, and secondly as an update in which you must copy and paste all the static content to the web server). This implies that you must copy the contents in your web folder, including the MxClientSystem, to the web server each time you update.
We recommend you avoid this server architecture setup if possible.
The other two options include:
Cloud deployment involves hosting an app on a third-party cloud provider, such as Google Cloud Platform (GCP), Microsoft Azure, and Amazon Web Services (AWS). This deployment option is often preferred due to its reliability, flexibility, scalability, and minimal infrastructure requirements. Also, it is cost-friendly and enables you to deploy apps faster.
What’s more, cloud deployment is suitable for companies with geographically dispersed user bases. It allows access to the app from anywhere worldwide as long as the user has an internet connection.
Applications built with Mendix are cloud-native-based and conform to twelve-factor application principles. Also, the Mendix Runtime is entirely optimized to run in the container technology compatible with most advanced cloud platform offerings, such as Cloud Foundry and Kubernetes. Therefore, Mendix applications can utilize the advantages of these cloud solutions, including auto-healing, CI/CD, cloud interoperability, auto-provisioning, auto-scaling, and low infrastructure overhead.
With this scalable and flexible deployment option, Mendix supports various deployment choices enabling you to run Mendix apps on public, private, hybrid, virtual private, multi-cloud, or through a conventional virtual server.
This cloud deployment option helps you attain the best utilization rate for your IT infrastructure. It helps transform your capital investment into operational expenses while maintaining optimal flexibility. Mendix supports most public cloud vendors, including:
For public cloud service providers that support Cloud Foundry, such as IBM, SAP, and Mendix cloud, Mendix delivers a fully integrated experience, enabling you to deploy apps to your choice of cloud with a single click.
If your business is complying with specific regulations or cannot run in third-party cloud service providers, private cloud would be an ideal choice for deploying your Mendix apps. Mendix can run on a server-based solution as a private cloud platform-as-a-service (PaaS) or infrastructure-as-a-service (IaaS).
If your company requires a higher application or data isolation level, the virtual private cloud would be an ideal cloud deployment choice. It lets you benefit from a high resource flexibility and utilization rate within a discrete network segment or on dedicated hardware. This cloud deployment option allows your Mendix apps to be fully decoupled from the public Mendix Developer Portal, implying that operating on a VPC is easily accommodated.
Hybrid deployment combines on-premise and cloud deployment. This Mendix application deployment option lets you experience the best of both worlds by offering the flexibility to run specific application components on-premises while leveraging cloud services for other application parts.
This deployment option is helpful when you want complete control over specific parts of the app while enjoying the benefits of cloud services for the rest of the application.
Each deployment option has its pros and cons. For instance, while deploying Mendix apps on-premises gives you 100% control over your app, it can be costly and limit your flexibility. On the other hand, cloud deployment lets you enjoy flexibility, but it limits your control over the application. Therefore, it depends explicitly on your business requirements and goals. However, the hybrid deployment option lets you enjoy the benefits of both deployment options.
Mendix provides many deployment options, from on-premise and cloud to hybrid. You need to assess your business requirements to determine which deployment option suits your Mendix application. Doing helps you choose a deployment option with the most benefits and minimal limitations.
By Uma Raj
By Uma Raj
By Abishek Balakumar
Indium Software is a leading digital engineering company that provides Application Engineering, Cloud Engineering, Data and Analytics, DevOps, Digital Assurance, and Gaming services. We assist companies in their digital transformation journey at every stage of digital adoption, allowing them to become market leaders.