Como desarrollar una aplicación para Windows Azure en PHP

image

Introducción

En este post aprenderemos como desarrollar una aplicación PHP para Windows Azure. Empezaremos de cero hasta que tengamos nuestra aplicación online. Nuestro objetivo será aprender a tener nuestra aplicación lista para Windows Azure, y no focalizaremos en el como se programa en PHP.

Para empezar, debemos asegurarnos de haber instalado el ambiente de desarrollo de Windows Azure, y el SDK de Windows Azure para PHP. Seguí en detalle cada paso para estar listos, haciendo click en los links en la sección “pre-requisitos”.

Cabe aclarar, que en todo lo que haremos, asumiremos que nuestro proyecto se encuentra en “C:\temp\WindowsAzurePHPApp

Pre-Requisitos

Crear una aplicación PHP base para Windows Azure

Crear una aplicación en PHP para Windows Azure se puede convertir en un proceso realmente muy complejo, que involucra generar los archivos del paquete de deploy “ServiceConfiguration.cscfg” y “ServiceDefinition.csdef”, codificar scripts para instalar PHP, etc… Todo esto se hace simple con el SDK de Windows Azure para PHP, que nos permite generar la estructura básica para crear una aplicación PHP lista para Windows Azure. Haciéndolo tan simple, que solo es necesario copiar y pegar los archivos del proyecto, para que el SDK se encargue de generar un paquete listo para deployar.

Para crear una aplicación PHP básica para Windows Azure, debemos abrir una consola de comandos, y ejecutar el siguiente comando:

  scaffolder run -out="C:\temp\WindowsAzurePHPApp"

Ahora podemos acceder a la carpeta C:\temp\WindowsAzurePHPApp donde encontraremos la siguiente estructura de carpetas y archivos:

image

Ahora, podemos empaquetar y deployar esta aplicación, PHP se va a instalar automáticamente en nuestro deployment de Windows Azure.

La estructura de directorios es la siguiente:

  • PhpOnAzure.Web – Esta carpeta es el directorio raíz de nuestra aplicación, todos los archivos de nuestra aplicación PHP van allí
    • bin – Contiene los scripts que se ejecutan al iniciar las instancias de Windows Azure para instalar PHP
    • php – Contiene un archivo php.ini personalizable con la posibilidad de agregar extensiones que necesitemos para nuestra aplicación.
    • resources – Contiene archivos para soportar el deploy
    • diagnostics.wadcfg – Archivo de diagnostico de la instalación. Se puede usar para trackear el uso del CPU, ancho de banda, etc..
  • ServiceConfiguration.cscfg – Archivo de configuración para el deploy en Windows Azure
  • ServiceDefinition.csdef – Contiene información acerca de la instalación de nuestro deployment.

 

Build de la aplicación PHP

Ahora viene la parte mas divertida. Desarrollar tu nueva aplicación PHP!. Para simplificar esta parte, que no es el foco de este post, vamos a armar una pagina simple que nos muestre información de PHP (PHPInfo).

Dentro de la carpeta PhpOnAzure.Web, creamos un nuevo archivo con el nombre “index.php”, lo abrimos con un editor de texto (notepad++), y le agregamos el siguiente código y lo guardamos.

<?php

phpinfo();

?>

Nada del otro mundo, pero nos sirve para mostrar todas las variables de PHP en nuestra instancia de Windows Azure.

Ejecutar la aplicación en un amiente local

Generalmente, aunque debería ser siempre, uno quiere testear su aplicación antes de la puesta en producción. Para hacer esto, tenemos dos opciones; nuestro ambiente de desarrollo local, y el ambiente de staging de Windows Azure.

Para utilizar el ambiente de staging de Windows Azure, lee como subir una aplicación a Windows Azure.

Para probar la aplicación en nuestro ambiente local, debemos hacer lo siguiente:

  • Abrir la consola de comandos
  • Ejecutar el comando ‘package create -in=”C:\temp\WindowsAzurePHPApp” -out=”C:\temp\WindowsAzurePHPApp\build” -dev=true’ (Si el comando package no es reconocido, lee como instalar el ambiente de desarrollo para Windows Azure)
  • Una vez que termine de generar el paquete, se abrirá nuestro navegador, y deberíamos ver nuestra aplicación corriendo (phpinfo())

image

Ejecutar nuestra aplicación PHP en Windows Azure

Para ejecutar cualquier aplicación en Windows Azure, necesitamos dos archivos, el paquete, y el service configuration file. Modificando un poco el comando anterior, en lugar de ver nuestra aplicación corriendo localmente, el SDK de PHP para Windows Azure generará estos dos archivos, para luego poder subirlos desde la interfaz web del Windows Azure Platform.

  • Abrir la consola de comandos
  • Ejecutar el comando ‘package create -in=”C:\temp\WindowsAzurePHPApp” -out=”C:\temp\WindowsAzurePHPApp\build” -dev=false’

Ahora en la carpeta “C:\temp\WindowsAzurePHPApp\build” obtendremos los dos archivos para subir a Windows Azure; WindowsAzurePHPApp.cspkg y ServiceConfiguration.cscfg

Ahora subimos nuestros archivos a Windows Azure, siguiendo los pasos de este post:

Una vez subido el paquete y el service configuration file, Windows Azure puede demorar unos minutos en crear una instancia de Windows Server 2008, instalar PHP, e instalar nuestra aplicación.

[Facebook] [Google] [LinkedIn] [Twitter] [Windows Live] [Email]
Posted in Microsoft Azure Tagged with: , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

ACERCA DE…

Soy desarrollador, estudiante de ingeniería en informática en UADE, trabajo como TE en el equipo de nuevas tecnologías de Microsoft Argentina, Chile y Uruguay.

Me pueden encontrar en Twitter (@AleBanzas), Facebook (/AleBanzas), o LinkedIn (/in/AleBanzas).