This blog is about the 'Aligning cloud strategy to your app development maturity' video, presented by Clyde de Waal, Mendix. You can watch the video here.
Clyde de Waal provides a clear overview of the cloud options and questions you should ask yourself in defining your cloud strategy in combination with Mendix.
The Mendix platform consists of many components, like the development IDEs Studio and Studio Pro, the developer portal used to manage user stories and provide a source safe in the form of a teamserver. When we talk about cloud strategy, we have to look at the items in the green box, the build server that is generating the packages, the package repository, and the “cloud” itself based on cloud foundry container technology.
To succeed with Mendix, you’ll need a cloud strategy that fits your organization, and there are several factors that influence your success with Mendix. First of all, you need to know where you are in the Mendix journey. There are three distinct phases in this journey:
- Start
This phase is all about providing rapid business value and keeping things simple - Structure
Now you can take the next step in your journey, focusing on predictable application delivery using standardization and automation - Scale
In this third step, you’re looking to scale up your Mendix landscape and are focused primarily on cost control while adding business value
The Mendix platform can accommodate each phase in this journey, and you should identify which deployment model fits your current stage in the journey. Mendix offers different deployment models:
- Application Platform as a service (aPaaS)
A fully managed environment using the Mendix, SAP, IBM, or even Mendix dedicated cloud - Mendix private cloud
With this option, you share responsibility for running your apps in the cloud with Mendix - DIY, a.k.a. your own cloud
Using Kubernetes & Docker or Cloud Foundry and even traditional Linux/ Windows hosting on premise
Every model has its pros and cons. For instance, when it comes to integration possibilities, the aPaaS offering limits the options to public and private http-based services integrations. If you want to use non-http-based private services, for example integrating with a database over jdbc, a fully managed solution might not be the right choice for you. Another driver for selecting a deployment model is the time-to-value proposition that is quite different for each of the different deployment models. When you look at the three options, the operational burden on the organization increases as you move from an aPaaS solution to a DIY docker deployment model, increasing the time to value. So if you’re planning to build 1 app in the first year of your Mendix journey, it might not be the smartest choice to invest in a DIY solution. You also need to consider the expertise available in the organization. Do you have the knowledge and people working for you that know what it takes to set up a cloud-native infrastructure?
With all these reasons for using the fully managed solution, why do companies choose to use one of the seemingly more difficult deployment options? We’ve already covered one of the reasons, that private service integrations can be achieved when using the partial or full DIY deployment options. A second reason might be to bring the application closer to your users or services. Let’s say your users are in China, then you could benefit greatly from running your application in a cloud solution behind the great firewall. Or if latency is an issue, the private cloud could be a beneficial option. A third reason might be to comply with information security requirements, for instance when data can’t leave the country of origin. Cloud consolidation is another reason for choosing to manage the deployment and hosting yourself.
Clyde provides a clear cloud strategy checklist with just 3 questions that I recommend taking to heart:
- Is the maturity of my cloud strategy in line with the maturity of my Mendix practice?
Have a look at the size and nature of the apps in your app portfolio. And look at the cost of your cloud strategy versus the business value being delivered with Mendix. - Do I need capabilities that aren’t available in the fully managed cloud offerings?
Do I need private service integrations?
Are there compliance issues, network, or proximity requirements? - If so, does my organization have the competencies necessary to maintain a cloud offering that’s not fully managed?
Answer these questions to figure out where you are in your Mendix journey with regards to the best cloud deployment model. I would also suggest taking a more detailed look at your journey and diving into the development side, as well. Do I have the competencies to deliver great apps, with automated code reviews, testing and CI/CD pipeline, to deliver great business value to be deployed on one of the described deployment models? If you are at this step in your Mendix journey, I recommend reading the SMART Digital Factory eBook first and then going through the cloud strategy checklist questions to deliver the best quality business value for your organization.