Cómo Klever aprovecha la plataforma de código abierto de Google, Kubernetes, para brindar excelencia y servicios confiables a sus usuarios en todo el mundo, por el director de DevSecOps de Klever, Vinícius Niche Correa.
En primer lugar, me gustaría presentarme. Soy Vinicius Niche Correa, pero la mayoría me llama por mi apodo Vini. En Klever, soy el director de DevSecOps & Software Architect.
Siempre me ha gustado la tecnología y estaba ansioso por aprender desde mis primeros días, solo, de otros, personalmente o por Internet. Fue esta pasión la que me llevó a comenzar mi carrera profesional como desarrollador, específicamente con Java en ese momento y, finalmente, saltar al mundo de la infraestructura.
La combinación de estas experiencias me brindó la perspectiva más amplia necesaria para ayudar en la arquitectura y las mejoras de procesos para las soluciones de Klever.
Today we’ll be talking about Kubernetes, also known as K8s, which is an open-source system we use at Klever for automating deployment, scaling, and management of containerized applications.
Kubernetes es uno de los componentes clave que permite al ecosistema de Klever lograr:
- Escalabilidad: la infraestructura crece junto con nuestra base de usuarios y se reduce cuando hay menos horas de uso.
- Fiabilidad: recuperación rápida de posibles cortes y alta disponibilidad a través de varios servidores en ejecución
- Seguridad: de forma predeterminada, los servicios de Kubernetes solo son accesibles dentro de su red.
Por supuesto, el valor real de K8 radica en los equipos dedicados detrás de las operaciones y el desarrollo de productos, pero la plataforma hace mucho para facilitar las cosas para que podamos aplicar más esfuerzo en la experiencia en sí que en las herramientas que la respaldan.
Desarrollo al mercado
Para ser breve, en Klever confiamos en GitOps para implementaciones automatizadas y Kustomize para escribir una vez y lograr múltiples etapas en entornos en ejecución, que generalmente son Desarrollo, Puesta en escena y, por último, lo que nuestros usuarios ven y consumen, Producción:
Practicamos esto al tener un archivo Base con la estructura que estará presente en todos los entornos y configuraciones específicas del entorno que solo incluye personalizaciones.
Por ejemplo: En Base ponemos a disposición para un servidor 0.2 CPU y 256 Megabytes de memoria y en Producción necesitamos 0.5 CPU y 512 Megabytes de memoria. Esto significa que solo tenemos que personalizar la producción y dejar que tanto el desarrollo como la puesta en escena hereden la configuración básica.
Operaciones
Con las operaciones que se ejecutan como se esperaba, todavía hay capacidades adicionales que necesitamos para asegurarnos de que se mantendrá así, como:
Escalabilidad
Esto permite que nuestros servicios se comporten de la misma manera con 100 o 1,000 o 10,000 o 100,000 usuarios, y lo logramos mediante la configuración precisa de la funcionalidad nativa del Escalador automático de pod horizontal de Kubernetes, junto con métricas personalizadas de Cloud Monitoring de Google, que a través de las pruebas descubrimos que son más confiable que las métricas nativas del clúster.
Fiabilidad
También necesitamos la capacidad de identificar rápidamente cuando un servidor se está portando mal y eventualmente tomar una acción.
Para ello, Klever confía en el Health Check nativo de Kubernetes para reemplazar los servidores que funcionan mal en caso de fallas y en Grafana Cloud Synthetic Monitoring para monitorear la calidad del servicio y el tiempo de actividad y notificar a los operadores cuando se alcanzan los umbrales, como tiempos de respuesta más altos o tasas de error.
Seguridad
Existen varios componentes que aseguran el más alto nivel de seguridad en nuestros servidores y sus servicios prestados, los que vale la pena mencionar son:
- Kubernetes está diseñado para no exponer servicios de forma predeterminada, por lo que para que esto suceda debe hacerse de forma explícita.
- Bóveda de HashiCorp que permite que los secretos (por ejemplo: credenciales de la base de datos) se administren y consuman como un servicio.
- Autenticación mutua para comunicaciones cifradas seguras de extremo a extremo, donde en combinación con los servicios seguros de certificados x509, los clientes también necesitan llevar su par de claves y ser verificados por los servidores cuando están conectados.
Mejora continua
Lo que distingue a Klever en su conjunto de otras empresas y firmas blockchain es el afán constante por mejorar en todos los aspectos, desde los productos, el desarrollo, la cultura y los procesos hasta la participación de la comunidad, todos juntos aprendiendo de nuestros propios errores y los errores de los demás para mantener nivelando la calidad de nuestros productos y servicios.
La arquitectura de software de Klever de nuestras operaciones utilizando Kubernetes, junto con otras herramientas de desarrollo escalables y flexibles, nos ayudan a lograr este objetivo, para que nuestros usuarios puedan disfrutar de la experiencia de aplicación más confiable y de alto rendimiento tecnológicamente posible.
Atentamente,
Vinícius Niche Correa
Jefe de DevSecOps y Arquitecto de Software de Klever