introducción a azure app service - mug buenos aires

42
Guillermo Bellmann Microsoft Azure MVP Cloud architect - Nubimetrics @gjbellmann Introducción a Azure App Service MUG Buenos Aires

Upload: guillermo-javier-bellmann

Post on 07-Jan-2017

35 views

Category:

Software


5 download

TRANSCRIPT

Page 1: Introducción a Azure App Service - MUG Buenos Aires

Guillermo BellmannMicrosoft Azure MVPCloud architect - Nubimetrics@gjbellmann

Introducción a Azure App ServiceMUG Buenos Aires

Page 2: Introducción a Azure App Service - MUG Buenos Aires

Tipos de nubePrivada

(On-Premise)Infrastructu

reas a Service

Platformas a Service

Storage

HW del Server

Networking

Servers

Bases de datos

Virtualización

Runtimes

Aplicaciones

Seguridad e Integración

Storage

HW del Server

Networking

Servers

Bases de datos

Virtualización

Runtimes

Aplicaciones

Seguridad e Integración

Storage

HW del Server

Networking

Servers

Bases de datos

Virtualización

Runtimes

Aplicaciones

Seguridad e Integración

Noso

tros

Proveedor

Proveedor

Noso

tros

Noso

tros

Softwareas a Service

Storage

HW del Server

Networking

Servers

Bases de datos

Virtualización

Runtimes

Aplicaciones

Seguridad e Integración

Proveedor

Page 3: Introducción a Azure App Service - MUG Buenos Aires

API APPSConstruye y consume fácilmente APIs en la

nube

WEB APPSAplicaciones Web que escalan con nuestro

negocio

LOGIC APPSAutomatiza procesos de negocio contra SaaS y

on-premises

MOBILE APPSConstruye aplicaciones móviles para cualquier

dispositivo

Azure App Service

Page 4: Introducción a Azure App Service - MUG Buenos Aires

WEB APPS

Funcionalidades disponibles:• .NET, Node.js, Java, PHP, y Python

• WebJobs para tareas de larga duración

• Publicación desde VS integrada, debug remoto

• CI con GitHub, BitBucket, VSTS

• Auto-load balance, Autoescalado, Geo DR

• Virtual networking y conexiones híbridas

• Slots para deploymentes de staging

Aplicaciones web corren como estánsin necesidad de cambios

Page 5: Introducción a Azure App Service - MUG Buenos Aires

Nuevas características para Mobile apps:

• WebJobs para tareas de larga duración

• CI con GitHub, BitBucket, VSAuto-load balance, Autoescalado, Geo DR

• Virtual networking y conexiones híbridas

• Slots para deploymentes de staging

Mobile services con mucho más

MOBILE APPS

Page 6: Introducción a Azure App Service - MUG Buenos Aires

Logic Apps para automatización simplificada

• Diseñador sin código para creación rápida

• Docenas de templates pre-armados para arrancar

• Soporte Out of the boxpara aplicaciones SaaS y on-premises populares

• Uso con API Apps custom creadas por nosotros

• Biztalk APIs para escenarios de integración expertos

Automatiza sistemas SaaS y on-premises

LOGIC APPS

Page 7: Introducción a Azure App Service - MUG Buenos Aires

Easily use cloud or custom APIs:• Dozens of built-in APIs for popular

SaaS

• An ecosystem of APIs for any need

• Create and publish custom, reusable APIs

• Visual Studio tooling with one click publish and remote debugging

• Automatic client SDK generation for many languages

Crea, consume y hosteaAPIs más fácilmente

API APPS

Page 8: Introducción a Azure App Service - MUG Buenos Aires

Planes y característicasFree Shared Basic Standard Premium

Cuando usarlo

Spikes, pruebas de concepto

dev - test con SSL

Producción con bajo tráfico y poca carga

Producción con autoescalado y manejo de tráfico avanzado

ProducciónMás avanzado – Conectores Biztalk, etc

# cores Compartidos, 60 mins CPU por día

Compartidos, 240 mins CPU por día

1-4 1-4 1-8

RAM 1GB 0,5GB 1.75-7GB 1.75-7GB 1.75-14GB

SLA 99.95% 99.95% 99.95%Dominio custom & certificados

no si si si si

