For our new platform, I am designing it to be heavily modularized. This is all parts from front to back. This will allow us to reduce our risk of change due to the inherent isolation. More important to me is the ability to put each part on a separate machine (not that I would though). The ability to scale components that need scaling is important.
Like any online retailer we utilize a load balancer for our traffic. It is capable of routing through the API, but should you? Being that we are a .Net group, IIS is a logical choice.
In thinking about the problem, I decided to leave the safety of the compound and look at other tools. I have used NancyFX on Linux before, but it still didn’t feel right, so I kept looking. Now, I had used Nginx before on the same project that I used NancyFX and it worked well.
Nginx seemed to be the right tool to proxy our requests to the right applications wherever they will live. I got my boss and a few other key player together to make the proposal. We came to an agreement and we will move forward with Nginx.
I have always been conservative when approaching engineering problems, but I can feel a change brewing. The title of this post is as it is because now I need to formulate my opinion of when is it a good time to introduce something new. In this industry you see some of the giants using polyglot platforms, but we are small and don’t have the resources to span all technologies. For now, baby steps.