Lab de Azure para desarrolladores - Fundamentos de Websites

Intermedio

Hola, este es el primero de una serie de HOL(= Hands On Lab) que he diseñado para que aprendas los fundamentos sitios web en Azure.

Como obtener una suscripción en Azure

Puedes obtnerlas de muchas formas

  1. A través del trial, este trial es de 200 USD que te regala microsoft para que pruebes lo que quieras: Try it Now Aunque es gratis se requiere tarjeta de crédito, más como un procedimiento de verificación que cualquier cosa. Te descuentan un dolar de prueba y en 24 horas te lo devuelven
  2. Con una suscripción normal de pago
  3. Por medio del programa BizSpark, si eres emprendedor puedes registrarte en este programa y Microsoft te apoyara en tu emprendimiento con un montón de beneficios, entre los que se encuentran 150 USD al mes durante tres años para consumir servicios en Azure. Puedes ver este video para más info:

4 . Si tu, o la empresa para la que trabajas tienen una suscripción a MSDN esta viene tambien con un bono mensual gratuito para consumir servicios en Azure.

5. Sitios web de Azure que duran una hora y es GRATIS Try Azure WebSites

Tarea 1 - Crear un sitio web gratuito y compartido

Utilizando el portal de Azure

1.Navegamos al portal de azure manage.windowsazure.com

2.Dentro del panel de opciones seleccionamos Aplicaciones Web
azure websites

3.En el menu inferior damos click en Nuevo
azure websites

4.Se desplegará un menú para crear un nuevo sitio web, donde seleccionamos "Creación personalizada"
azure websites

5.Configuramos el sitio de la siguiente forma, asegurate de personalizar tu nombre, escoge la opción de sitio web gratuito y base de datos gratuita. Sino tienes una base de datos gratuita procede a crear una nueva con las configuraciones por defecto.En plan de hospedaje asegúrate de utilizar Este de EEUU (Gratis)
azure websites

6.Asegurate de nombrar la base de datos de una forma adecuada, para que siempre sepas que base de datos es.

7.De la misma forma, para este ejercicio, en el panel siguiente crea un nuevo servidor de base datos, para efectos de este laboratorio usaremos los siguientes datos de acceso

  • Usuario: JuanK
  • PassWord: DevCamp2015
  • Región: Este de EEUU

azure websites

8.Seguidamente hay que establecer el repositorio, seleccionaremos "Repositorio Git Local"
azure websites

  1. Eso es todo hemos creado nuestro primer sitio web. Dentro del panel de Azure damos click en nuestro sitio creado y a continuación click en "Examinar"
    azure websites

  2. En el browser se abrirá el nuevo sitio creado con su contenido por defecto
    azure websites

Utilizando X-Plat

Hay muchas formas para crear un sitio web en azure, la más normal es a través del portal como lo acabamos de hacer, sin embargo en un entorno profesional para desarrolladores o ITpro es necesario recurrir a la automatización por ello revisaremos formas alternativas de crear un sitio web.

1.Abrir la consola de X-Plat, para ello abrimos una consola de comandos pulsando en el teclado [Windows] + [R], allí escribimos CMD y presionamos [ENTER]
azure websites

2.En la consola de comandos ingresamos el siguiente comando, lo cual producirá la siguiente salida

     azure

azure websites

3.Para ver las opciones disponibles para crear un sitio web ingresamos.Esto nos mostrará la lista completa de comandos para crear un sitio web desde X-plat.

 azure site  

4.Para poder trabajar con X-PLat necesitamos adicionar nuestra cuenta de Azure, nos aseguraremos de solo trabajar con ella por el momento. Para ello ingresamos el siguiente comando

 azure account clear  
azure account download  

5.El último comando ingresado lanzará una ventana del browser, es posible que se requiera autenticación, pero una vez realizada el browser cargará la siguiente página
azure websites

6.Esto descargará un archivo .publishsettings con el conjunto de credenciales, asegúrate de guardarlos en una ubicación adecuada.

  azure account import "K:\MyDownloads\MSDN-credentials.publishsettings"

7.Ahora haremos uso del comando create así que ingresamos el siguiente comando para ver el detalle de su uso.

 azure site create -h  

8.El cual nos devolverá algo como esto:

 Create a web site

Usage: site create [options] [name]

Options:  
  -h, --help                       output usage information
  -v, --verbose                    use verbose output
  --json                           use json output
  --location <location>            the geographic region to create the website
  --hostname <hostname>            the custom host name to use
  --slot <slot>                    the name of the slot
  --git                            Configure git on web site and local folder
  --gitusername <gitusername>      the publishing username for git
  --github                         Configure github on web site and local folder
  --githubusername <username>      the github username
  --githubpassword <password>      the github password
  --githubrepository <repository>  the github repository full name (i.e. user/repository)
  -s, --subscription <id>          the subscription id