Profiling remoto

no no no si si

Page 9: Introducción a Azure App Service - MUG Buenos Aires

Web Apps

Page 10: Introducción a Azure App Service - MUG Buenos Aires

Continuous Deployment para Web Apps

Web App Production

Slot

Repositorio de código

Web App Staging Slot

Commit

Agilidad a través de Continuous Deployment

Auto-Swap

de los cambios

Hooks

Git pull

Developer

Page 11: Introducción a Azure App Service - MUG Buenos Aires

Microsoft AzureLoad Balancer

Runtime Database

Application Database

API Endpoint

Frontend (IIS ARR)

Publish Endpoint Blob StorageFile Server

Metering

DeploymentServer(s)

Arquitectura de una Web App

Page 12: Introducción a Azure App Service - MUG Buenos Aires

• 3 tipos de logs:• Detailed Error Logging• Failed Request Tracing • Web Server Logging (W3C extended log format)

• Se puede hacer el log en el sistema de archivos (rolling files), table storage o • blob storage• Cuando se habilita el log de la aplicación, queda encendido por 12 horas

Log Streaming

Page 13: Introducción a Azure App Service - MUG Buenos Aires

• Open source .NET Foundation https://github.com/projectkudu/kudu• Encargado de los deployments en App Services• También puede correr fuera de Azure• Deploys desde Git• Build steps configurables• Sitio y utilidades de Kudu “secretas”

Kudu & Site Extensions

Page 14: Introducción a Azure App Service - MUG Buenos Aires

WebJobs

Page 15: Introducción a Azure App Service - MUG Buenos Aires

Tareas livianas con alto uso de CPUrun.cmd, run.bat run.exe run.ps1 run.sh run.php run.py run.js

BlobTrigger, TableTrigger, QueueTrigger, ServicebusTrigger

Escala: Singleton, Multi-instanciaTipo de

job: On-Demand, Scheduled, Continuous

Características del SDK de WebJobs:

Deployment: Portal, Visual Studio, CLI, Git

Page 16: Introducción a Azure App Service - MUG Buenos Aires

WebJobs

Web App

Page 17: Introducción a Azure App Service - MUG Buenos Aires

WebJobs

Web App

Page 18: Introducción a Azure App Service - MUG Buenos Aires

API Apps

Page 19: Introducción a Azure App Service - MUG Buenos Aires

Beneficios de las API Apps• Trae tu API como está• .NET Web API / Node.js + Express• Java / PHP y muchos más

• Control de Acceso Simple – no hay que cambiar el código para habilitar la autenticación que viene incorporada

• Integración con Visual Studio• Integración con Logic Apps• Administración central de CORS

Page 20: Introducción a Azure App Service - MUG Buenos Aires

API Apps tiene en cuenta los mayores problemas al construir y consumir APIs

Consume APIsAuthentication, built-in to mobile

and web SDKs

SSO, manejado por el

serverGeneración de

SDKsDescubrimiento de

APIsGalería – pública &

organizacional

Construye tu APIWeb Apps++: Trae tu API como está,

en tu lenguaje preferido

Control de acceso simple SSO Contrato de

metadataEstilo de

MicroserviciosExpone APIs enterprise

20

Page 21: Introducción a Azure App Service - MUG Buenos Aires

Consumiendo API Apps

• API Apps expone servicios HTTP• La Metadata se expone usando

Swagger 2.0 metadata• Archivo JSON• Ampliamente soportado

• Aplicaciones cliente

Page 22: Introducción a Azure App Service - MUG Buenos Aires

Logic Apps

Page 23: Introducción a Azure App Service - MUG Buenos Aires

Integración de SaaS

Page 24: Introducción a Azure App Service - MUG Buenos Aires

• Box• Chatter• Delay• Dropbox• Azure HD Insight• Marketo• Azure Media Services• OneDrive• SharePoint • SQL Server• Office 365• Oracle

• QuickBooks• SalesForce• Sugar CRM • SAP• Azure Service Bus• Azure Storage• Timer / Recurrence• Twilio• Twitter• IBM DB2 • Informix• Websphere MQ

• Azure Web Jobs• Yammer• Dynamics CRM• Dynamics AX• Hybrid Connectivity

