Viernes en la nube: Monitorización y diagnostico en Windows Azure

Desde el CIIN y Plain Concepts queremos iniciar una serie de webcasts que traten sobre diferentes aspectos de desarrollo en Windows Azure; Los viernes en la nube.

Para dar a conocer mejor esta plataforma, hemos decidido iniciar esta serie tratando algunos temas no demasiado conocidos de desarrollo en Windows Azure.

El primer webcast de la serie tratará sobre las funcionalidades de monitorización y diagnóstico que nos proporciona la plataforma para saber lo que esta ocurriendo con las aplicaciones que hemos subido a la nube.

Monitorización y diagnostico en Windows Azure

Datos de interés:

  • Audiencia: Jefes de proyecto y profesionales de desarrollo en Windows Azure

  • Requisitos previos: Conocimientos básicos sobre la plataforma Windows Azure

  • Fecha: Viernes, 13 de abril a las 10:00

  • Duración: 90 minutos

  • Ponentes: Ibon Landa – MVP de Windows Azure, profesional que forma parte del equipo de Plain Concepts, y Angel Acha, responsable de desarrollo en el Centro de Innovación en Integración (CIIN) de Cantabria, uno de los Microsoft Innovation Centers de España.

  • Enlace de inscripción al webcast: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032510012&Culture=es-ES

 

PiePlainConceptsYCIIN

estoyenlanubeBannerLong

Descubriendo el mundo de las cachés

El próximo martes 10 de Abril tendré la suerte de participar con la gente de Second Nug en un webcast dónde intentaremos adentrarnos en el mundo de las cachés.

Las cachés son uno de los múltiples recursos con los que con cuentan los desarrolladores para poder mejorar el rendimiento de las aplicaciones. Conocerlas, saber cuándo utilizarlas y elegir la más adecuada para cada situación es un factor clave en todo desarrollo de software.

El objetivo de este sesión será realizar una visión lo más práctica posible a las diferentes tipos de caché con los que se pueden contar, entrando en detalles de diseño para indicar los casos en que su uso podría ser beneficioso.

Registro; https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032507055&Culture=es-AR 

10042012banner_caches

WordPress y Windows Azure

En el post anterior hablaba de cómo es posible desplegar una aplicación PHP en Windows Azure. En este caso os comentaré cómo es posible desplegar una aplicación WordPress en la plataforma, que como veréis, es prácticamente igual al ejemplo que veíamos anteriormente.

El proceso es el mismo que en caso anterior, una línea de comandos para crear la estructura dónde incluir nuestro wordpress y otra línea de comandos para crear en el empaquetado en el formato que se necesita Windows Azure.

> scaffolder run

-s="PathscaffoldersWordPress.phar"

-out="C:tempWordPress"

-DB_HOST ‘db_host’ -DB_NAME ‘name’

-DB_USER ‘user@db_host’ -DB_PASSWORD ‘password’

-sync_key ‘storage’ -sync_account ‘key’

-WP_ALLOW_MULTISITE

Este comando dispone de más parámetros que los que usábamos en el ejemplo anterior.

El primer parámetro contiene la plantilla que tiene que utilizarse para generar la estructura de ficheros y directorios para WordPress. En GitHub podéis encontrar plantillas para WordPress y Drupal; https://github.com/Interop-Bridges/Windows-Azure-PHP-Scaffolders/downloads

Además de este parámetro, también se indica los datos de conexión a la base de datos que contendrá la estructura de tablas de WordPress; nombre del servidor, nombre de la base de datos, usuario y contraseña. La base de datos debe estar existir, aunque no tenga tablas.

También se indica el nombre del storage y la key de acceso dónde WordPress guardará todo el contenido media que se suba al portal; imágenes, documentos etc…

Y por último, un parámetro para indicar que se quiere un WordPress que permita MULTISITE.

Este comando se descarga la última versión de WordPress y lo configura para que éste pueda trabajar con SQL Azure (Database Abstraction Layer) y pueda guardar los contenido media en Windows Azure Storage (Azure Storage Plugin).

