Desarrollo y publicación de aplicaciones con cero costo

La semana pasada estuve trabajando en una aplicación de ejemplo que voy a utilizar para ejercitar algunas cuestiones en mi materia en UNQ. Mi idea es trabajar con esta aplicación mostrando todos los aspectos de su desarrollo, desde la concepción hasta la puesta en producción, pasando por cuestiones técnicas como prácticas de refactoring pero también por cuestiones más bien de infraestructura como el setup de un dominio.

Esto me llevó por un lado a configurar un ambiente de desarrollo y un ambiente productivo. Comparto aquí algunas herramientas/servicios que utilicé.

Para la administración y versionado de la aplicación utilicé GitHub.

Para integración contínua utilicé Travis.

Tanto para el ambiente de staging como también para el de producción utilicé Heroku.

Para el setup del dominio del ambiente productivo utilicé el servicio de Free DNS.

Obviamente para una aplicación real puede que todo esto no resulte suficiente, pues hay cuestiones operacionales (como disponiblidad, backup, etc) que no están siendo contempladas. Pero más allá de este detalle, la cuestión es que todo esto me permite mostrar muchas cuestiones sin tener que pagar por servicio alguno.

4 comentarios en “Desarrollo y publicación de aplicaciones con cero costo

  1. Me encantaría ver cómo funciona ese Travis… No lo imagino corriendo un test de integración complejo de algo como Spring, ¿vos si?

  2. Vamos por parte. En primer lugar un test de integración suele incluir varios componentes de la arquitectura, los cuales difícilmente estén disponibles en un ambiente gratuito y genérico en la nube. Para correr test de integración de este estilo vas a necesitar una infraestructura específica para vos.

    El servicio que provee Travis puede utilizarse perfectamente para correr verificaciones de código, pruebas unitarias y mediciones de cobertura. También puede utilizarse para correr pruebas de integración, pero solo si estas son autocontenidas en tu aplicación. Si tu aplicación depende de un service bus o algún otro componente externo (como podría ser una cola de mensajes), entonces deberíamos mokearlos, pero en ese caso la prueba ya no seria una integración completa.

    Por último, si con Spring te referis al Framework de Java, hace mucho que no lo uso, pero creo que Travis perfectamente podría correr pruebas de integración sobre varios de sus componentes (el IoC container, el módulo de AOP, etc).

    1. Si, me refería al framework Java, Spring. Generalmente las pruebas que nosotros hacemos suelen ser bastante «pesadas» y me llama la atención que alguien te pueda dar, gratuitamente, un servicio donde entreguen esa capacidad de procesamiento (porque convengamos que un test de integración, mockeado o no, suele tener muchos arquetipos de arquitectura bastante pesados)

      Me parece que le voy a dar una probadita y después te cuento. 🙂

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.