Desde la Agencia, con el objetivo de facilitar e impulsar los desarrollos en la nube, se ha creado una plataforma CaaS, llamada Plataforma Pre-Cloud.
CaaS (Container as a Service) hace referencia a una plataforma que proporciona servicios de alojamiento y gestión de contenedores para aplicaciones. Es una forma de utilizar la tecnología de contenedores de manera más fácil y escalable, permitiendo a los equipos de desarrollo y operaciones implementar, desplegar y escalar aplicaciones en contenedores de manera sencilla.
En una plataforma CaaS, los usuarios pueden crear contenedores, gestionar las imágenes, escalar aplicaciones, desplegar actualizaciones, automatizar tareas de construcción y despliegue, supervisar y monitorear el rendimiento de las aplicaciones en ejecución, etc.
A continuación se enumeran los principales componentes que conforman la Plataforma Pre-Cloud:
OpenShift
OpenShift es una plataforma de despliegue de contenedores de código abierto desarrollada por Red Hat. Es una implementación de Kubernetes, un sistema de gestión de contenedores, y proporciona una interfaz de línea de comando y una interfaz web para desplegar, escalar y administrar aplicaciones en contenedores. Además, OpenShift proporciona una variedad de herramientas y características adicionales para ayudar a los desarrolladores a implementar y operar aplicaciones en contenedores de forma eficiente.
Quay
Quay es la herramienta que se utilizará como repositorio de imágenes de contenedores. Ofrece características adicionales de seguridad y cumplimiento para garantizar la seguridad de las imágenes subidas al repositorio. Algunas características que Quay ofrece son:
- Autenticación y autorización basado en roles: Quay proporciona un sistema de autenticación y autorización robusto para garantizar que solo las personas autorizadas tengan acceso a las imágenes presentes en el repositorio.
- Escaneo de vulnerabilidades: Quay proporciona un sistema de escaneo de vulnerabilidades para detectar y alertar sobre problemas de seguridad en las imágenes presentes en el repositorio.
- Integración con herramientas de cumplimiento: Quay se integra con herramientas de cumplimiento para ayudar a la organización a cumplir con normas y regulaciones específicas.
- Integración con herramientas de automatización: Quay se integra con herramientas de automatización para lograr automatizar el proceso de construcción, implementación y gestión de imágenes.
- Integración con OpenShift: Quay se integra con OpenShift para proporcionar una plataforma completa para el desarrollo, implementación y gestión de aplicaciones en contenedores.
Además, Quay ofrece una interfaz de usuario fácil de usar y un conjunto completo de herramientas y servicios para ayudar a los desarrolladores a crear, implementar y administrar imágenes de contenedores de forma eficiente.
Observabilidad
Por observabilidad nos referimos a la capacidad de monitorear y comprender el comportamiento de los distintos componentes que forman parte y están desplegados en la plataforma. Esto incluye la recopilación de datos de rendimiento, eventos, métricas y logs de los diferentes componentes, como servidores, aplicaciones, bases de datos y redes, así como la posibilidad de tener una visión completa de cómo estos componentes interactúan entre sí. La observabilidad es esencial para poder detectar, diagnosticar y solucionar problemas de rendimiento y disponibilidad en un sistema, y para tomar decisiones informadas sobre cómo escalar y optimizar el uso de los recursos. A continuación enumeramos los principales componentes que serán utilizados para lograr estos objetivos.
Prometheus
Prometheus es un sistema de monitorización y alertas de código abierto. En la plataforma se utilizará para recolectar métricas de los servicios desplegados en el cluster. Está integrado con Grafana, una herramienta para visualizar los datos recolectados. Prometheus es ampliamente utilizado en la industria para supervisar y asegurar la disponibilidad y rendimiento de aplicaciones y sistemas.
Grafana
Grafana es una herramienta de visualización de datos de código abierto. Es utilizado para crear y compartir paneles de información (dashboards) en tiempo real. Puede conectarse a una variedad de fuentes de datos, incluyendo bases de datos, servicios web y sistemas de monitorización como Prometheus. Con Grafana se pueden crear paneles personalizados para mostrar información específica, así como compartir estas visualizaciones con otros usuarios. Grafana es ampliamente utilizado tanto para la monitorización y análisis de sistemas y aplicaciones en tiempo real, como para detectar problemas y tendencias.
Stack EFK
Para la recolección, almacenamiento y análisis de la información de registro que generarán los distintos componentes de negocio desplegados en la plataforma, se utiliza el stack EFK. EFK es un acrónimo que se refiere a las herramientas que componen el stack:
- Elasticsearch: es un motor de búsqueda y análisis de datos de código abierto. Se utiliza para almacenar y buscar datos de registro.
- Fluentd: es una herramienta de procesamiento y transformación de datos de código abierto. Se utiliza para recolectar, limpiar y normalizar datos de registro antes de enviarlos a Elasticsearch.
- Kibana: es una herramienta de visualización y análisis de datos de código abierto. Se utiliza para crear gráficos y tablas interactivas a partir de los datos almacenados en Elasticsearch, y para realizar búsquedas y análisis complejos.