Are You Infected by Microservice Envy?

Posted

Apuntes personales que he tomado al escuchar el podcast Are You Infected By Microservice Envy? de Scott Shaw.

  1. Para empezar a utilizar microservicios (microservices) es recomendado primero ser practicante de continuous delivery, haber automatizado la infraestructura, entender REST y la integración de sistemas.

  2. Ley de Postel o El Principio de Robustez: se conservador en lo que envías, se liberal en lo que aceptas.

  3. Los microservicios son una inversión a largo plazo: un equipo tardó seis meses en desarrollar los primeros dos servicios, pero en los seis meses siguientes llegaron a tener alrededor de cincuenta servicios.

  4. Si no practicas Domain-driven design en tu sistema monolítico, probablemente no vas a ser exitoso descomponiéndolo en microservicios.

  5. Una buena forma de empezar a utilizar microservicios es refactorizando tu sistema monolítico para que exista una clara separación de bounded contexts, y un entendimiento de cómo cada uno de ellos expone su información a los otros.

  6. Utilizar Domain-driven design para descomponer un sistema monolítico en microservicios.

  7. Es más fácil empezar con un sistema monolítico y descomponerlo en microservicios, ya que hay un mejor entendimiento del dominio.

  8. Si estás gastando demasiado tiempo corrigiendo el proceso de deployment o tus entornos de desarrollo, talvez no estás preparado para usar microservicios.

  9. La idea de microservicios es antigua y se remonta a SOA (Service-oriented architecture), la diferencia es que ahora tenemos más herramientas y un mejor conocimiento de cómo construir sistemas distribuidos a gran escala.