• HTTP, HTTPS • File• Flat File• FTP, SFTP• POP3/IMAP• SMTP• SOAP + WCF

• Batching / Debatching

• Validate• Extract (XPath)• Transform

(+Mapper)• Convert (XML-JSON)

• Convert (XML-FF)• X12• EDIFACT• AS2• TPMOM• Rules Engine

Conectores

Protocolos BizTalk Services

Conectores a APIs Built-in

Page 25: Introducción a Azure App Service - MUG Buenos Aires

Mobile Apps

Page 26: Introducción a Azure App Service - MUG Buenos Aires

Azure Mobile ServicesStorage

Autenticación

Lógica

Push

Scheduler

Page 27: Introducción a Azure App Service - MUG Buenos Aires

Almacenamiento estructurado• Powered by SQL Database• Soporta queries ricas• Esquema dinámico• Administración de los datos en:• Azure Portal• SQL Portal (Silverlight)• SQL Management Studio• REST API• Azure CLI Tools• SQL CLI

Page 28: Introducción a Azure App Service - MUG Buenos Aires

Scripts en Tablas del lado del servidor

Scripts Node.js

Intercepta requests CRUD a las tablas

Pasa a SQL por default

Totalmente customizable

Backend .NET Web API

en Visual Studio

MongoDB, Table Storage, SQL out of

the box

Page 29: Introducción a Azure App Service - MUG Buenos Aires

Custom API• Endpoints no basados en tablas• Accesibles desde• GET• POST• PUT• PATCH• DELETE

• Para lógica node.js en scripts como los endpoints de tablas

• Para .NET entregado a través de una WebAPI • Expone cualquier funcionalidad que quieras

Page 30: Introducción a Azure App Service - MUG Buenos Aires

Azure Functions

Page 31: Introducción a Azure App Service - MUG Buenos Aires

Azure Functions• Ejecución de código basado en eventos• Serverless• C#, JavaScript, F#, Python, PHP, Java, Bash,

Batch, PS• Basado en el SDK de WebJobs

Page 32: Introducción a Azure App Service - MUG Buenos Aires

Triggers y bindings

Page 33: Introducción a Azure App Service - MUG Buenos Aires

Librerías ya incluidas• mscorlib• System• System.Core• System.Xml• System.Net.Http• Microsoft.Azure.WebJobs• Microsoft.Azure.WebJobs.Host• Microsoft.Azure.WebJobs.Extensions• System.Web.Http• System.Net.Http.Formatting

Page 34: Introducción a Azure App Service - MUG Buenos Aires

Librerías ya incluidas• Newtonsoft.Json• Microsoft.WindowsAzure.Storage• Microsoft.ServiceBus• Microsoft.AspNet.WebHooks.Receivers• Microsoft.AspNet.WebHooks.Common

Page 35: Introducción a Azure App Service - MUG Buenos Aires

Estructura de carpetas

Page 36: Introducción a Azure App Service - MUG Buenos Aires

Nuestra función: run.csxusing System;

public static void Run(TimerInfo myTimer, TraceWriter log){ log.Info($"Función con trigger por timer ejecutada el {DateTime.Now}");}

Page 37: Introducción a Azure App Service - MUG Buenos Aires

Application Insights

Page 38: Introducción a Azure App Service - MUG Buenos Aires

Application Insights

Page 39: Introducción a Azure App Service - MUG Buenos Aires

Mejores Prácticas

Page 40: Introducción a Azure App Service - MUG Buenos Aires

Mejores prácticas• Autoescalado encendido & Sticky sessions apagado• Hacer back up de la base de datos• Hacer test de carga antes de poner en producción• Configurar el failover automático con Azure Global Traffic

Manager• Automatizar los deploys usando los slots• Testear el site recovery• Usar Azure Rersource Groups• Setear alertas de billing• Bundling & minificación de recursos web• Usar Azure CDN para los archivos estáticos• Implementar las políticas de retry adecuadas para la BD

Page 41: Introducción a Azure App Service - MUG Buenos Aires

¿Preguntas?

Page 42: Introducción a Azure App Service - MUG Buenos Aires

Guillermo BellmannMicrosoft Azure MVPCloud architect - Nubimetrics@gjbellmann

¡Gracias!