Plataforma contenedores logos productos

Proyecto Plataforma de servicios basada en contenedores

Aragonesa de Servicios Telemáticos evoluciona el alojamiento de aplicaciones con herramientas para una gestión más ágil de la puesta en producción de los servicios

Miércoles, 21 Agosto, 2019

El servicio de hosting de aplicaciones es el encargado de proporcionar capacidad de proceso y alojamiento a las aplicaciones que se desarrollan para cubrir las diferentes necesidades de los departamentos y organismos del Gobierno de Aragón, y que se alojan en sus infraestructuras corporativas.

Aragonesa de Servicios Telemáticos, consciente de las mejoras que proporcionan para este servicio los nuevos paradigmas basados en contenedores, se decidió a utilizar esta tecnología para pasar de un marco de gestión con recursos estáticos (máquinas virtuales) a un esquema adaptativo (Dockers/contenedores) para el alojamiento de las nuevas aplicaciones, y así, dotar al Gobierno de Aragón de unas herramientas que permitan una gestión más ágil de la puesta en producción de sus servicios, permitiendo la automatización de los procesos implicados.

Con este objetivo la Entidad lanza en abril de 2018 un proyecto denominado Implantación de una plataforma de servicios basada en contenedores, en el que se contempla el diseño e implementación de una plataforma como servicio (PaaS) para proporcionar una solución de microservicios que posibilite el despliegue de aplicaciones productivas. Dentro de los objetivos del mismo, se incluyó también la confección del diseño de arquitectura, los documentos y especificaciones técnicas para la gobernanza de la plataforma, así como la integración con las herramientas de integración continua para dotar a la misma de los automatismos necesarios para poder dar un servicio lo más ágil posible.

Las principales ventajas de este tipo de arquitecturas son:

  • Aislamiento del entorno: cada contenedor tiene sus propios recursos y está aislado de otros contenedores. Lo que garantiza una mínima interferencia en caso de fallos en una aplicación.
  • Mejor aprovechamiento del hardware tanto en espacio en disco como en consumo de recursos. Es la propia plataforma, en función de las necesidades de cada momento, quien asigna lo que sea necesario para que los contenedores funcionen adecuadamente.
  • Implantación rápida: los contenedores se inician y ejecutan desde una imagen que describe su contenido. Se consigue reducir el despliegue a cuestión de segundos ya que crea un contenedor para cada proceso y no arranca un sistema operativo.
  • Reutilización de componentes: gracias a las imágenes disponibles para la creación de contenedores.
  • Minimización de impacto frente a errores y cambios, ya que se garantiza la consistencia a lo largo del proceso de desarrollo y despliegue, estandarizando el entorno en el que se ejecuta. Permite desarrollos, compilaciones, pruebas y entornos de ejecución repetibles y replicables. Y si se detecta un fallo, es fácil retroceder a la versión anterior.

 

Existe un catálogo enorme de productos en el mercado para configurar una plataforma de contenedores.

Los productos principales en los que se basa la plataforma implantada en el Gobierno de Aragón son tres:

  • Docker, que se ha convertido en un estándar de facto como tecnología de contenedores.
  • Kubernetes para la orquestación de contenedores. Permite automatizar cómo se implementan y amplían los contenedores, pero también cómo están conectados, equilibrados de carga y administrados.
  • OpenShift, la solución para plataformas de contenedores de RedHat, en versión v3.9, que ofrece una capa de servicios por encima. Es el paso adicional que necesitan los otros dos productos para tener una PaaS. Se trata de una solución OpenSource, multilenguaje, que permite que las aplicaciones sean portables a otros sistemas que utilicen Docker, facilita la automatización de todo el proceso y la escalabilidad de las aplicaciones de forma sencilla y automática.

 

La plataforma está monitorizada a varios niveles, utilizando los productos más adecuados en cada caso:

  • La infraestructura donde se aloja la plataforma está monitorizada con Nagios.
  • La propia plataforma ofrece unas métricas con información de su funcionamiento expuestas a través de un API mediante Hawcular. Estas métricas se almacenan en una base de datos Cassandra.Para la monitorización de las aplicaciones se utiliza el cluster EFK: ElasticSearch, Fluentd y Kibana.

Este stack de productos se puede evolucionar, siguiendo las tendencias actuales, a la suite Grafana / Prometheus / Istio.

Se sigue la arquitectura de referencia de Redhat para OpenShift sobre VMware, garantizando así su funcionamiento comprobado y soportado por el fabricante.

La plataforma está totalmente instalada y operativa, contando con un contexto de preproducción y otro de producción, implementado mediante etiquetado.

La prueba de concepto se realizó con dos aplicaciones existentes de diferentes características: una aplicación J2EE desplegada en un servidor de aplicaciones WebLogic y otra desarrollada con Angular, lo que nos permitió sacar conclusiones para el futuro, entre ellas una checklist de requisitos que debe cumplir una aplicación para ser “contenerizada”.

Algunas conclusiones del proyecto son que hay que empezar el desarrollo de las aplicaciones desde la perspectiva de ser alojadas en esta arquitectura y que adaptar aplicaciones preexistentes puede ser complejo. Por ese motivo, siguiendo el documento de buenas prácticas, se está desarrollando una aplicación desde cero que sirva como ejemplo que facilite el desarrollo de las siguientes.

Es un proceso de aprendizaje tanto desde el punto de vista de gobierno de la plataforma y su administración técnica, como del desarrollo de aplicaciones con este nuevo paradigma, en un entorno tecnológico muy cambiante y en el que el mercado todavía no ofrece muchos técnicos expertos.

 


"Construyendo Europa desde Aragón"

Este es un proyecto que ha sido desarrollado con el apoyo de la Unión Europea. Se trata de un proyecto integrado en la operación Soporte y actualización de plataformas para la administración electrónica, dentro de la actuación Servicios de adminstración eléctrónica, a través de la cuál Aragonesa de Servicios Telemáticos participa en el Programa Operativo FEDER Aragón 2014-2020.

Volver