Adding new features in containers
Decoupling components from a monolith has a beneficial side effect. The approach I've taken has introduced a style of event-driven architecture for one feature. I can build on that to add new features, again taking a container-first approach.
In NerdDinner there is a single data store, a transactional database stored in SQL Server. That's fine to service the website, but it's limited when it comes to user-facing features, such as reporting. There's no user-friendly way to search the data, build dashboards, or enable self-service reporting.
An ideal solution for this would be to add a secondary data store, a reporting database, using a technology which does provide self-service analytics. Without Docker that would be a major project, needing a redesign or additional infrastructure or both. With Docker, I can leave the existing application alone and add new features running in containers on the existing servers.
Elasticsearch is another enterprise-grade open...