Este documento presenta sobre Azure Service Fabric, una plataforma de Microsoft para construir y administrar microservicios y contenedores. Se discute cómo Service Fabric permite implementar aplicaciones como microservicios independientes que se pueden escalar individualmente. También cubre los modelos de programación, herramientas de desarrollo y monitoreo, y cómo Service Fabric puede usarse para modernizar aplicaciones existentes o crear nuevas aplicaciones basadas en microservicios.
.Net Conf UY 2017: Un paseo por Azure Service Fabric
1. 23 al 27 de Octubre 2017.NET Conf UY v2017
Un paseo por Azure
Service Fabric
Guillermo J. Bellmann - @gjbellmann
Cloud Architect – Microsoft Azure MVP
Nubimetrics
5. 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
6. • 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 microservi
• 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)
7. Azure Otras nubesDev Box
Azure Service Fabric
Cualquier SO, Cualquier Cloud
containers y microservicios
Data Centers On-Premise
8. Azure Otras nubesData Centers On-PremiseDev Box
Azure Service Fabric
Cualquier SO, Cualquier Cloud
9. Servicio ManejadoPlataforma de
Microservicios
Desarrollo Productivo
Auto scale
integrado
Modelos de
programación simples
para .NET, Java
Microservicios
Stateless y StatefulAltamente escalable Alta disponibilidad
y failover 24 X 7
Container
orchestration
Windows y Linux
DevOps y
Lifecycle management
Upgrades de la plataforma
automatizados
Health
y diagnostics
integrado
Desarrollo local
Idéntico al
desarrollo cloud
Herramientas:
Visual Studio, VSTS
Eclipse, Jenkins, Yoeman
Integrado con
AppInsights y OMS
10. Azure Active
Directory
SQL ServerActive
Directory
Servicios de
datos Azure
Servicios Azure
Service Fabric on premise
Identity en
común
Plataforma de
datos
consistente
Desarrollo y
DevOps
unificado
Infraestructura
On-premises
Servicios Azure
Azure Stack
Desarrollo y
DevOps
unificado
Service Fabric
llega en 2018
11.
12. Modelos de programación de Service Fabric
Guest Executables
(Cualquier código)
Reliable Services
Reliable ActorsASP.NET Core
Containers
(Cualquier código)
Azure Otras nubesInfraestructura
On Premise
Dev Machine
.NET
.NET
13. Herramientas de Desarrollo y Monitoreo
Azure Otras nubes
Guest Executables
Reliable Services
Reliable ActorsASP.NET Core
Containers
Dev Machine Infraestructura
On Premise
Developer
Visual
Studio/VSTS
Operations
AppInsights
OMS
16. VM #1
Service Fabric
Tu código, etc.
VM #2
Service Fabric
Tu código, etc. VM #3
Service Fabric
Tu código, etc.
VM #4
Service Fabric
Tu código, etc.
VM #5
Service Fabric
Tu código, etc.
Tu código, etc.
(Puerto: 19080)
Web Request
Puerto: 80
Service Fabric cluster
17.
18. 1) Aplicación tradicional
2)Hosteadas como guest executables o containers en Service Fabric
3)Modernización agregando nuevos microservicios
4)Innovar, descomponiendo la aplicación en microservicios
5)Transformada en microservicios o una nueva aplicación desde cero
19.
20. 1) Aplicación tradicional
2)Hosteadas como guest executables o containers en Service Fabric
3)Modernización agregando nuevos microservicios
4)Innovar, descomponiendo la aplicación en microservicios
5)Transformada en microservicios o una nueva aplicación desde cero
21. Service Fabric para Linux
• Crea clusters Linux clusters via portal de
Azure o la CLI
• Orquesta containers en Linux así como en
Windows para workloads de producción
• Escala a miles de máquinas y millones de
containers
22. container
Service Fabric cluster
IIS / ASP.NET
Front-end web service
Service Fabric Application Model o
Docker Compose
SQL Server
Database Migration Service
VSTS Git
Repository Azure Container
Registry
23.
24.
25. 1) Aplicación tradicional
2)Hosteadas como guest executables o containers en Service Fabric
3)Modernización agregando nuevos microservicios
4)Innovar, descomponiendo la aplicación en microservicios
5)Transformada en microservicios o una nueva aplicación desde cero
26. 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
27. 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
28.
29. Azure Load Balancer
Azure API Management
IoT Hub
Event Hub
stateless web gateway Service Fabric
Service Fabric
Service Fabric
Service Fabric
30. 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
http://aka.ms/tryServiceFabric
Listado de recursos https://aka.ms/focuson/asf
31. 23 al 27 de Octubre 2017.NET Conf UY v2017
¡Muchas gracias!
Guillermo J. Bellmann
@gjbellmann
http://blog.gbellmann.technology/