#LetsBuildApp 2: Azure or Docker? Love it or hate it?
After getting license (read about it here) next step on my way to build the app was to choose where I should do my development. What options did I have? First of all for app, which I am doing, I use only my own resources. That is why I had to decide between Docker and Azure
I tried both options – I want to share with you about my personal feelings about it.
Option 1: Docker
To describe how I feel about Docker I have two expressions – both STRLEN equal 9. First is I love it. Second is I hate it. And I still cannot decide which suites better. Why?
Let’s start why I love Docker?
First of all it is the fastest and the easiest way to install Dynamics NAV or Business Central on your local machine from years. How fast is it? You can read about it in one of my previous posts. Also it is very good to refer to Freddy’s blog https://blogs.msdn.microsoft.com/freddyk/2018/04/16/which-docker-image-is-the-right-for-you/
You want to have multiple installations? Great! Just create as many containers as you want. And you do not need to think which port to use that you will not have conflicts.
You want the newest version but you do not know which is it? No problem! Just run one script and 15 min later you have the newest version fully working on your laptop.
So why I hate Docker?
I do not know why but, at least on my laptop, it crashes a lot! Especially when Windows starts. But crashes would not be a super big problem however it takes then whole memory of the computer and I cannot do literally anything then. Yes, yes, yes – I know I should remove it from Windows startup… but I always forgot it and those crashes remind me about it (at least for next few minutes). But this is problem with Docker not with the Business Central itself.
Sometimes I also face issues with container itself – not all of them are started automatically and I need to run script to restart them. Also it happened, at least few times, that even if I am doing everything the same way, I could not create container. Why? I honestly do not know.
Option 2: Azure
After my issues with Docker I decided – let’s try Azure. All in cloud – should be no problems. I must say installation was even easier than with Docker – also faster in my opinion. All you can find in this great post – https://community.dynamics.com/nav/b/dynamicsnavcloudfronts/archive/2018/04/06/how-to-setup-d365-business-central (however there is very small mistake in the command – resource group should be from small letters).
All worked fine but to be honest one day I also faced issues with performance – nothing was working. But it was one issue for 2 months when I was using Azure.
What to choose?
Both solutions has some pros and cons. Docker is great if you work alone and you want to have everything on your laptop. Fast and easy solution to install. If I would need to choose one from love and hate then I think anyway it would be love. But I would choose Azure as my first choice. Best option in my opinion, also I faced less issues than on Docker.
So for developing my app I chose… Docker. And why? If you would get first invoice from Azure platform you will understand why. Especially if you do not want to invest a lot of money on your own. And I think this is only reason which decided. So if you have access to Azure for free or your company already use it in some way do not think twice choose Azure. But if you not then Docker (with any kind of problems you could face) is the best option.
PS. No I will not tell you how much I got on invoice – my wife could read it.