Archivo de la categoría: Azure

Automation of Premium Encoding in Azure Media Services with Media Butler

Azure Media Services tiene un Encoder Premium que permite hacer trascodificaciones avanzadas, puede leer más aquí.

Para poder hacer uso de Azure media Services Encoder Premium dentro un proceso automático de producción de video en demanda o VOD se puede hacer uso de Media Butler Framework. Un ejemplo de ello puede verse aquí.

Este proceso automático de ejemplo implementa el siguiente proceso de VOD.

preminencoderprocess1

Media Butler Framework es un proyecto de código abierto para automatizar procesos de VOD, que lo disfrutes

Anuncios

Enterprise Video: Local cache para Azure Media Services #azure

Introducción

Una de las cargas de trabajo que hace mucho sentido mover a la nube es el Streaming de videos en demanda desde la nube. Las razones son múltiples, costos, elasticidad, etc.

En el contexto de Enterprise video, por ejemplo cuando el presidente de una empresa le habla a sus colaboradores, donde todos los consumidores del video vendrán de la red interna hace sentido utilizar un nodo de cache local para ahorrar tráfico sobre internet.

En este post, vamos a configurar un nodo de cache de contenidos VOD que están siendo servidos desde un Origin Server de Azure Media Services, como se muestra en el siguiente diagrama.

0

Instalación de IIS Application Request Routing

Esta solución se basa en las funcionalidades de IIS Application Request Routing (ARR) de proxy y cache. La idea es que los player usen como dirección de reproducción la URL del servidor IIS local y este obtenga la información desde Media Services la primera vez y luego utilice una copia almacenada en el cache local.

Más información de ARR la pueden ver en Application Request Routing

La instalación de ARR es muy simple utilizando Web Platform Installer, solo buscar ARR 3.0, lo seleccionas y luego instalar como se muestra en la imagen 2.

2

Una vez instalado ARR, utilizando IIS Manager creamos una nueva Farm. La farm es la definición de un Web Front que está compuesto por varios nodos.

3

Lo primero que se debe definir es el nombre de la Farm.

4

Luego debemos agregar los servidores de origen del contenido, en nuestro caso es el Origin Server de Azure Media Services. En el portal, podemos leer la URL del servidor de origen. En este ejemplo es jpbutler.origin.mediaservices.windows.net como se muestar en la siguiente captura de pantalla.

5

Agregamos el servidor de origen con las opciones por defecto.

7

Una vez terminada la creación del FARM se deben crear las reglas URL rewrite, las cuales en este caso son las reglas por defecto por lo que podemos aceptar la auto creación de las mismas.

8

Prueba de la configuración de ARR Web Farm

Una vez realizada la configuración de la FARM en ARR podemos realizar la siguiente prueba.

Primero vamos a consumir el video desde Media services, que sería la forma en que normalmente se consume cuando no hay un proxy intermedio. Para esto vamos a utilizar el player Silverligth llamado Vertigo que nos permite ver video utilizando Smooth Streaming. Este player nos permite escribir la URL del archivo manifiesto del video y verlo.

La URL de vertigo player es http://player.smooth.vertigo.com/ y la URL del archivo manifiesto en el servidor de origen es http://jpbutler.origin.mediaservices.windows.net/626e3f3a-bfc2-48fc-9077-b7fa826d15ca/dfxptest.ism/Manifest

La siguiente captura de pantalla nos muestra cómo se ve el video en este primer caso.

9

Una vez comprobado que el video se ve directamente desde Media Services, vamos a probar que podemos consumirlo desde el proxy intermedio, implementado con IIS ARR. Para esto vamos a utilizar la URL del servidor IIS http://smoothcache.cloudapp.net/626e3f3a-bfc2-48fc-9077-b7fa826d15ca/dfxptest.ism/Manifest

En mi caso, creé un servidor IIS en una máquina virtual de Azure. En un escenario real, este servidor sería un IIS que está instalado en la red local del cliente.

En esta segunda captura de pantalla podemos ver cómo el mismo video se consume desde el servidor IIS con ARR, el player no distingue que el contenido viene desde Media Services sino que para él el servidor de origen es el IIS ARR.

10

Configuración de IIS ARR Cache

Hasta este momento hemos utilizado la capacidad de proxy de IIS ARR cuando generamos una Web FARM. Esto es muy útil en muchos escenarios, ahora para resolver el problema de consumo de ancho de banda internet de los empleados de una corporación que quieren ver el video del discurso del presidente, necesitamos agregar la capacidad de hacer Cache local.

