SlideShare una empresa de Scribd logo
Microsoft Azure
Que servicios Y cuando utilizarlos
Germán Küber
Software Architect & Developer
Net-Baires
http://www.germankuber.com.ar/
@GermanKuber
Agenda
• App Web
• Segurizar nuestra App
• Almacenar datos
• Data Analytics
• Performance
• Inteligencia en nuestras App
• Mensajes
• Monitoreo
• Deploy y Testing
¿Por qué debemos elegir el
servicio correcto?
Categorías de Azure
¿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
¿Dónde corro mi App Web?
Opciones para correr una Web App
IaaS PasS LaaS, FaaS
Control total Valor de negocio
Servicios en detalle
• 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)
• 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
• 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
• 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
• 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
• 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
• 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
• 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%
• 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
• 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
• 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%
• 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
• 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
Comparando Opciones
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
Procesos Background
Procesos cortos
Procesos largos
Procesos intensos
Pagar todos los meses
Pagar por lo que usamos
Correr app completa
Correr solamente el código
Correr aplicaciones
Host Web App
Host Api
Host Backend para mobile
Automatizar un paso del proceso
Automatizar proceso
Ultimas features
Correr Microservicios
Segurizar nuestra App
Modelo de App en Azure
Autenticación/Autorización
Credenciales
Secret Store
Certificados
Escriptación
Opciones para seguridad
• 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
• 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
• 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
Comparando Opciones
Opciones para seguridad
Autenticar usuarios para App
Almacenar user identities
Almacenar key y secret
Proveer certifica TLS
Proteger datos en rest
Almacenar datos
Opciones para almacenar datos
Datos relacionales Datos sin estructura Documentos
Data Analytics
• 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
• 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
• Escala masiva, múltiples propósitos
• Múltiples modelos
• File Storage
• Blob Storage
• Queue Storage
• Table Storage
• Shared Access Signature
• Firewalls and virtual networks
• Datos encriptados en Rest
• Replicación
• Lically-Redundant
• Geo-Redundant
• Read-Access-Geo-Redundant
• Lift and shift archivos al Cloud
• File Storage en protocolo SMB
• Montar Archivos compartidos
• Windows
• Linux
• MacOs
• Todas las features de Azure storage
• Guardar datos semi estructurados
• Esquema flexible
• Todas las features de Azure Storage
• 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
• Prepara estructuras y reportes
• Datos relacionales
• Optimizado para reportes
• Mucha información (1PB)
• Información encriptada
• Encriptación transparente
Comparando Opciones
Almacenamiento de Datos para OLTP
Datos relacionales
Semi o Datos no relacionales
Uso de Herramientas Microsoft
Queries Avanzadas
Múltiples Apli’s
Azure Storage Service
Lift and Shift Archivos a Cloud
Lift and Shift App a Cloud
Almacenar mucha información
Almacenar poca información
Data Analytics
Opciones para Data Analytics
Opciones para Data Analytics
Opciones para Data Analytics
• 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
Applications Performance
Opciones para Performance
• 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
• 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
• 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
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
Inteligencia en nuestras
Aplicaciones
Opciones para agregar Inteligencia
• 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
• 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
• 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.
Opciones para agregar Inteligencia
Crear tu propio algoritmo de Analytical
Crear ML model con tus datos
Usar modelos pre entrenados
Crear bot conversacional
Trabajando con Mensajes
Opciones para mensajes
• 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
• 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
• 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
• 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
• 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
• 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
Comparando Opciones
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
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
Monitoreo
Opciones para Monitoreo
Nivel Aplicación Nivel Subscripción
• 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
• Para monitoreas aplicaciones mobile
• Crash report
• Real-Time Analytics
• Deploya y testea aplicaciones
• La evolución de HockeyApp
• 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
• 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
• 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
Comparando Opciones
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
Deploy y Testing
Opciones para Deploy y Testing
Azure DevOps Visual Studio
App Center
Azure Devops
Project
• 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
• 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
• 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
Comparando Opciones
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
Gracias !!!
Germán Küber
Software Architect & Developer
Net-Baires
http://www.germankuber.com.ar/
@GermanKuber

Más contenido relacionado

La actualidad más candente

Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
Gonzalo C.
 

La actualidad más candente (20)

NetRaf 2017 - Chat multiplataforma con reconocimiento de voz
NetRaf 2017 - Chat multiplataforma con reconocimiento de vozNetRaf 2017 - Chat multiplataforma con reconocimiento de voz
NetRaf 2017 - Chat multiplataforma con reconocimiento de voz
 
