Nathaly Villamor
development lead at
ProCibernética
Microservices, ¿nightmare or blessing?
About me
oh... I really like plants
but...I'm a mess!
:(
features:
- When should I water my plants?
- Do my plants need to be cleaned?
- Are my plants healthy?
- Am I killing my plants?
Plant
- Name
- Species
- Periodicity
- Vitality
- Sociability
- Water amount
Front End
Business Logic
DB Connection
I can create monolith like this
CI / CD
Check plant state
Notifications
Plant information
Front End
architecture
non dependency
scalability
multi language
what is a microservice?
what is a microservice?
architecture
non dependency
scalability
multi language
One
Two
Three
Aspectos claves
Continuous delivery
Define responsabilities
Evaluar prioridades
Cloud es indispensable
Bussiness Logic rules
Automatización
¿Protocolos?
- HTTP -> Síncrono
- AMQP -> Asíncrono
Y porqué no...
- TCP
- UDP
¿Tipos de mensajes?
- JSON
- XML
- Binarios
Pros
- Escalabilidad
- Bases de datos separadas
- Despliegues independientes
- Equipos de trabajo pequeños
- Fácil de modificar
- Uso de varias tecnologías dependiendo de las necesidades
- Mejora en costos
Contras
Monitorización && despliegue && testing
Puede ser doble trabajo
A la medida que el número de microservicios aumentan, la gestión e integración es más compleja
Aumenta la complejidad
Ejemplos
The golden rule: can you make a change to a service and deploy it by itself without changing anything else?
― Sam Newman, Building Microservices
Lo que mata un negocio:
Re Ingeniería
Falta de planeación
Mis tips
Establecer siempre un protocolo y estructura para input/output
Bases de datos separadas
Guiarse por las necesidades del negocio
Explota al máximo las habilidades de tu equipo
Buena abstracción = buena arquitectura
Y además..
SLA
Service Level Agreement
¿Qué hacemos en ProCibernética?
Amazon Lambda
+
Amazon EC2
+
Amazon RDS
¿Pesadilla o bendición?
Referencias
- https://openwebinars.net/blog/microservicios-que-son/
- https://martinfowler.com/bliki/BranchByAbstraction.html
- http://www.javiergarzas.com/2015/06/microservicios.html
- https://www.redhat.com/es/topics/microservices
- https://developers.redhat.com/blog/2017/02/21/an-incremental-path-to-microservices/
- https://www.networkworld.es/archive/sla-que-son-para-que-sirven
-
Martin Fowler. Richardson Maturity Model. Descripción del modelo REST.https://martinfowler.com/articles/richardsonMaturityModel.html
-
Swagger. Sitio oficial. https://swagger.io/
-
https://docs.microsoft.com/es-es/dotnet/standard/microservices-architecture/architect-microservice-container-applications/communication-in-microservice-architecture
-
https://medium.com/swlh/monolithic-vs-micro-services-and-all-in-between-7d496408ad02
Ofertas en ZonaWiki
Microservicios
By Nathaly Villamor
Microservicios
- 341