Esto quiere decir que el proxy cuando obtenga un chunck del video, además de enviarlo al player para que lo proyecte guarde ese trozo de información de modo que el siguiente cliente que necesite esa parte del video pueda consumirlo desde el Cache local y no desde el origen del video en Media Services.

Para configurar el cache de ARR debemos ir a ARR a nivel de servidor y abrir las Features como se muestra en la siguiente pantalla de IIS Manager.

11

Aquí se deben agregar los discos de cache. Estos discos son el storage donde se almancena la información del cache. Se utilizan dos discos, uno primario y el otro secundario.

En nuestro ejemplo, utilizo los dos discos locales del servidor. El disco primario será D:\Cache y el secundario C:\cache. En una solución de producción es recomendable utilizar un storage externo y rápido. La creación de estos dos discos se muestra en las dos siguientes pantallas de IIS Manager.

 1213

Una vez agregado los discos de cache, debemos activarlo en el nivel de Web Farm. Con esto, de ahora en adelante además de actuar como Proxy será también un cache local.

Esto lo hacemos abriendo las propiedades del icono cache en la Web Farm.

14

Los datos de configuración del cache se muestran en la siguiente captura de pantalla. La idea es que los objetos duren en memoria 5 segundos y luego se guardan en disco. Si la Web Farm recibe una nueva petición para ese objeto lo leerá desde el disco y lo mantendrá nuevamente en memoria por 5 segundos

15

Prueba de la configuración de IIS ARR Cache

Una vez terminada la configuración podemos probar nuevamente el consumo de los videos desde el servidor IIS ARR, y validar cómo se van almacenando los chunck del video en el disco local del cache.

La prueba que se hace es consumir con dos clientes diferentes el video, en este caso utilizando Vertigo Player en Chrome y FireFox. Las siguientes dos imágenes muestran los videos en los clientes ya mencionados.

17

18

Por último, podemos ver la utilización del disco en IIS Manager y en el disco primario. La siguiente imagen muestra que el 0.35% de la capacidad del disco primario utilizada por la copia local de este video.

Además, podemos ver que en el disco que se ha creado una estructura de archivos que sigue la jerarquía de servidor de origine, ruta y elemento. Por ejemplo, los fragmentos del video en diferentes calidades ya están almacenado en el cache.

19

Conclusiones

En este ejercicio hemos realizado la instalación y configuración de un Web Farm con funcionalidades de Proxy y Cache. Esto nos permitió mostrar solucionar el problema que se presenta en el contexto de soluciones de Enterprise Videos, donde se requiere hacer almacenamiento local de los contenidos para ahorrar ancho de banda de internet cuando los diferentes empleados ven los videos corporativos.

Esta es una implementación basada en IIS ARR, que es un servicio flexible y configurable en diferentes escenarios. Por ejemplo, si se requiere una implementación en alta disponibilidad es posible utilizando a lo menos 3 servidores IIS ARR que actúan como uno.

Articulos relacionados

Laboratorios del curso Windows Azure Technical Training Santiago #windowsazure

Durante el curso Windows Azure Technical Training Santiago Chile, entrenamiento fuertemente orientado a la práctica, se realizaron 10 ejercicios para los desarrolladores y 12 ejercicios para los IT pro.
Los recursos utilizados para estos ejercicios son de libre acceso, por lo cual cualquier persona puede realizarlos si tiene una cuenta de Windows Azure. Si no la tiene, puede abrir una trial por 30 días de manera gratuita.

Para los desarrolladores de software, la batería de ejercicios es la siguiente:

1. Azure Web Sites
https://rgodinhodemo.blob.core.windows.net/hol/ASPNETAzureWebSites.zip

2. SQL Server on Azure Virtual Machines
https://rgodinhodemo.blob.core.windows.net/hol/ConnectingApplicationsVNet.zip

3. Windows Azure Mobile Services
http://www.windowsazure.com/en-us/documentation/articles/mobile-services-html-get-started/Windows

4. Windows Azure Media Services
https://jpgarcia.cl/2013/04/02/windows-azure-media-services-publicar-videos-para-ios-y-windows-phone-azure/

5. Windows Azure Active Directory
http://www.asp.net/identity/overview/getting-started/developing-aspnet-apps-with-windows-azure-active-directory
http://blogs.technet.com/b/ad/archive/2013/06/26/improved-windows-azure-active-directory-integration-with-asp-net-amp-visual-studio.aspx