9.Con esta información podemos proceder a crear un nuevo website, ingresaremos el siguiente comando, la ejecución tardará un poco.

 azure site create --location "East US" --git juank2  

10.Puedes cambiar juank2 por el nombre que desees, de seguro ese nombre ya esta ocupado. En el ejemplo hemos usado la ubicación "East US", para obtener una lista de las diferentes ubicaciones para websites puedes ingresar este comando el cual dará la siguiente respuesta.

 site location list

Name  
----------------
South Central US  
North Europe  
West Europe  
North Central US  
West US  
East Asia  
East US  
Southeast Asia  
East US 2  
Japan West  
Japan East  
Central US  
Brazil South  
site location list command OK  

11.Desde el portal revisa que el sitio se haya creado de forma exitosa y abre la URL de la misma forma en como lo hiciste en la Utilizando el portal de Azure.

Tarea 2 - Crear un sitio web - Básico y conocer sus funcionalidades - Wordpress

1.Navegamos al portal de azure manage.windowsazure.com

2.Dentro del panel de opciones seleccionamos Aplicaciones Web
azure websites

3.En el menu inferior damos click en Nuevo
azure websites

4.Seleccionamos la opción "De la galería"
azure websites

5.En el recuadro escogemos "Blogs" y seguidamente "WordPress"
azure websites

6.Seguidamente debemos configurar el blog, seleccionamos

  • "Crear una nueva bsae de datos MySQL"
  • Este de EEUU Gratis

azure websites

7.En la siguiente pantalla configuramos la BD MYSql, con un nombre adecuado y la misma región seleccionada para el website.
azure websites

8.Eso es todo hemos creado nuestro primer sitio web. Dentro del panel de Azure damos click en nuestro sitio creado y a continuación click en "Examinar"
azure websites

9.Arrancará una pantalla de configuración para wordpress
azure websites

10.Revisa la pestaña con el icono de nube Inicio rápido allí encontrarás acceso directo a otras funcionalidades del sitio

11.En la parte inferior se ubican los controles de Inicio, Apagado y Reinicio del sitio entre otras opciones
azure websites

12.En la pestaña "Configurar" encontraremos múltiples opciones pero para este caso debemos notar estas, porque se encuentra activado el soporte para PHP.
azure websites

13.En la pestaña "Escalar" debemos notar que tenemos un sitio web de tipo "Gratis" por lo que la barra de desplazamiento se encuentra bloqueada

14.Damos click en "Compartido", más abajo en número de instancias movemos la barra hasta 3 y presionamos "Guardar"
azure websites

15.Lo que acabamos de hacer es configurar nuestro sitio con más capacidad, ahora no solo no tiene las limitaciones de un sitio web gratuito, sino que ahora se encunetra en un hosting compartido y nos permite crear varias instancias del mismo sitio a manera de cluster para balancear el consumo del mismo en tres servidores. Otra ventaja de los sitios "Compartidos" versus los "Gratis" es que puedes asociar nombres de dominio personalizados.

Tarea 3 - Crear un sitio web - Básico y conocer sus funcionalidades - Java

1.Navegamos al portal de azure manage.windowsazure.com

2.Dentro del panel de opciones seleccionamos Aplicaciones Web
azure websites

3.En el menu inferior damos click en Nuevo
azure websites

4.Seleccionamos la opción "De la galería"
azure websites

5.Seleccionamos "Apache Tomcat"
azure websites

6.En la siguiente pantalla nombramos el website y escogemos el tipo de sitio/región que vamos a crear
azure websites

7.Una vez creado el sitio procedamos a la pestaña "Configuración" Allí notaremos que aunque la opción de java esta deshabilitada en el portal , este comportamiento puede ser modificado en el archivo de configuración del web server para la aplicación.

8.Navegamos al portal de azure manage.windowsazure.com

9.Dentro del panel de opciones seleccionamos websites
azure websites

10.En el menu inferior damos click en Nuevo
azure websites

11.Seleccionamos "Creación Rápida", configuramos nombre y región "Este de EEUU Básico" o crear un nuevo plan de hospedaje en esa misma Zona.
azure websites

12.Exploramos el sitio como lo hemos hecho en otras oportunidades, y veremos
azure websites

13.Vamos a la pestaña "Configuración" y encendemos las opciones que se ven a continuación, seguidamente presionamos guardar.
azure websites

14.Exploramos el sitio nuevamente y obtendremos
azure websites

15.Ahora el sitio soporta java de acuerdo a la configuración del portal

16.En el portal de Azure vamos a la pestaña "Escalar" puesto que así lo configuramos desde su creación, en la parte inferior podemos mover el slider hasta 3 instancias, pero a diferencia del modo Compartido revisado anteriormente ahora trabajamos con instancias de computo dedicadas exclusivamente para nuestras aplicaciones.

