Cafe con Deployment

Pasó el GX25 y estuvo muy bien. Como habia comentado en el post anterior, mi participación este año era en el Cafe con Deployment, donde nos juntamos para intercambiar ideas sobre las tareas de Deploy.

No quede conforme en la forma de transmitir los productos anunciados y las tareas realizadas en el area de deploy.

Es un tema muy amplio y cada empresa tiene realidades diferentes, por lo que es imposible resolver todos los casos de primera.

Los pasos que se estan haciendo son:

  • Crear las tareas basicas para poder realizar deploy de aplicaciones. 
  • Solucionar el deploy de aplicaciones WEB y SD simples
  • Solucionar el deploy de aplicaciones mas complejas

Tareas Basicas de Deploy. 

Hasta hoy, para poder instalar una aplicacion WEB habia que usar el Deployment Wizard para java y el XCopy installation para .NET. 
Ambas herramientas estaban algo desactualizadas pues no llevaban todo lo que se necesitaba, por lo que la tarea de instalación se hacia muy complicada. 
Lo que desarrolladores de GeneXus hicieron fue programar tareas MSBUILD que permite scripts para sustituir las herramientas de deploy por otras que funcionan correctamente. 
Permite elegir un conjunto de mains, y llevan TODO LO NECESARIO en la instalacion. 
Es lo basico que se necesita para poder realizar en forma correcta el deploy y sobre eso hacer herramientas mas o menos sofisticadas. 
Estas tareas van a funcionar con Evolution 3 y versiones posteriores y puede encontrarse mas informacion en : GXCloud MSBuild Tasks


Deploy de aplicaciones web y sd simples. 

Un porcentaje muy grande de las aplicaciones que desarrollamos, no tiene una instalacion muy compleja, ni tiene grandes complicaciones en su arquitectura. Por otro lado, hay muchas personas que desarrollan con GeneXus, que los liberen de lo problemas de la instalacion y configuracion del ambiente de produccion, para poder concentrar su trabajo en el desarrollo y mejora de las aplicaciones. 
Para este tipo de aplicaciones , se anuncio el Genexus Cloud Manager, que permite hacer el deploy de aplicaciones WEB y SD en la NUBE para algunos proveedores.
En esta primer version se puede generar el paquete de la instalacion, genera la reorganizacion que lleva la base de datos que tengo en produccion al formato que tiene la de desarrollo e instala todos los programas en la nube. 
Tiene grandes ventajas sobre los metodos actuales como:
  • permite hacer backup de la base de datos, 
  • ejecutar la reorganizacion
  • volver a instalar la version anterior en caso de falla
  • log detallado de que es lo que se instala y quien lo instalo 
Todo esto, se puede hacer en forma amigable, con un producto integrado con GeneXus. 
Adicional a esto, hay servicios adicionales, que ayudan a contratar al proveedor en la nube y la configuración inicial para ejectuar, lo cual ahorra muchisimo tiempo. 
El GeneXus Cloud Manager, utiliza las tareas basicas de las que hable en el punto anterior. 
Es un excelente punto de arranque, que soluciona un porcentaje importante de instalaciones. 

Mas informacion en GeneXus Cloud Services

Deploy de aplicaciones en servidores propios o con instalaciones complejas. 


Cuando hablo de instalaciones complejas, me refiero a situaciones del tipo que tengo mas de un generador, o  que la aplicacion se instala en mas de un directorio virtual o webapp, o se instala en servidores en cluster. 
Para estos casos, podemos usar las tareas MSBuild especificadas en el primer punto, para hacer nuestros propios scripts de instalación, de forma mas facil que las opciones que teniamos anteriormente y sin los problemas de las herramientas de deploy actuales. 
Basandonos en ejemplos existentes, no deberia ser dificil adaptar los scripts a nuestras realidades. 
Tambien vamos a tener los fuentes de las tareas disponibles como para colaborar con la tareas de desarrollo. 

Como sigue esta historia? 


En realidad, no lo se, pero es de esperar que los servicios de GeneXus Cloud, avancen para poder soportar mas tareas. A saber:
  • Manejar mas  de una Deploy Unit
  • soportar Servidores On-Premises
  • Mas de un generador (ademas de WEB y SD). 
  • Soportar roles de desarrollador e instalador en diferentes personas y momentos. 
  • Manejo de archivos adicionales a los usados por Genexus (esto ya esta a medias). 
  • Tareas adicionales de deploy como adaptar web.config, client.cfg, configuración https, certificados, etc
  • Instalación en varios nodos en cluster
  • Mejorar el uptime, partiendo la reorganización 
  • Borrar lo que no se usa
Queda bastante trabajo por delante, pero las perspectivas son muy buenas. Es lindo ver que muchas de estas tareas pueden ser automatizada, lo cual nos va a permitir ser mas productivos en el futuro. 

Dejo un link a la PPT que presento Federico Salomon en el Cafe con Deployment.




Comentarios

  1. Buenas tardes Sr. Me parece interesante su blog, estoy empezando con Genexus Evo3 y soy peor que un principiante todavia. Usted me podria dar una mano para configurar el tomcat?
    brusquettinicoo@gmail.com es mi correo.
    Desde ya, le agradezco por leer mi comentario.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.