6. Windows Azure SQL Database
https://rgodinhodemo.blob.core.windows.net/hol/IntroSQLDatabase.zip

7. Windows Azure Diagnostic & Patterns
http://www.windowsazure.com/en-us/manage/services/web-sites/choose-web-app-service/Troubleshooting
http://msdn.microsoft.com/en-us/library/windowsazure/hh771389

8. Windows Azure Service Bus
http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-queues/
http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-relay/

9. Windows Azure Cloud Services
http://msdn.microsoft.com/en-us/library/ff687127.aspx

10. Windows Azure Storage
http://www.windowsazure.com/en-us/develop/net/tutorials/multi-tier-web-site/1-overview/

Para los profesionales de infraestructura , la batería de ejercicios es la siguiente:

1. Windows Azure Virtual Machines
https://rgodinhodemo.blob.core.windows.net/hol/IntroToWindowsAzureVirtualMachines.zip

2. SQL Server on Azure Virtual Machines
http://www.windowsazure.com/en-us/documentation/articles/virtual-machines-provision-sql-server/

3. Azure SQL Database
http://www.windowsazure.com/en-us/documentation/articles/sql-database-create-configure/
http://www.windowsazure.com/en-us/documentation/articles/sql-database-deploy/
http://www.windowsazure.com/en-us/documentation/articles/sql-database-manage-windows-azure-SSMS/

4. Windows Azure Virtual Network
http://msdn.microsoft.com/en-us/library/windowsazure/dn133792.aspx
https://jpgarcia.cl/2013/06/07/como-usar-custom-load-balance-y-affinity-en-windows-azure-windowsazure/

5. Sharepoint on Azure Virtual Machines
http://msdn.microsoft.com/en-us/library/windowsazure/dn275959.aspx
http://blogs.technet.com/b/keithmayer/archive/2013/01/07/step-by-step-build-a-free-sharepoint-2013-lab-in-the-cloud-with-windows-azure-31-days-of-servers-in-the-cloud-part-7-of-31.aspx

6. Windows Azure Stoarge
http://michaelwasham.com/windows-azure-powershell-reference-guide/copying-vhds-blobs-between-storage-accounts/
http://msdn.microsoft.com/en-us/library/jj720558%28v=sql.120%29.aspx
https://blogs.technet.com/b/heyscriptingguy/archive/2014/01/24/create-backups-of-virtual-machines-in-windows-azure-by-using-powershell.aspx

7. Windows Azure Managment Services
http://www.windowsazure.com/en-us/manage/services/cloud-services/how-to-scale-a-cloud-service/
http://msdn.microsoft.com/en-us/library/windowsazure/dn306638.aspx
http://www.windowsazure.com/en-us/manage/services/storage/how-to-monitor-a-storage-account/

Presentación Windows Azure VPN Workshop #windowsazure

Aquí esta la presentación que hicimos hoy junto a Alejandro Pachecho en Microsoft Chile sobre Windows Azure VPN.

Links relacionados

Presentación: Using windows azure to develop secure and deploy cloud applications Santiago Chile

vs2013_a

En el contexto del lanzamiento de Visual Studio 2013 presenté las siguientes laminas. En la exposición se muestran los conceptos básicos de Windows Azure y las herramientas que VS2013 trae para facilitar el desarrollo de aplicaciones en la Nube.

En las siguientes ligas se pueden hacer tutoriales parecidos a las demostraciones  que vimos en la presentación.

  1. Escenario de DEV/TES de Sharepoint en Azure VM
  2. Creación de Web Sites en Azure
  3. Debugging remoto con Visual Studio 2013
  4. Crear una aplicación Windows Phone 8 con BackEnd en Azure Mobile Services
  5. Publicar servicios internos en Azure Service Bus Relay

Windows Azure Queues and Windows Azure Service Bus Queues

Aquí publico una pequeña comparación de las opciones de mensajería de Windows Azure, con foco en Services bus Queues y ejemplos transaccionales que compilé la semana pasada para un proyecto en México.

Lo que necesita el proyecto es poder habilitar mensajería transaccional entre servidores en sus instalaciones y servicios corriendo en la Nube. Aquí se incluye un ejemplo de cómo enviar mensajes desde una cola MSMQ a una Cola del Service Bus en Azure de manera transaccional.

Links relacionados

  1. Colección de EBooks GRATIS de tecnologías Microsoft, incluida Windows AZURE
  2. Mejores Prácticas para el Diseño de la arquitectura en CLoud
  3. Presentación: Introducción SOA