Cosmos DB + Azure Functions- Cloud Lunch and Learn Marathon .pptx
Cosmos DB + Azure Functions- Cloud Lunch and Learn Marathon .pptxCosmos DB + Azure Functions- Cloud Lunch and Learn Marathon .pptx
Cosmos DB + Azure Functions- Cloud Lunch and Learn Marathon .pptx
 
Creacion Apirest Back{4}app
Creacion Apirest Back{4}appCreacion Apirest Back{4}app
Creacion Apirest Back{4}app
 
Entendiendo Iaas/Paas/Saas en Azure
Entendiendo Iaas/Paas/Saas en AzureEntendiendo Iaas/Paas/Saas en Azure
Entendiendo Iaas/Paas/Saas en Azure
 
Aplicaciones Serverless
Aplicaciones ServerlessAplicaciones Serverless
Aplicaciones Serverless
 
Cross-premises: integrando redes e infraestructura con Microsoft Azure
Cross-premises: integrando redes e infraestructura con Microsoft AzureCross-premises: integrando redes e infraestructura con Microsoft Azure
Cross-premises: integrando redes e infraestructura con Microsoft Azure
 
Microservicios en Azure Service Fabric
Microservicios en Azure Service FabricMicroservicios en Azure Service Fabric
Microservicios en Azure Service Fabric
 
Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1Azure bootcampo 2019 start up_v1
Azure bootcampo 2019 start up_v1
 
2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop
 
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB AtlasArquitectura Serverless con AWS Lambda y MongoDB Atlas
Arquitectura Serverless con AWS Lambda y MongoDB Atlas
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
4 Sessions Junio 2015: Aplicaciones multiplataforma - Office 365 + Cordova
4 Sessions Junio 2015: Aplicaciones multiplataforma - Office 365 + Cordova4 Sessions Junio 2015: Aplicaciones multiplataforma - Office 365 + Cordova
4 Sessions Junio 2015: Aplicaciones multiplataforma - Office 365 + Cordova
 
Escribiendo funciones con Azure Functions
Escribiendo funciones con Azure FunctionsEscribiendo funciones con Azure Functions
Escribiendo funciones con Azure Functions
 
Trabajando con MySQL y PostgreSQL dentro de azure
Trabajando con MySQL y PostgreSQL dentro de azureTrabajando con MySQL y PostgreSQL dentro de azure
Trabajando con MySQL y PostgreSQL dentro de azure
 
Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010Web matrix razor_aspnetmvc_finalv2_techdays2010
Web matrix razor_aspnetmvc_finalv2_techdays2010
 
Introducción microsoft azure
Introducción microsoft azureIntroducción microsoft azure
Introducción microsoft azure
 
Buscando a gran velocidad con Azure Search
Buscando a gran velocidad con Azure SearchBuscando a gran velocidad con Azure Search
Buscando a gran velocidad con Azure Search
 
Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Extendiendo Xamarin.Forms
Extendiendo Xamarin.FormsExtendiendo Xamarin.Forms
Extendiendo Xamarin.Forms
 

Similar a Azure 360º para Desarrolaldores

Similar a Azure 360º para Desarrolaldores (20)

Futuro de Desarrollo en SharePoint
Futuro de Desarrollo en SharePointFuturo de Desarrollo en SharePoint
Futuro de Desarrollo en SharePoint
 
Construyedo Aplicaciones Serverless
Construyedo Aplicaciones ServerlessConstruyedo Aplicaciones Serverless
Construyedo Aplicaciones Serverless
 
Servicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWSServicios de Bases de Datos de AWS
Servicios de Bases de Datos de AWS
 
Aplicaciones móviles super-escalables
Aplicaciones móviles super-escalablesAplicaciones móviles super-escalables
Aplicaciones móviles super-escalables
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de AplicacionesContenedores y el Futuro del Despliegue de Aplicaciones
Contenedores y el Futuro del Despliegue de Aplicaciones
 
Construyendo aplicaciones Serverless
Construyendo aplicaciones ServerlessConstruyendo aplicaciones Serverless
Construyendo aplicaciones Serverless
 
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
Meetup En mi local funciona - Serverless... ¡en local! con Serverless Framewo...
 
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
Despliegue de aplicaciones OS en entornos Cloud Computing con Bitnami- OpenEx...
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
 
Ionic y angular.js
Ionic y angular.jsIonic y angular.js
Ionic y angular.js
 
Trabajo fin de master Dirección TI
Trabajo fin de master Dirección TITrabajo fin de master Dirección TI
Trabajo fin de master Dirección TI
 
Desarrollo de aplicaciones saa s con herramientas de software libre
Desarrollo de aplicaciones saa s con herramientas de software libreDesarrollo de aplicaciones saa s con herramientas de software libre
Desarrollo de aplicaciones saa s con herramientas de software libre
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Sql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datosSql server 2014 y la plataforma de datos
Sql server 2014 y la plataforma de datos
 