17.Otra cosa importante de notar es que ahora podemos escoger la capacidad de estas instancias de computo. Para este ejercicio el sitio debes configurarlo en modo básico y dos instancias del tamaño mostrado en la gráfica.
azure websites

18.Recuerda grabar.

19.Configurar el sitio como básico te da acceso a otras funcionalidades de la plataforma, en la pestaña "Configuración" revisa los settings que aparecen a continuación, estas funcionalidades no están disponibles en sitios configurados como "Compartido" o "Gratis"
azure websites

azure websites

azure websites

Tarea 4 - Crear un sitio web - Estándar y conocer sus funcionalidades - ASP.Net MVC

1.Abrimos Visual Studio, creamos un nuevo proyecto [File > New project] de tipo "ASP.Net Web Application"
azure websites

2.En la configuración seleccionamos
azure websites

3.Escogemos un nombre par el sitio y lo configuramos como se ve a continuación
azure websites

4.Visual Studio por si mismo creará el website de Azure y asociara el proyecto con este. Es probable que en este proceso se te solicite autenticación.

5.Presionamos [F5] para lanzar el sitio localmente, una vez lanzado se debe ver así.
azure websites

6.Desde Visual Studio detenemos el sitio web
azure websites

7.Click derecho sobre el proyecto y seleccionamos "Publicar"
azure websites

8.En el diálogo siguiente validaremos la conexión

9.Si todo está bien, y debería estarlo damos click en publicar
azure websites

10.El sitio se lanza automáticamente en el browser puedes cambiar el tamaño de la ventana para ver como el sitio se adapta automáticamente, esto se llama diseño responsive y esta presente gracias a que la plantilla de ASP.Net esta creada con un framework de CSS para tal fin: BootStrap. ASP.Net es compatible con tecnologías estándar de punta como HTML5, CSS3 y javascript.
azure websites

11.El sitio ya se encuentra publicado en Azure, vamos a la pestaña "Configuración" y nos aseguramos que este configurado como "Estándar"

12.Aumentaremos el número de instancias a 4 y guardamos. Tengamos atención en la parte resaltada en rojo
azure websites

13.Los sitios estándar tienen todos los beneficios de estar en la nube. No solo podemos cambiar el tamaño de las instancias de computo y aumentar el número de instancias, sino que ademas podemos crear un sitio elástico. Es decir un sitio que sea capaz de aumentar o reducir el número de instancias según se requiera. Para qué? para solo utilizar lo que se necesita y por ende solo pagar por lo que realmente se usa. En adición a tener un sitio que responde de manera inmediata a diferentes volúmenes de usuarios.

14.Seleccionamos la opción de escalar por CPU, configuramos luego de la siguiente forma:

  • Número mínimo de instancias: 3
  • Número máximo de instancias: 8
  • CPU Mínima: 30
  • CPU Máxima: 80
    azure websites

15.Lo que acabamos de hacer no es otra cosa que establecer la forma en que mi sitio escalará de manera elástica, le hemos indicado que cada que el promedio de uso CPU esté por debajo del 30% se deben apagar instancias de computo hasta llegar a un mínimo 3. Y que cada vez que el promedio de CPU esté por encima del 80% encienda nuevas instancias de computo hasta un máximo de 8. Guardemos los cambios y exploremos el sitio.

16.Tener un sitio estándar tiene aún más flexibilidad para configurar la escalabilidad de la aplicación. Damos click en el botón "Configurar horas de programación"
azure websites

17.Configuramos horas de programación adicionales marcando las casillas que se muestran en la imagen. Lee lo que dice cada una de ellas
azure websites

18.Al aplicar los cambios ahora podemos escoger nuevos valores de la lista, cada uno de ellos nos permite crear diferentes programaciones según si es de noche o de día o si estamos en un fin de semana.
azure websites

19.Seleccionemos la opción "Noche de la semana" configurándola como se ve a continuación. Analiza el porque esta configuración puede ser conveniente.
azure websites

20.Guarda los cambios, selecciona ahora "Fin de semana" y en número de instancias coloca solo 21.Analiza el porque esta configuración puede ser o no ser conveniente.
azure websites

22.Vamos al menú configuración y habilitamos la siguiente opción.
azure websites

23.Normalmente cuando un sitio web entra en desuso, es decir deja de recibir visitas por un tiempo, el web server baja el sitio de la memoria, lo cual no esta mal pero cuando alguien vaya a visitar el sitio después de este periodo inactivo sentirá el sitio un poco lento mientras el web server termina de cargarlo en memoria nuevamente. Esta opción le indica al web server que nunca baje el sitio de memoria aunque este se encuentre inactivo.

24.En el portal de Azure vamos a la pestaña "Copias de Seguridad". Ahora que nuestro sitio está en modo estándar podemos automatizar la generación de copias. Explora estas opciones. Sino tienes una cuenta de almacenamiento en Azure puedes crearla en esta opción.
azure websites

FIN