Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
azure-logic elementos de seleccion cuando utilizarlos
1. Microsoft Azure
Que servicios Y cuando utilizarlos
Germán Küber
Software Architect & Developer
Net-Baires
http://www.germankuber.com.ar/
@GermanKuber
2. Agenda
• App Web
• Segurizar nuestra App
• Almacenar datos
• Data Analytics
• Performance
• Inteligencia en nuestras App
• Mensajes
• Monitoreo
• Deploy y Testing
5. ¿Por qué debemos elegir el servicio correcto?
• Tomar la decisión correcta para tu requerimiento
• Elegir el servicio correcto para la situación especifica
• Utilizar el servicio correcto en lugar de re inventar la rueda
• Ahorrar dinero
• Posicionarnos como expertos
9. • Virtual Machine as a Service
• Arranca y se apaga en minutos
• Muchas imágenes para elegir
• Importa tus imágenes
• Alternativas de tamaño
• Cpu
• Memoria
• Gpu
• Opciones de configuración
• Red
• Discos
• SLA 99.95% (Instancias múltiples)
10. • Corre múltiples contenedores
• Contenedores arrancan y paran en segundos
• Posee un orquestador
• DC/OS
• Kubernetes
• Swarm
• Corre contenedores Linux y Windows
• Usa imágenes
• Docker Hub
• Azure Container Registry
11. • Corre un contendor
• Arranca y frena en segundos
• No precisa un orquestador
• Puede trabajar con orquestador
• Corre contenedores Linux y Windows
• Usa imágenes
• Docker Hub
• Azure Container Registry
12. • Corre contenedores en App Services
• Contenedores arrancan y frenan en segundos
• No requiere orquestador
• Corre contenedores Linux
• Usa features de App Services
• Deployment Slots
• Escalado Automático
• Usa imágenes
• Docker Hub
• Azure Container Registry
13. • Corre tu proceso en varias VM
• Orquesta los procesos
• Escale en varios VM
• Crea pipelines con tus tareas
• Corre tu proceso en Windows o Linux
• Puede correr contenedores
14. • Corre tu app de la forma mas segura
• Orquesta tus App
• Siempre habilitada
• Escala
• Fácil actualización de tus app
• Puede correr
• Cualquier ejecutable
• Servicios con estado
• Aplicaciones de Actores
• Orquestadores de contenedores
• Corre en cloud y on-premise
• Requiere 5 VM en producción
15. • Corre tu app in VMs como Web o Worker Rol
• Abstracción de una VM
• Empaqueta tu app y deploya
• Corre Aplicaciones HTTP
• Corre procesos
• Posibilidad de acceso RDM
16. • Corre tu App as a Service
• Múltiples lenguajes
• Features
• Deployment Continuo
• Custom Domain
• Deployment Slot
• Automatic Scalling
• Athentication /Authorization
• WebJobs
• Conexión hibrida contra on-premise
• SLA 99.95%
17. • Corre procesos en App Service
• Corre adentro de tu App Service
• Consume recursos
• Depende de tu App Service
• Puede ser disparado
• Schedule
• Otro recurso
• Mensaje en una cola
18. • Corre contenedores en App Services
• Contenedores arrancan y frenan en segundos
• No requiere orquestador
• Corre contenedores Linux
• Usa features de App Services
• Deployment Slots
• Escalado Automático
• Usa imágenes
• Docker Hub
• Azure Container Registry
19. • Corre tu App como un Backend para tu app
Mobile
• .NET, Node.JS
• Clientes mobile
• IOS, Windows, Android
• Features únicas
• Offline Sync
• Push Notification
• Todas las features de App Services
• SLA 99.95%
20. • Ejecuta una pequeña porción de código
• Trigger
• Schedule
• Recurso externo
• Web Hook
• Cola
• Blob
• Bindings
• Todas las features de App Services
• Puede correr en Consumption mode (serverless)
• Paga por la ejecución
• Escala automáticamente
21. • Ejecuta un pipeline de tareas
• Remplazo de Biztalk Services
• Trigger
• Schedule
• Recurso externo
• Cola
• Blob
• Llama conectores
• Office 365, Twitter, SendGrid
• Corre en Consumption Mode
• Escala automáticamente
23. Contenedores y Vm’s
Lift and shift tu App a Cloud
Aplicaciones simple
Aplicaciones complejas
Microservicios
Correr en cualquier lado
Correr aplicaciones Linux
Correr aplicaciones masivas
25. Correr aplicaciones
Host Web App
Host Api
Host Backend para mobile
Automatizar un paso del proceso
Automatizar proceso
Ultimas features
Correr Microservicios
30. • Segurizar aplicaciones
• Proveedor de Identidad As a Service
• Almacenar identidades
• Autenticación/Autorización
• Integración con On-Premise
• Proteger aplicaciones
• Cloud
• On-Premise
• Features Avanzadas
• Multi-Factor autenticación
31. • Provee store de Secrets
• Almacena y Encripta
• Leer y almacenar secretos por Api
• Evitar que desarrolladores conozcan secrets
• Mantener los secret fuera de código
• Provee logging
32. • Encripta tus datos por Rest
• Encripta y desencripta automáticamente
• No tiene impactos en performance
• Azure se encarga de manejo de Keys
• Azure Storage service Encription
• Encripta y desencripta sin afectar performance
• Azure SQL encriptación de datos transparente
36. Opciones para almacenar datos
Datos relacionales Datos sin estructura Documentos
Data Analytics
37. • SQL Server en Cloud
• Manejado y escalable
• Redundante
• 99.99%
• Datos relacionales
• Microsoft Tools
• SSMS, Azure Portal, Visual Studio
• Features Avanzadas
• Geo-Replication
• Automatic Tunning
• Thread Detection
• Dynamic data masking
38. • Base de datos distribuida
• Posibilidad de usar varias API’s
• DocumentDB Api
• MongoDB Api
• Table Api
• No se precisa definir esquema
• Indexado automático
• Geo-replication
• SLA
• 99.99% (99.999% lectura)
• Latencia
• lectura < 10ms
• Escritura < 15ms
40. • Lift and shift archivos al Cloud
• File Storage en protocolo SMB
• Montar Archivos compartidos
• Windows
• Linux
• MacOs
• Todas las features de Azure storage
41. • Guardar datos semi estructurados
• Esquema flexible
• Todas las features de Azure Storage
42. • Almacenar archivos alta performance
• Parte de capa Premium
• Perfecto para usar en VM’s
• Lift and Shift aplicaciones performantes al
Cloud
• Todas las features de Azure Storage
43. • Prepara estructuras y reportes
• Datos relacionales
• Optimizado para reportes
• Mucha información (1PB)
• Información encriptada
• Encriptación transparente
51. • Mover y transformar datos
• Alta disponibilidad
• Crear pipelines
• Ingreso y salida de datos
• On-Premise y Cloud
• Muchos conectores
• Transformar datos
• Stored Procedure, Hadoop processing
• Correr SQL Server Integration Service packages
54. • Mejora el rendimiento de carga de nuestra
ampliación
• Replica contenido estático globalmente
• Pone el contenido desde el punto mas
cercano del usuario
• Diferentes proveedores
• Verizon
• Akamai
55. • Recursos globales
• No ligado a una única región
• Ping periódico contra nuestra aplicación
• Routes si
• Availability
• Geographic performance
• Geographic location
• Priority / weight
56. • Provee almacenamiento en memoria
• Basado en open-source Redis Cache
• Guarda datos en key/value
• Hashes and lists
• Features avanzadas
• Geo-Replication
• Persistencia de datos
57. Performance
Reducir trafico de tu app
Traer los datos cerca del usuario
Traer la app cerca del usuario
Acceso a datos rápidos en memoria
Pagar por lo que usamos
60. • Utilizar para Data Analytics complejos
• Muchos escenarios posibles
• Predictive analytics
• Data recommendations
• Data classification
• Crear algoritmos de machine learning
• Entrenar con datos
• Usar Azure Machine Learning Studio
• Usar Resultados
• Publicar en Azure Machine Learning Webservice, IOS,
Azure IOT Edge
• Consumir modelos desde nuestra app
61. • Agregar inteligencia a nuestras aplicaciones
• Muchas diferentes API’s
• Vision
• Speech
• Language
• Knowledge
• Search
• Trabaja con Machine Learning y AI
• Algunos modelos entrenados
• Posibilidad de entrenar modelos propios
62. • Para crear Bot Conversacionales
• Evita mucho trabajo inicial
• Basado en Bot Framework
• Templates
• Conectores con Azure Services
• Cognitive Services incluido
• Fácil de exponer bot en muchos escenarios
• Cortana, Slack, Skype, Ms Team
• Puede correr en consumption plan
• Paga por lo que usa.
63. Opciones para agregar Inteligencia
Crear tu propio algoritmo de Analytical
Crear ML model con tus datos
Usar modelos pre entrenados
Crear bot conversacional
66. • Simple mecanismo de colas
• Cada mensaje se procesa por un solo receptor
• Los mensajes contiene texto
• Tamaño máximo de mensaje 64KB
• Transaction logs
• Todas las features de Azure Storage
• Long Polling
67. • Mecanismo de colas
• Cada mensaje se procesa por un receptor
• Los Mensajes contiene
• Key/Value
• Body
• Contenido Binario (JSON, image, text)
• Máximo tamaño de mensaje 256KB – 1MB
• Detección de duplicados
68. • Mecanismo de Colas
• Mensaje es procesado por múltiples receptores
• Filtro de mensajes
• Los Mensajes contiene
• Key/Value
• Body
• Contenido Binario (JSON, image, text)
• Máximo tamaño de mensaje 256KB – 1MB
• Detección de duplicados
69. • Para subscribirse y lanzar eventos
• Subscribirse a muchos eventos
• Azure Storage
• Tu propia Aplicación
• Se puede pushear a cualquier destino
• No polling
• Retries failed push deliveries
• Solo se paga el uso
70. • Aceptar cantidades masivas de datos
• Múltiples senders y múltiples receivers
• Los mensajes consisten en
• Metadataa
• Body
• Propiedades definidas
• Tamaño máximo de mensaje 256KB
• Replay Events
• Retención de entre 1 y 7 días
• Archivado de datos en Blob Storage
71. • Ejecutar un pipeline de tareas en un proceso
• Triggered
• Schedule
• Recursos externos
• Event Grid
• Cola
• Pasos con Conectores
• Office 365, Twitter, SendGrid, Nuestra Api
• Se paga por lo que se usa
73. Comparando Opciones
• Informar que algo ocurrió
• Podría responder
• Incremento de temperatura
• No ocurre continuamente
• Se abre o se cierra puerta
• Stream continuo de datos
• Todos los datos tienen relación
• Datos de temperatura
74. Trabajando con Mensajes
Informar que algo paso
Subscribirse y publicar eventos
Analizar el contesto de los datos
Enviar mensaje a un subscriptor
Enviar mensaje a múltiples subscriptores
Orquestar mensajes con workflow
Recibir y enviar mensajes a IOT
Enviar notificaciones a muchos dispositivos
77. • Para monitoreas aplicaciones web y de escritorio
• Monitorea y Alerta
• Disponibilidad
• Performance
• Fallos
• Uso
• Lenguaje de Query avanzado
• Retiene 7 días los datos crudos
• Se pueden hacer query de 90 días de agregación
• Exportación continua
• JSON Format
78. • Para monitoreas aplicaciones mobile
• Crash report
• Real-Time Analytics
• Deploya y testea aplicaciones
• La evolución de HockeyApp
79. • Para recolectar logs de los servicios de Azure
• Trabaja con Operation Management Suite
• La mayoría de los servicios tiene conectores
• Lenguaje de query avanzado
80. • Obtener overview de todos los datos de
monitoreo
• Monitor
• Alerts
• Application Insights
• Log Analytics
• Service Heath
• …
• Generación de monitores específicos
• Sistema de Alertas automático
81. • Monitoreo y acciones para issues de seguridad
• Previene ataques
• Implementa recomendaciones
• Monitor
• Estado de seguridad de los servicios
• Vulnerabilidades
• Trabaja con servicios cloud y on-premise
83. Monitoreo
Monitorear aplicaciones web y Escritorio
Monitorear aplicaciones Mobile
Monitorear componentes de una App
Inspeccionar trafico de red
Obtener Overview de todos los monitores
Obtener Overview de aspectos de seguridad
Obtener recomendaciones
85. Opciones para Deploy y Testing
Azure DevOps Visual Studio
App Center
Azure Devops
Project
86. • Para buildear, testear y deployar nuestra app
• Todo junto
• Código Fuente
• Backlog
• Integración continua
• Build desde de un push
• Test
• Unit Test
• Load Tests
• Deploy
• Definiciones de build y reléase elaboradas
Azure DevOps
87. • Para buildear, testear y deployar nuestra app
• Build luego de un push
• Crea packages específicos para cada plataforma
• Testear en dispositivos reales
• Deploya en dispositivos
• Beta Tester
• Enviar Push notifications
• Monitor
• Uso
• Salud
88. • Crear Build y Release simples
• Crear un pipeline desde el portal de Azure
• Usa Azure DevOps por detrás
• Amplia variedad de templates en diferentes
plataformas
90. Opciones para agregar Inteligencia
Build Código
Testear aplicación
Deployar aplicación
Crear build y reléase pipeline
Almacenar código
Manejar trabajo en backlog
Manejar ciclo de vida de app mobile
Manejar ciclo de vida de app
Azure
DevOps