¿Hay vida en tu API?
junio 4, 2019Monitoriza tus certificados HTTPS con Zabbix
junio 19, 2019Monitorización Multicloud, un ejemplo con AWS y Azure
No dejamos de leer todos los días las ventajas de llevar nuestros servicios y sistemas a la nube, al cloud. Términos como cloud privada, cloud pública o cloud híbrida ya forman parte del lenguaje de cualquier directivo de empresa y parece que si no estamos en la nube es que nosotros o nuestra empresa no es “guay” o “innovadora”.
Más allá de la moda, las ventajas son claras, pero varían en función de la aplicación, pero podemos resaltar varias:
Una ventaja de usar una herramienta que trabaja con agente es que podemos obtener muchas métricas de forma gratuita. Amazon, por ejemplo, cobra por usar Cloudwatch con una frecuencia inferior a 5 minutos, incluso te cobran por preguntar cuanto te están cobrando. Si usamos un agente hay muchas métricas (CPU, memoria, etc) que se pueden obtener sin coste (más allá de la transferencia claro que aquí se cobra todo, pero en cualquier caso a un coste muy inferior). Otras, como el coste o las configuraciones del firewall o el arrancar una máquina, no nos queda más remedio que atacar vía API, pero el poder combinar ambas vías fácilmente es muy versátil.
En el ejemplo, nuestros agentes se registran automáticamente en la plataforma al ser creados y podemos ver un sencillo mapa dónde se muestran los datos agregados para cada uno de los proveedores: memoria, almacenamiento, etc. de modo que de un vistazo vemos el porcentaje global de uso de cada una de las plataformas.
Más allá de la moda, las ventajas son claras, pero varían en función de la aplicación, pero podemos resaltar varias:
- Facilidad de escalado y crecimiento en caso de necesidad. De hecho, esta es una de las características claves de la nube: el poder aumentar y reducir recursos de manera rápida y sencilla, programática e incluso automática. Esto es lo que diferencia proveedores cloud de verdad de aquellos hostings que han cambiado el nombre de sus VPS por “cloud”.
- Disponer de servicios sin importar la infraestructura que los sustenta: bases de datos, computación serverless, etc. Si entramos en la oferta de Amazon Web Services o Google Cloud veréis que hay más tipos de servicios y nombres disponibles de los que podáis imaginar, muchos de ellos con aplicaciones específicas sobre infraestructuras optimizadas como machine learning, etc.
- Algunas ventajas que ya teníamos si externalizábamos nuestra infraestructura en un hosting: seguridad, alta disponibilidad, no tener que mantener un CPD propio, etc.
- En general y gracias a tecnologías como Docker, hoy en día es fácil migrar de una nube o a otra, e incluso trabajar con varias a la vez, según lo que nos convenga. Igualmente, el poder ofrecer un servicio en varias zonas geográficas a golpe de clic es increíble.
- Pago por uso. ¿Quiero probar algo? Lo lanzo, lo pruebo y luego lo desecho. Y pago solo por esos minuto u horas. ¿Tengo un pico y necesito más recursos? Lo mismo
- Pago por uso y escalabilidad, esto se traduce normalmente en que las empresas no tienen ni idea de lo que van a pagar a fin de mes. Ni siquiera es sencillo establecer un coste variable del estilo “si aumentan mis usuarios en un tanto por ciento X, mi cloud va a escalar automáticamente en un tanto por ciento Y” si no que intervienen tantas variables (consumos de ancho de banda, subastas de CPU, horarios, etc.) que casi se convierte un algo aleatorio y habitualmente caro. Esto es, en opinión del que escribe, la gran ventaja del cloud pero a la vez la gran barrera para la adopción del cloud, la dificultad del control de costes. Afortunadamente, la monitorización puede echar una mano en esto.
- La curva de aprendizaje de los diferentes servicios que se tienen, aparte de computación y almacenamiento es alta, conocerlos bien, saber sus ventajas, cuando usarlos, etc es complicado.
- Comparar los precios y rendimiento entre distintos proveedores es tarea prácticamente imposible, ya que no tarifican por lo mismo, y muchas veces no sabes lo que hay detrás de un “vCPU” o un “disco SSD”.
- Trabajar con diferentes nubes puede suponer un problema equivalente a trabajar con varios fabricantes en tu datacenter, solo que aquí ya habíamos llegado a protocolos comunes (SNMP, IPMI, etc.): volvemos a tener diferentes APIs, diferentes datos accesibles, diferentes formas de acceder, etc. Por ejemplo, para monitorización Amazon tiene su CloudWatch y Microsoft Azure su Monitor.
- Podamos ver, analizar, comparar y agregar el coste de nuestros clouds en tiempo real. Podemos establecer alarmas que nos ayuden a controlar los costes, así como relacionar estos costes con otros datos como, número de usuarios en la plataforma, etc que nos ayuden a ser capaces de predecir costes. Incluso automatizar el apagar una máquina si el coste se dispara por un “bug” o por alguien usando nuestros servidores para minar bitcoins…
- Podamos comparar rendimientos entre la “misma” máquina en diferentes clouds o zonas geográficas.
- Pero, sobre todo, tener una herramienta centralizada que nos ayude a estandarizar los parámetros monitorizados evitando tener que aprender como llegar a ellos a través de Cloudwatch, Monitor o lo que sea. Y por supuesto, poder incluir las máquinas de nuestro datacenter.
Una ventaja de usar una herramienta que trabaja con agente es que podemos obtener muchas métricas de forma gratuita. Amazon, por ejemplo, cobra por usar Cloudwatch con una frecuencia inferior a 5 minutos, incluso te cobran por preguntar cuanto te están cobrando. Si usamos un agente hay muchas métricas (CPU, memoria, etc) que se pueden obtener sin coste (más allá de la transferencia claro que aquí se cobra todo, pero en cualquier caso a un coste muy inferior). Otras, como el coste o las configuraciones del firewall o el arrancar una máquina, no nos queda más remedio que atacar vía API, pero el poder combinar ambas vías fácilmente es muy versátil.
En el ejemplo, nuestros agentes se registran automáticamente en la plataforma al ser creados y podemos ver un sencillo mapa dónde se muestran los datos agregados para cada uno de los proveedores: memoria, almacenamiento, etc. de modo que de un vistazo vemos el porcentaje global de uso de cada una de las plataformas.
Si pinchamos sobre cualquiera de ellas, accedemos a un mapa autogenerado con las diferentes máquinas, indicándonos además su tipo y ubicación geográfica. Como detalle, la plataforma normaliza el dato de la ubicación a “EUROPA” por ejemplo, aunque AWS le diga “eu-central-1” y Azure “FranceCentral”. En la imagen, podemos ver que hay un problema en uno de los servidores, que no está sirviendo nuestra web.
Como los mapas de Zabbix son accionables, y el objetivo de nuestra plataforma Minerva es ser capaces de resolver los problemas lo más rápidamente posible, reduciendo el número de clics, vemos que al pulsar sobre el servidor problemático se nos presentan varias opciones: reiniciar la máquina, pararla, ver los últimos datos, etc., incluso acceder a la consola de Amazon.
Como sospechamos que es un problema de firewall, clicamos sobre la opción de ver el estado de los puertos y nos devuelve que, efectivamente el puerto 80 no está levantado.
Con este sencillo ejemplo, vemos el amplio potencial y efectividad que tenemos con Zabbix entornos multicloud e híbridos, dónde poder llevar también un control sobre nuestro inventario, aunque sea etéreo, de forma automática:
Por último y no por ello, menos importante, la visualización en un cómodo y práctico dashboard de Grafana, integrado en nuestra herramienta. Aquí hemos realizado uno de ejemplo, en el que podemos seleccionar las máquinas por zona y ver el desglose de uso de CPU, el coste mensual, red, disco y memoria, así como el tiempo de respuesta de nuestra web, en este caso alto, ya que Japón queda algo lejos de nuestros servidores en España.
Cualquier duda que tengáis sobre esto, si estáis trabajando ya con Zabbix o Grafana en entornos multicloud y queréis saber más o queréis replicar este ejemplo, podéis escribirnos sin ningún compromiso, trataremos de echaros un mano.
CEO & MANAGING DIRECTOR
Experto en monitorización IT, sistemas y redes.
Minerva es nuestra plataforma enterprise-grade de monitorización basada en Zabbix y Grafana.
¡Te ayudamos a monitorizar tus equipos de red, comunicaciones y sistemas!
Suscríbete a nuestra Newsletter