Microservicios
by Iván M
1. "Do one thing and do it well"
2. Recursos para aprendizaje
2.1. Libros
2.1.1. Microservices patterns
2.1.2. Building Microservices: Designing Fine-Grained Systems
2.2. Guías y tutoriales
2.2.1. bliki: MicroservicePrerequisites
2.2.2. Don’t start with a monolith
2.3. Cursos
2.4. Microservices Guide
3. ¿Por qué usar microservicios?
3.1. Porque realizar pruebas sobre microservicios es más rápido
3.2. the relationships between process, organization, and architecture
3.3. Porque hacer deploy con aplicaciones monoliticas es lento y doloroso
3.3.1. Puede haber un mes o más de diferencia entre deploys
3.3.2. Porque al existir un error en producción es mucho más complejo detectar el origen del mismo
3.4. Porque con aplicaciones monoliticas un ciclo de pruebas puede tardar dias
4. Características
4.1. Servicios en una arquitectura de microservicios son procesos que se comunican a través de una red para cumplir un objetivo utilizando protocolos independientes de la tecnología como HTTP.
4.2. Services in a microservice architecture are independently deployable.[5][6]
4.3. Services are organized around business capabilities.[7]
4.4. Services can be implemented using different programming languages, databases, hardware and software environment, depending on what fits best.[6]
4.5. Services are small in size, messaging-enabled, bounded by contexts, autonomously developed, independently deployable, decentralized and built and released with automated processes.[5]
5. Beneficios de los Microservicios
5.1. Habilita la entrega continua y las publicaciones grandes y complejas aplicaciones
5.2. Los servicios son pequeños y facilmente mantenibles
5.3. Los servicios se publican independientemente
5.4. Los servicios son escalables de forma independiente
5.5. Es fácil de experimentar y adoptar nuevas tecnologías
5.6. Tienen un mejor aislamiento de fallas
5.7. Independencia para el desarrollador: Pequeños grupos trabajan en paralelo y pueden iterar más rápid que equipos grandes.
5.8. Relación con el negocio: Microservice architectures are split along business domain boundaries, increasing independence and understanding across the organization.
6. Inconvenientes de los microservicios
6.1. Encontrar el conjunto correcto de servicios puede ser retador.
6.1.1. Si descompones un sistema incorrectamente, construirás una aplicación monólitica... distribuida, es decir un sistema de servicios acoplados que deben implementarse juntos.