Are You Infected by Microservice Envy?

Posted Apr 03, 2016
⚠️ This note hasn't been updated in the last five years, so it may be out of date.

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.