A parte de añadir estos dos plugins, otra peculiaridad que tiene el WordPress descargado es que está modificado el fichero wp-config.php para que éste pueda leer la configuración desde el fichero de configuración de Windows Azure cuándo la aplicación está desplegada en la plataforma. Esto posibilita cambiar los parámetros de configuración de la aplicación cuando está ya desplegada.

Una vez termine este comando ya tenemos todo lo necesario para poder desplegar un WordPress en Windows Azure.

> package create

-in="C:tempWordPress"

-out="C:tempWordPressbuild" -dev=false

Una vez generamos los empaquetados, podríamos conectarnos al portal, crear un servicio hosteado y desplegar la aplicación, tal y como veíamos en el post anterior. Una vez desplegado, tendremos que seguir configurando WordPress, tal y como haríamos en una instalación on-premise, esto ya no es algo propio de Windows Azure.

01-WordPressAzure

Una vez que entramos en el portal, también podríamos configurar WordPress para que pueda ser multisite.

02-WordPressAzure

La peculiaridad que hay que tener en cuenta, es que cuando configuramos la red para multisite se nos piden que hagamos unos cambiaos en el fichero wp-config.php. Estos cambios no los tenemos que hacer en este fichero, sino a través de la opción “Configure” que tenemos en el portal de administración.

03-WordPressAzure

03.1-WordPressAzure

04-WordPressAzure

Y ya por último, tendremos que activar y configurar el plugin que permite trabajar a WordPress con el Windows Azure Storage. Este servicio proporciona almacenamiento persistente del contenido de WordPress.

06-WordPressAzure

07-WordPressAzure

Y ya está, ya tenemos WordPress en Azure!!

05-WordPressAzure

Y recordad por último, si queréis añadir un plugin, un tema o cualquier cosa que no se guarde en la base de datos o el Storage, implicará un redespliegue de la aplicación, ya que las máquinas de Windows Azure son máquinas sin estado.

Aplicaciones PHP en Windows Azure

A lo largo de este post intentaré paso a paso cómo es posible desplegar una aplicación PHP en Windows Azure, una versión muy simple, pero que puede servir para que los programadores de PHP puedan conocer cómo podrían empezar a trabajar con la plataforma.

Más adelante intentaré explicará cosas más avanzadas de cómo es posible usar los servicios de Azure desde PHP, pero ahora me centraré en los aspectos más básicos.

Lo primero es preparar el entorno de trabajo local con todo lo necesario para poder trabajar, en mi caso sobre entorno Windows también.

  • Instalar IIS 7 y configurar FastCGI
  • Instalar el SDK de Windows Azure.
  • Instalar SQL Server Express ( o superior)
  • Instalar PHP, en mi caso tengo la versión 5.3.1

Una vez instalados estos componentes, el último paso es descargarse el SDK de PHP para Windows Azure, el cuál se encuentra disponible en codeplex; http://phpazure.codeplex.com/ 

Una vez descargado el SDK, básicamente es descomprimir el fichero comprimido que te descargas, dejarlo en un directorio y modificar la variable de entorno %PATH% para que apunte al directorio bin del SDK de PHP.

01-PHPAzure

 

Este SDK open source permite simplificar la creación y despliegue de aplicaciones PHP en Windows Azure, a  la vez que ofrece una serie de librerías que permiten simplicar el trabajo con los diferentes servicios que ofrece Windows Azure, como pueden ser las colas, tablas o blobs del Windows Azure Storage.

00-PHPAzure

Una vez tenemos el entorno preparado ya podemos crear y desplegar nuestra primera aplicación PHP.

Para poder desplegar una aplicación en Windows Azure, independientemente del lenguaje con el que se trabaje, la plataforma necesita que se le proporcionen siempre dos ficheros cuando se despliega un servicio: el archivo de definición del servicio y el archivo de configuración del servicio. El primero de ellos básicamente contiene los ficheros que conforman parte de la aplicación que queremos desplegar, mientras el segundo contiene toda la información necesaria para indicarle a la plataforma cómo tiene que realizar dicho despligue; número de máquinas, tamaño etc..

