06-04-2019 07:40 AM
A prospect has asked if he can use Docker and Kubernetes to deploy Mapp Enterprise.
From the little I know, we don't have existing docker image for M.App Enterprise.
Has anyone experienced this?
Also what are the options for Mapp Enterprise deployment in a cloud environment?
Thanks in advance
Solved! Go to Solution.
06-11-2019 04:36 PM
Interesting, my first answer here will be: no, you can’t… But, to be fair I should say, maybe you can, but you should not. Running an application like M.Apps Enterprise on a container does not make much sense IMO.
Let me explain:
First of all, MAE relies on Windows server architecture to run, it is deeply dependent in IIS, windows kernel, etc. So, in order to use Docker you´ll need to use Windows base images for the host and the containers, specifically the microsoft/windowsservercore image which is a full windows server OS, but with no GUI so I’m not sure how could you run the installer, but I’m sure there is a way.
Another thing is that the windows server image is a 3GB image so you´ll need a large host to run a full windows server container (what if you want more than one?). Then comes the problem of creating a custom image of windows server and M.App Enterprise, but that’s for another discussion.
Then comes the fact that Windows Server containers share the kernel from the host operating system. When you run a process inside a container, the process actually runs on the host and you can see it listed in Task Manager, so by using a container in this case ( enterprise is not a set of applications, just two or three services doing all the job) you are putting an extra layer between the software and the machine, that is a windows server that consumes a lot of resources inside another windows server. MAE it is not a micro service nor an application that´s part of a bigger system, it’s a full integrated system so IMO there is not a good candidate to put in a container.
Finally I´m much more happy with the perspective of running it in the cloud, Using Google cloud or AWS, you can simply use cloud windows servers to install the software, you can have big or small servers that you can spin up with a few clicks and you only pay for what you use. Need a cluster? Use a database hosted on the cloud or in another server, make an image from a fresh MAE install and use that image as a template to create more servers!. Need a load balancer? just use the one that your cloud provider has!
06-13-2019 06:08 AM - edited 06-13-2019 06:23 AM
Hello S. Fonseca,
Thanks very much for such a detailed answer.
It covers every option I might be thinking and your insight on them is really appreciated.