Solutions Architect
Modernizing ABC Without Throwing Away Their Existing CMS Investment
ABC is exactly the type of legacy modernization challenge I solve: keep what still creates value, remove what blocks scale, and re-architect the system for secure, modern delivery.
Projects>American Botanical Council
American Botanical Council
A legacy Umbraco CMS modernization program that preserved years of investment while unlocking scalability, security, and syndication.
ABC operated a legacy Umbraco-centric stack (.NET + SQL Server) that had served the organization for years, but critical growth capabilities were blocked by architectural constraints.
I designed a modernization path that did not touch the old Umbraco operational workflow. Instead, we deployed M360 + microservices next to it, solved the SSO pain point, and introduced multitenant runtime controls.
The result was a practical transformation: widget-based syndicated distribution, ES-backed subset retrieval by tenant and subscription, better security posture, and a platform that evolves without sacrificing prior investment.
Challenge Landscape
- Members had to authenticate across disconnected systems, creating a poor user journey that drove users mad.
- Legacy third-party membership constraints blocked proper SSO behavior across ABC-owned websites.
- MFA could not be introduced reliably due to platform and rendering limitations.
- Syndicating a subset catalog to partner-owned websites was restricted by server-side architecture constraints.
- High traffic demanded oversized server resources, driving unnecessary monthly infrastructure cost.
Core Platform Components
Layer 1 - VueJS Channels and Syndicatable Widgets
Rebuilt websites as modern VueJS frontends and introduced a second distribution for syndicatable widgets.
Widgets were shipped to ABC customers and hosted directly on customer websites.
Each channel uses a unique key and communicates through the multitenant gateway with tenant-aware controls.
Layer 2 - Gateway and Custom Microservice Runtime
The gateway authorizes keys, injects configuration context, and enforces traffic management, security, and throttling.
The microservice uses configuration to decide which drivers/models to load for each tenant and subscription context.
This layer solved the SSO pain point and enabled MFA pathways with modular multi-driver architecture.
Layer 3 - Umbraco Focused on Back Office
Umbraco remained untouched as the editorial engine, preserving ABC's existing .NET + SQL Server investment and operator workflow.
Content created in Umbraco was synchronized to Elasticsearch for fast, feature-rich retrieval.
API responses returned controlled data subsets from Elasticsearch, not direct runtime reads from Umbraco.

High-Traffic Architecture Blueprint
This diagram captures the final layered architecture: modern frontend channels and widgets, gateway-controlled service runtime, and streamlined back-office CMS support designed for secure scale.
Strategic Response
- Implemented a three-tier modernization strategy to decouple delivery channels from legacy runtime constraints.
- Rebuilt frontend channels in VueJS, including syndicatable widgets shipped and hosted on ABC customer websites.
- Placed M360API Gateway in front of custom microservices to handle authorization, multitenancy, security, throttling, and configuration-driven driver loading.
- Added modular multi-driver and multi-model layers inside microservices for legacy membership systems and future extensibility.
- Synced Umbraco-origin data into Elasticsearch so API responses were served from ES using tenant, subscription, and access-policy filters.
- Containerized the solution for Docker/Kubernetes-ready deployment and autoscaling support.
Platform Evolution Timeline
Layer 1 - VueJS Frontend Channels
Redesigned websites and widgets as dynamic frontend channels, each securely connected to the multitenant gateway using dedicated keys.
Layer 2 - M360API + Custom Microservice
Introduced a gateway-driven service runtime with caching, security controls, membership integration, and support for SSO/MFA-ready capabilities.
Layer 3 - Streamlined Umbraco Back Office
Retained Umbraco for editorial and CMS operations while exposing APIs that feed modern channels through the microservice layer.
Key Architectural Decisions
- Re-architected the application into a three-layer model: VueJS channels, M360 + NodeJs microservice runtime, and untouched Umbraco back office.
- Introduced a multitenant API Gateway to centralize authorization, traffic management, throttling, and secure request orchestration.
- Built a custom NodeJs microservice with MongoDB-backed operational models, multi-driver loading, and legacy membership integration.
- Synced Umbraco SQL data to Elasticsearch and served catalog/search subsets from Elasticsearch instead of querying Umbraco directly at runtime.
Measured Impact
- Resolved the SSO login issue that was creating major user frustration and repeated login friction.
- Enabled MFA-ready flows and syndication capabilities previously blocked by legacy constraints.
- Preserved prior CMS investment while modernizing user-facing architecture and runtime operations.
- Reduced infrastructure strain through containerization and scalable deployment options.
- Created an extensible platform foundation for future integrations and growth paths.
If your legacy CMS is slowing business growth, I design modernization paths that keep critical investments alive while introducing the architecture needed for secure, scalable evolution.