Los diferentes SDKs disponibles lo que hacen es ayudarte a empaquetar las aplicaciones (PHP, Java, C#…) en estos dos tipos de ficheros.

Volviendo ya a nuestra primera aplicación SDK, el primer paso es lanzar esta línea de comandos desde un cmd, la cuál creará la estructura básica que necesita Windows Azure.

> scaffolder run -out="C:tempWindowsAzurePHPApp”

Esta operación lo que hace es generar una estructura de ficheros y directorios a partir de la plantilla por defecto que tiene el SDK de PHP para poder incluir dentro nuestra aplicación PHP para posteriormente poder empaquetarla y desplegarla en la plataforma. Dentro del directorio del SDK podéis encontrar un directorio llamando scaffolders dónde se encuentran las plantillas a partir de cuál se ha generado esta estructura. Hay una que es la de por defecto, pero se pueden crear plantillas personalizadas o simplemente descargarse otras, por ejemplo para poder trabajar con WordPress o Drupal.

01.1-PHPAzure

Dentro del directorio PhpOnAzure.Web podemos crear una página llamada index.php y simplemente añadir un comando para mostrar la información de PHP.

<?php
    phpinfo();
?>

Una vez hecho esto, ya podemos probar la aplicación en el entorno local de emulación que se instala junto con el SDK de Windows Azure.  Con este comando se arrancará el sistema de emulación local y podemos probar nuestra aplicación como si ésta estuviera desplegada en la plataforma.

> package create -in="C:tempWindowsAzurePHPApp" -out="C:tempWindowsAzurePHPAppbuild" -dev=true

y si queremos desplegarla en un entorno real, sería lanzar la misma línea de comandos pero con “-dev=false”.

> package create -in="C:tempWindowsAzurePHPApp" -out="C:tempWindowsAzurePHPAppbuild" -dev=false

Esta operación lo que hace es crear los dos ficheros que comentábamos anteriormente; el archivo de definición del servicio y el archivo de configuración del servicio.

01.2-PHPAzure

Con esto ya tenemos todo lo necesario para poder hacer el despliegue real. l

El primer paso será disponer de una subscripción Windows Azure (existen versiones trial de 90 días). Una vez disponemos de ella tenemos que entrar al portal de administración a través de http://www.windowsazure.com

02-PHPAzure

Una vez nos hemos autenticado en el portal, el siguiente paso es crear un servicio hosteado sobre el cuál desplegaremos la aplicación.

03-PHPAzure

Le damos un nombre al servicio, indicamos la URL única y el datacenter sobre el que queremos desplegar la aplicación. Podemos desplegar en producción, en staging o simplemente crear el servicio para desplegar posteriormente.

04-PHPAzure

Si sólo hemos creado el servicio, posteriormente se puede crear el despliegue. Como veis, un despliegue lo único que necesita son los dos ficheros de configuración que hemos generado con el SDK de PHP.

05-PHPAzure

Y ya está, ya está desplegada la aplicación. Después de unos minutos la aplicación estará desplegada y disponible a través de la URL que hemos configurado en la configuración del servicio.

07-PHPAzure

Windows Azure con tecnologias NO Microsoft

El sábado 24 de marzo tendré la oportunidad de participar en el Codemotion que se celebrará en Madrid, un evento que recogerá a multitud de personas con diferentes habilidades e intereses.

En mi caso participaré con una sesión hablando de cómo es posible trabajar con Windows Azure desde tecnologías no Microsoft.

Durante estos meses pasados he hablado mucho de Windows Azure y de cómo es posible trabajar desde Visual Studio y .NET, pero poco o nada he hablado sobre cómo pueden desplegarse aplicaciones hechas en PHP, Java o Node.js.

En esta ocasión hará una introducción muy rápida a la plataforma, espero que no más de 20 minutos, para poder dedicar el mayor tiempo posible haciendo demos.

Tengo preparadas varias demos, espero que al menos me de tiempo a enseñar la mitad 🙂

  • Cómo desplegar una aplicación PHP.
  • Cómo desplegar un WordPress.
  • Cómo desplegar una aplicación Node.js.
  • Cómo desplegar una aplicación desde Cloud9.
  • Cómo trabajar con Java y Eclipse.
  • (El ejemplo de python ya ni lo incluyo!!)

Y ya que lo tengo preparado, espero poder escribir una serie de post la semana que viene que expliquen paso a paso un “hola mundo” con cada una de estas tecnologías, al menos para dar unas pinceladas de cómo poder empezar con estas tecnologías y Windows Azure.

Windows Tour y Windows Camps

Microsoft durante este mes y el que viene va a hacer una gira por diversas ciudades españolas dónde podrá dar a conocer Windows 8, cómo es la plataforma y cómo es posible desarrollar aplicaciones.

Desde Plain Concepts tendremos la suerte de participar en la gira ayudando con las sesiones y la parte más prácticas de los laboratorios de desarrollo para Windows 8.

Windows Tour

  • Sevilla. 22 de marzo.
  • Barcelona. 12 de abril.
  • Madrid. 19 de abril.
  • Bilbao. 23 de abril.
  • Valencia. 15 de mayo.

Windows Camps

  • Sevilla. 23 de marzo.
  • Barcelona. 13 de abril.
  • Madrid. 20 de abril.
  • Bilbao. 24 de abril.
  • Valencia. 16 de mayo.

Agenda y registro de todos los eventos: http://msdn.microsoft.com/es-es/hh854952?ocid=eml-n-es-loc-W8-Q3 

Agenda Windows Tour

09:30 – 10:00 Registro de asistentes y bienvenida

10:00 – 11:00 Introducción a la plataforma
Conoce Windows 8 como plataforma de desarrollo, sus APIs, sus modelos de ejecución de Apps., sus paradigmas de UX, etc.

11:00 – 12:00 Desarrollo de aplicaciones
La nueva plataforma ofrece nuevos mecanismos de desarrollo. Todo lo que un desarrollador necesita conocer para empezar a hacer apps Metro en esta sesión.

12:00 – 12:15 Café

12:15 – 13:15 Experiencias Enriquecidas
Tiles, Notificaciones, Contratos, estos son algunos de los elementos diferenciales de las apps Metro. En esta sesión veremos cómo usarlos en tus aplicaciones.

13:15 – 14:15 Monetización de aplicaciones
Windows 8 incorporará una Windows Store que permitirá la distribución y la monetización de las aplicaciones. Aprende cómo sacar el máximo beneficio de tus desarrollos

Recomendaciones Windows Camps

Para sacar todo el partido a los Windows 8 Camps, es imprescindible que asistas con tu propio portátil en el que te recomendamos instales Windows 8 Consumer Preview y las herramientas de desarrollo (Visual Studio 11 beta). Estos recursos y otros adicionales puedes encontrarlos en http://msdn.microsoft.com/es-es/windows

PlainLogo_white

Codemotion el 24 de marzo

Después de cinco años de éxito celebrándose en Roma, este año el Codemotion también se celebrará en Madrid. La idea es sencilla: celebrar un evento centrado en el desarrollo y los desarrolladores, sin importar la tecnología, el lenguaje o la metodología; todos tienen cabida.

A través de todas las comunidades que participan en la organización, el evento servirá de punto de encuentro para los desarrolladores, pero también para las comunidades. Es la excusa perfecta para conocer las últimas tendencias en el desarrollo de aplicaciones, así como conocer qué aportan y cómo se trabaja con tecnologías o lenguajes con los que uno pueda tener menos contacto.

Registro: http://codemotion.es/register 

Agenda: http://codemotion.es/agenda

En mi caso, tendré la suerte de participar hablando de cómo es posible trabajar con tecnologías no Microsoft dentro de Windows Azure. Durante la sesión hará una introducción a la plataforma e intentaré mostrar de forma práctica como es posible desplegar una aplicación PHP, un gestor de contenidos como WordPress y Drupal, y una aplicación Node.JS.