Introducción a Big Data en AWS
Introducción a Big Data en AWSIntroducción a Big Data en AWS
Introducción a Big Data en AWS
 
La nube de internet.
La nube de internet.La nube de internet.
La nube de internet.
 
Unitis Virtualization
Unitis VirtualizationUnitis Virtualization
Unitis Virtualization
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 

Más de Germán Küber

Más de Germán Küber (20)

Explorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en RustExplorando el Diseño de la Memoria en Rust
Explorando el Diseño de la Memoria en Rust
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Mev Rapido.pptx
Mev Rapido.pptxMev Rapido.pptx
Mev Rapido.pptx
 
Que son los smart contracts.pptx
Que son los smart contracts.pptxQue son los smart contracts.pptx
Que son los smart contracts.pptx
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
 
Patrones funcionales
Patrones funcionalesPatrones funcionales
Patrones funcionales
 
Patrones de diseño en solidity
Patrones de diseño en solidityPatrones de diseño en solidity
Patrones de diseño en solidity
 
Vertical slice architecture
Vertical slice architectureVertical slice architecture
Vertical slice architecture
 
De 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 mesesDe 0 a blockchain developer en 3 meses
De 0 a blockchain developer en 3 meses
 
Diamon pattern presentation
Diamon pattern presentationDiamon pattern presentation
Diamon pattern presentation
 
Patrones funcionales
Patrones funcionalesPatrones funcionales
Patrones funcionales
 
Defensive code
Defensive codeDefensive code
Defensive code
 
Programación Funcional C#
Programación Funcional C#Programación Funcional C#
Programación Funcional C#
 
Unit testing consejos
Unit testing   consejosUnit testing   consejos
Unit testing consejos
 
Defensive code C#
Defensive code C#Defensive code C#
Defensive code C#
 
Event sourcing
Event sourcingEvent sourcing
Event sourcing
 
C sharp 8
C sharp 8C sharp 8
C sharp 8
 
Un mundo sin if. generics al rescate
Un mundo sin if. generics al rescateUn mundo sin if. generics al rescate
Un mundo sin if. generics al rescate
 
Vertical slice architecture
Vertical slice architectureVertical slice architecture
Vertical slice architecture
 
CQRS .NET Conf Chile 2018
CQRS .NET Conf Chile 2018CQRS .NET Conf Chile 2018
CQRS .NET Conf Chile 2018
 

Último

proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
encinasm992
 

Último (20)

Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docxPRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
PRÁCTICAS DEL MÓDULO I Y II DE EDUCACIÓN Y SOCIEDAD.docx
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 

Azure 360º para Desarrolaldores

  • 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
  • 3. ¿Por qué debemos elegir el servicio correcto?
  • 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
  • 6. ¿Dónde corro mi App Web?
  • 7. Opciones para correr una Web App IaaS PasS LaaS, FaaS Control total Valor de negocio
  • 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
  • 24. Procesos Background Procesos cortos Procesos largos Procesos intensos Pagar todos los meses Pagar por lo que usamos Correr app completa Correr solamente el código
  • 25. Correr aplicaciones Host Web App Host Api Host Backend para mobile Automatizar un paso del proceso Automatizar proceso Ultimas features Correr Microservicios
  • 27. Modelo de App en Azure
  • 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
  • 34. Opciones para seguridad Autenticar usuarios para App Almacenar user identities Almacenar key y secret Proveer certifica TLS Proteger datos en rest
  • 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
  • 39. • Escala masiva, múltiples propósitos • Múltiples modelos • File Storage • Blob Storage • Queue Storage • Table Storage • Shared Access Signature • Firewalls and virtual networks • Datos encriptados en Rest • Replicación • Lically-Redundant • Geo-Redundant • Read-Access-Geo-Redundant
  • 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
  • 45. Almacenamiento de Datos para OLTP Datos relacionales Semi o Datos no relacionales Uso de Herramientas Microsoft Queries Avanzadas Múltiples Apli’s
  • 46. Azure Storage Service Lift and Shift Archivos a Cloud Lift and Shift App a Cloud Almacenar mucha información Almacenar poca información
  • 48. Opciones para Data Analytics
  • 49. Opciones para Data Analytics
  • 50. Opciones para Data Analytics
  • 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
  • 59. Opciones para agregar Inteligencia
  • 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
  • 76. Opciones para Monitoreo Nivel Aplicación Nivel Subscripción
  • 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
  • 91. Gracias !!! Germán Küber Software Architect & Developer Net-Baires http://www.germankuber.com.ar/ @GermanKuber

Notas del editor

  1. Online transaction process
  2. Las notas