Presentation about microservices architectures using Azure Service Fabric given at .NET Conf CO v2018 in Medellin, Colombia.
Presentación sobre arquitecturas de microservicios con Azure Service Fabric dada en .NET Conf CO v2018 en Medellín, Colombia.
6. Enfoque monolítico Enfoque de microservicios
• Una aplicación de microservicios
separa la funcionalidad en servicios
más chicos, separados.
• Escala a lo ancho desplegando cada
servicio creando instancias
independientes de estos servicios a
través de servers/VMs/containers
• Una aplicación monolítica tiene la
mayoría de su funcionalidad
dentro de unos pocos procesos
que están componentizados en
librerías.
• Escala clonando la aplicación en
múltiples servers/VMs/Containers
App 1 App 2App 1
7. • Una sola base de datos monolítica
• Capas de tecnologías específicas
Estado en el enfoque monolítico Estado en el enfoque de Microservicios
• Grafo de microservicios interconectados
• El estado está típicamente en el scope del microservicio
• Variedad de tecnologías usadas
• Almacenamiento remoto para datos fríos
Servicios sin estado
con almacenamiento
externos
Servicios
con estado
(stateful)
Servicios de
presentación
sin estado
Servicios
sin estado
(stateless)
9. Modelos de
programación
Herramientas de
Dev & Ops
Orquestación Gestión de ciclo
de vida
Health &
Monitoring
Disponibilidad
Always On
Auto
Scaling
AzureOn-premises infrastructureCualquier cloudDev machine
Service Fabric: Plataforma de Microservicios
Construye OperaDespliega
10. Azure Log Analytics
Azure Application
Insights
Integra con cualquier solución de monitoreo
Octopus Deploy
Integra con cualquier ambiente de CI/CD y Test
Azure DevTest Labs
Reliable Services and
Reliable Actors .NET/Java
libraries
.NET
ASP.NET
Core
Go
C++
Usa cualquier lenguaje, cualquier framework
.NET & .NET Core JavaConstruye OperaDespliega
11. Oferta de Azure Service Fabric
Sobre tu propia infraestructura
Service Fabric
Standalone
On-premisesCualquier
cloud
Dev machine
Clusters dedicados en Azure
Azure
Service Fabric
Azure
Service Fabric Mesh
Microservicios Serverless
Service Fabric
Control total Totalmente manejado
12. Oferta de Azure Service Fabric
Sobre tu propia infraestructura
Service Fabric
Standalone
On-premisesCualquier
cloud
Dev machine
Clusters dedicados en Azure
Azure
Service Fabric
Azure
Service Fabric Mesh
Microservicios Serverless
Virtual machines
OS patching
Runtime upgrades
Capacity planning
Network and storage
Micro-billing
App deployment
Tú
Azure
Responsabilidad
Cluster capacity
Network and storage
App deployment
Virtual machines
OS patching
Runtime upgrades
Hardware
OS patching
Runtime upgrades
Cluster capacity
Network and storage
App deployment
13. Azure Service Fabric está diseñado para servicios de misión crítica
Power BI
Dynamics
365
Intune
Cortana Skype for
business
Cosmos DB
IoT Hub
Event Hub
SQL Database
Azure
Monitor
Core Azure
Services
Archive
Storage
Azure
DevOps
Stream Analytics
Azure Database
for PostgreSQL
Azure Database
for MySQL
Azure
Container
Registry
Event Grid
14. SaaS de
negocios de
mission crítica
Soluciones B2B
en la nube
Procesamiento de
datos de IoT
Procesamiento
eficiente de datos
de millones de
dispositivos
Procesamiento de
datos de baja
latencia
Aplicaciones
centradas en datos
que requieren
tiempos de respuesta
rápidos
Aplicaciones Web y
backend mobile
Retail y e-commerce
Sesión interactiva y
media
Media sharing,
comunicaciones y
gaming
15. Demo: Azure Service Fabric
Azure DevOps Project y Service Fabric
Azure BoardsAzure Repos Azure PipelinesAzure Test PlansAzure Artifacts
16. El camino de modernización de apps con Service Fabric
Service Fabric soporta cualquier estadío que elijas…
5
Aplicación de
microservicios
transformada
4
Partes de la
aplicación existente
rearquitecturadas
3
Aplicación existente +
nuevos microservicios
2
App existente
hosteada como
container o
ejecutable
Aplicación
tradicional
Rearchitect/Rebuild
Rehost
1
19. StorageQueues
Patrón de Stateless Services
Front End
Gateway
Stateless
Middle-tier
Compute
Cache
• Escala servicios stateless
soportados por storage
particionando
• Incrementa la
confiabilidad y el
ordenamiento con colas
• Reduce la latencia de
lectura con caches
• Administra tus propias
transacciones para
consistencia del estado
Load Balancer
Load Balancer
20. Stateful
Middle-tier
Compute
Patrón de Stateful Services
Simplifica el estado, reduce la latencia
Front End
Gateway
• El estado de la aplicación
reside en la capa de
cómputo
• Lecturas y escrituras de
baja latencia
• Las particiones son de
primera clase para el
scale-out de la capa de
servicio
• Transacciones
incorporadas
• Almacenamiento externo
para analytics offline
Cold Data Stores
Load Balancer
22. Infraestructura
Serverless
Gestión de
ciclo de vida
Pago sólo por
el uso
Escalado
bajo
demanda
Ruteo de
tráfico
inteligente
Orquestación
de
microservicios y
contenedores
Seguridad &
compliance
Health &
monitoring
</>
Azure Service Fabric Mesh
Una plataforma de microservicios serverless para aplicaciones críticas de negocio
.NET
</>
Desarrollo de
Microservicios
23. Control Plane
Service Fabric Mesh RP
Compute Plane
Service Fabric Cluster 1
(5,000 nodes, 80,000 non-CPU cores)
Cluster Allocator
Inventory Manager
Azure Resource Manager
Azure Portal CLI 3rd party
Service Fabric Cluster n
(GPU cores)
service 1
Container
service 2
App1 in an isolated network
Container
Container
service 2
Routing service
24. Ideal para aplicaciones Cloud-native
Cualquier lenguaje, cualquier framework
Librerías para integrarnos con nuestros lenguajes
favoritos
Almacenamiento de estado con alta disponibilidad
usando Reliable Collections
Conectividad y ruteo de tráfico inteligente
Service Fabric Mesh
28. Perfiles de clientes
https://blogs.msdn.microsoft.com/azureservicefabric/tag/customer-profile/
SDK de desarrollo para Service Fabric
http://aka.ms/ServiceFabricSDK
Documentación de Service Fabric
http://aka.ms/ServiceFabricdocs
Aprende de los ejemplos, clusters gratuitos y labs
http://aka.ms/ServiceFabricSamples
https://try.servicefabric.azure.com/