Loading...
EC

Erick Castillo

Lead .Net/Azure Developer

View Portfolio

Hexaware Technologies

Lead .Net Developer

October 2025 - February 2026

The Problem

The FEMA ELA platform's primary data store ran on MySQL 5.7, which was approaching end-of-life and lacked the security, performance, and JSON/CTE features the .NET application increasingly relied on. On a federal platform supporting emergency lodging during disaster events, the database also had to demonstrate verified high-availability failover — a documented, repeatable test, not a hope. Upgrading in place risked breaking EF Core data access, stored procedures, and existing query plans, and a botched failover during an active disaster response would have been a serious incident.

The Solution

Owned the MySQL 5.7 → 8.0 upgrade plan end-to-end and ran the HA failover validation exercise alongside it. Authored the TDD covering compatibility analysis, upgrade path, rollback strategy, and the failover test protocol. Coordinated with Corpay infrastructure, the FEMA stakeholders, and the dev team to schedule the cutover, then executed and signed off on the failover drill against the upgraded cluster.

Implementation

Inventoried the ASP.NET Core / EF Core data access layer and stored procedures for MySQL 8.0 breaking changes — reserved words, default authentication plugin (caching_sha2_password), sql_mode differences, and deprecated syntax. Updated MySql.EntityFrameworkCore / Pomelo connector versions and ran the full xUnit suite plus integration tests against a staged 8.0 instance. Used mysql-shell upgrade checker to surface schema-level issues and fixed them ahead of cutover. Provisioned Azure Blob Storage (LOD-54013) for the database backup pipeline and verified point-in-time restore. For HA, validated primary/replica failover by forcing a controlled primary outage, measuring replica promotion time, application reconnection behavior under the .NET connection pool, and data consistency post-failover. Documented results, RTO/RPO, and runbook steps for the on-call team.

Technologies

MySQL 5.7 MySQL 8.0 MySQL Shell ASP.NET Core .NET 9 EF Core Pomelo.EntityFrameworkCore.MySql Azure Blob Storage Azure DevOps xUnit PowerShell GitLab CI/CD

Impact & Results

Brought the ELA platform onto a supported MySQL version with stronger security defaults and modern SQL features, eliminating EOL risk on a federal contract. The HA failover drill produced a signed-off, repeatable runbook — meaning the on-call team had verified evidence of failover behavior rather than a theoretical design. EF Core data access continued working without regressions across the full integration test suite, and the Azure Blob backup pipeline gave the platform a clean DR posture going into disaster season.

MySQL upgraded from 5.7 (EOL-track) to 8.0 (supported) with zero data loss

Full EF Core / xUnit integration suite passing post-upgrade

HA failover validated end-to-end with documented replica promotion time

Azure Blob backup pipeline provisioned with verified point-in-time restore

Runbook delivered to on-call team — failover is now a tested procedure, not a hope

Zero rollbacks during cutover

This entry is public
0 Likes
0 Vouches

Vouches (0)

Vouches verify the authenticity of this work. Each voucher explains their connection to the work.

Loading vouches...