I'm the maintainer of an ASP.NET WebForms application and am contemplating a refresh of the application in order to eliminate dependency on some legacy libraries, add some features, fix some areas where application behavior does not adequately match up with real-world business practice, etc. So, I'm looking into current best practices and trying to figure out what makes sense for a relatively small web application such as this.
I'd heard of (but not previously used) Docker, so I figured I should spend some time learning what that's all about. Thus, I came across various materials recommending microservices architecture and API gateways as the new thing that everybody's doing. Upon learning a bit more, I find myself wondering if this approach is overkill for an application of this size.
My question ultimately boils down to: In the context of a small, internally-facing web application, what criteria would you use to determine if the extra development overhead of a microservices architecture is justified by the architectural benefits?
For a size reference, the current monolithic WebForms application consists of:
- ~30 database tables, including tables generated by the ASP.NET Membership & Roles frameworks
- ~30 .aspx pages
- has ~60 active users