Hi there 👋

Written by Hector Yeomans who lives in Mexico and works remotely for LeagueApps

Monolith to Microservices - Chapter 4 Summary

Overview Chapter 4 of Sam Newman’s Monolith to Microservices tackles one of the most challenging aspects of transitioning to microservices: decomposing the monolithic database. Newman provides practical guidance on managing shared data, splitting schemas, handling distributed transactions, and adopting incremental approaches to achieve database independence. The chapter emphasizes balancing technical complexity with business goals while avoiding common pitfalls. Read Chapter 3 Summary Splitting Databases Incrementally Newman advises against attempting an all-at-once split of the database. Instead, teams should decouple services incrementally: ...

January 6, 2025 · 3 min · Hector Yeomans

Monolith to Microservices - Chapter 3 Summary

Overview Chapter 3, Splitting the Monolith, focuses on practical approaches to decomposing monolithic systems incrementally rather than through disruptive big bang rewrites. It introduces migration patterns like the Strangler Fig and Branch by Abstraction while emphasizing the importance of balancing technical feasibility with organizational realities. Read Chapter 2 Summary: “Planning a Migration” Read Chapter 1 Summary: “Just Enough Microservices” Incremental migrations Newman argues that migrating incrementally allows teams to learn, adapt, and rollback changes if necessary. Acknowledging that many teams skip refactoring the monolith entirely, he notes that clean-room implementations—building new services from scratch—are often more practical, though riskier when undertaken at a large scale. ...

December 28, 2024 · 3 min · Hector Yeomans

Charting the Path: Planning Your Migration to Microservices

Summary Chapter 2 of Sam Newman’s Monolith to Microservices is a masterclass in the art of thoughtful planning before diving into the technicalities of a microservices migration. This chapter underscores a key principle: microservices should never be the end goal but rather a deliberate means to achieve broader business and technical objectives. Defining the Why Behind Microservices Newman begins by dismantling the myth that microservices are a silver bullet for every system. Instead, he emphasizes the importance of aligning the migration with tangible outcomes, such as: ...

December 19, 2024 · 4 min · Hector Yeomans

Transforming Software Systems: A Blog Series on Monolith to Microservices

The Journey to Just Enough Microservices In software architecture, one question looms large over those managing complex systems: How do you rearchitect an existing system without stopping all other work on it? This question, posed in the foreword of Sam Newman’s Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith, resonates deeply with me. It encapsulates the core tension between maintaining product delivery and investing in technical evolution—a balancing act that every engineering team struggles to perfect. ...

December 8, 2024 · 5 min · Hector Yeomans

Importing INE Shapefiles into a Spatialite Database

In this post, we’ll walk through the process of importing Mexico’s National Electoral Institute (INE) shapefiles into a Spatialite database. We’ll be using macOS and QGIS for this tutorial. Setting Up Spatialite First, let’s install Spatialite using Homebrew: brew install spatialite-tools Once installed, create a new Spatialite database by running: spatialite ine.db You should see output indicating the Spatialite version and supported extensions. SpatiaLite version ..: 5.1.0 Supported Extensions: - 'VirtualShape' [direct Shapefile access] - 'VirtualDbf' [direct DBF access] - 'VirtualText' [direct CSV/TXT access] - 'VirtualGeoJSON' [direct GeoJSON access] - 'VirtualXL' [direct XLS access] - 'VirtualNetwork' [Dijkstra shortest path - obsolete] - 'RTree' [Spatial Index - R*Tree] - 'MbrCache' [Spatial Index - MBR cache] - 'VirtualFDO' [FDO-OGR interoperability] - 'VirtualBBox' [BoundingBox tables] - 'VirtualSpatialIndex' [R*Tree metahandler] - 'VirtualElementary' [ElemGeoms metahandler] - 'VirtualRouting' [Dijkstra shortest path - advanced] - 'VirtualKNN2' [K-Nearest Neighbors metahandler] - 'VirtualGPKG' [OGC GeoPackage interoperability] - 'VirtualXPath' [XML Path Language - XPath] - 'SpatiaLite' [Spatial SQL - OGC] PROJ version ........: Rel. 9.4.0, March 1st, 2024 GEOS version ........: 3.12.1-CAPI-1.18.1 RTTOPO version ......: 1.1.0 TARGET CPU ..........: x86_64-apple-darwin23.0.0 the SPATIAL_REF_SYS table already contains some row(s) SQLite version ......: 3.45.3 Enter ".help" for instructions SQLite version 3.45.3 2024-04-15 13:34:05 Enter ".help" for instructions Enter SQL statements terminated with a ";" Downloading INE Shapefiles Visit the INE transparency portal: https://pautas.ine.mx/transparencia/mapas/ ...

July 14, 2024 · Hector Yeomans