 --- # Hi Y'all! --- # Daniel Sellers I am a banjo playing, husband, father, technologist, cyclist, texan, and maker of things --- # If you get bored...  --- # Voze AI Personal Assistant for industrial sales reps, with a sophisticated intelligence layer. ---  --- # Voze  --- # Voze Lab  Solve Problems for People, Use Code When Necessary --- # Where did Voze begin? ---  ---  ---  --- # Technology! Computers! --- # C# and VPSs and MS SQL Servers ---  --- # Rewrite attempt #1 (~2018) --- # Spring Boot server replaced much, but not all of the .NET api --- # Still long running servers only partial replacement --- # Rewrite attempt #2 (~2022) ---  --- # This was an attempt to completely start over, not replace, the ecosystem --- # It was partially completed, and some of its infrastructure lingered ---  --- # AI Transcription has entered the chat ---  --- # Where it was 2 years ago - Accreted architecture - Azure && AWS && Computers in the Closet - SQL Server 2008 - Stored Procedures - .NET Apps that _won't compile anymore_ - **TRIBAL Knowledgeâ„¢** ---  ---  --- # Software is a Socio-technical construction --- # Step 1: The 10 Theses --- 1. Loosely coupled services 2. Use Kafka for communication, and light APIs as needed 3. If it can be, build it outside of JPI/API 4. NodeJS or GO for new backends 5. Deploy in fargate on AWS 6. Logs go in signoz (make it traceable) 7. Services own their async work and their data 8. Don't talk across environments 9. Bug/Support Week 10. No Stored Procedures --- # Why these theses?(!) ---  --- # What where the challenges in the migration and how did we address them? --- # \*The single largest source of leverage was the rebuild of our mobile apps from scratch. --- # \*The second largest was breaking into smaller services to serve that rewrite. --- # So many unknown unknowns --- ## We did a lot of investigation, and left space to learn more as we went --- # Long lived servers --- ## Catalog and Investigate --- ## 5. Deploy in fargate on AWS The things we knew need to stick around were migrated to modern deploy pipelines and containerized. --- ## This work began before the formal migration started --- # Many Systems Sharing an Antiquated DB --- ## This was a huge challenge --- ## Identify, subsume, deprecate --- # Many different architectures baked into the core of the system --- ## Sift --- ## Webforms --- ## REST\* --- ## CDC + Kafka --- # More bad code than a wallow has mud ---  --- # Fragmented Ownership of Domains --- ## Assign owner teams and have them go deep on the domains --- ## Freedom to build and maintain services that own the domains --- # The Migration --- ## nClouds came in to own the DB Migration --- ## Getting the users off the old mobile apps --- ## Shutting things down --- # Where are things now? --- ## DB migration is moving still --- ## We've shutdown almost a dozen containers/servers ---  --- ## Some places we have over-corrected on domain scope --- # ?s --- # Daniel Sellers VP of Engineering @ Voze designfrontier.net