¿Cómo crear una aplicación en AppHarbor? – Explicación inicial

Hace varios meses vimos en un post las alternativas que teníamos para publicar nuestras aplicaciones en la nube de forma gratuita. En este post vamos a ver paso a paso como crear una aplicación en AppHarbor, una de las alternativas disponibles que mencionamos. La idea es hacer varios posts explicando distintos aspectos a tener en cuenta sobre esta herramienta.

Lo primero que vamos a hacer es acceder a AppHarbor. Si nunca lo hemos usado, deberemos crearnos una cuenta, lo cual es muy sencillo. Una vez finalizado esto, iremos a la pestaña “Your Applications” y podremos seleccionar el nombre de la aplicación que queremos crear, además de la zona geográfica en la cual se va a alojar (las opciones son Estados Unidos y Europa).

AppHarbor - CrearSitio
Creación de la aplicación en AppHarbor

Una vez realizada la creación, nos aparecerá el portal de administración de nuestra aplicación donde tenemos todas las opciones de configuración. Además, veremos que ya nos indica las alternativas que tenemos para enlazar nuestro repositorio de control de código fuente.

Leer más »

[Microsoft-Dev-Blog] Azure Web Sites: Usar slots para hacer deploys en forma instantánea

Buenas, como es costumbre les comparto el post que escribí en el blog Microsoft-Dev-Blog.

En el mismo vemos en detalle dos funcionalidades muy interesantes de los sitios web de Azure: Slots y Swap. La verdad es que a medida que iba escribiendo el post me iba sorprendiendo por el funcionamiento que tenía y las soluciones que nos puede llegar a ofrecer.

La idea de los Slots es poder manejar más de un ambiente por sitio web, logrando una organización adecuada.

A su vez, podemos intercambiar el contenido de los slots a través de un Swap. Esto realiza un intercambio en el ruteo de los sitios, permitiendo por ejemplo poner una nueva versión productiva de nuestra aplicación de forma instantánea y sin cortes, a diferencia de los deploys clásicos donde la aplicación puede estar varios minutos abajo – créanme que realmente es así 😉 -.

Una de las nuevas funcionalidades que nos brindan actualmente los sitios web de Azure es crear distintos slots sobre el mismo. Cuando creamos nuestro sitio web en Azure, el mismo será el que ejecute la aplicación final de usuario (lo que normalmente llamamos el sitio de producción).

Si queremos tener mayor cantidad de ambientes sobre el mismo sitio, en el cual podamos realizar pruebas sin modificar la aplicación final de usuario, contamos con la posibilidad de crear distintos slots para cada uno de estos ambientes. De esta forma se produce una equivalencia slot-ambiente, para el cual tendremos tantos como nos sea necesarios; cuanto más compleja sea nuestra aplicación, más slots necesitaremos para su correcta gestión. Azure nos brinda hasta un máximo de 4 slots por sitio web.

A su vez, al tener slots sobre un determinado sitio podremos hacer “Swap” entre ellos. Esta funcionalidad es la clave del planteo de los slots, ya que nos permite realizar un intercambio directo los distintos ambientes de nuestra aplicación sin ningún corte para los usuarios. Sin dudas que esto es algo muy bueno. Dependiendo del tipo de aplicación y los usuarios que tengamos puede resultar muy difícil (y a veces costoso en el impacto que tiene) dar de baja temporalmente nuestra aplicación para realizar una actualización.

Pero, ¿cual es la diferencia entre el Swap y un deploy o publicación tradicional que nos da esta ventaja? La clave está que no Swap no se realizan copias de ningún archivo, que es lo que genera el corte en el uso de la aplicación y la demora, sino que se realiza intercambiando el ruteo en el acceso de los sitios entre los que hagamos Swap, invirtiéndolos. Esto a su vez nos da otra gran ventaja: al realizar el intercambio y poner un slot productivo (por mencionar un caso de ejemplo), en el slot de origen nos queda el sitio que anteriormente estaba en producción, teniéndolo disponible para hacer una vuelta atrás en caso de ser necesaria, con la misma facilidad y sin impacto para el usuario.

Leer el post completo..