Configuración de cookies y suscripción al boletín
- Este sitio web usa cookies, etiquetas de píxel y almacenamiento local con fines de rendimiento, personalización y marketing.
- Solo las cookies esenciales están activadas por defecto.
- Es posible suscribirse al boletín.
La migración de Figma a Kubernetes
- Autor: Ian VonSeggern, gerente de ingeniería de software en Figma
- Tema: cómo y por qué Figma migró a Kubernetes en menos de 12 meses
La plataforma de cómputo de Figma
- A inicios de 2023, completaron el trabajo para ejecutar todos los servicios en contenedores.
- Usaron Elastic Container Service (ECS) de AWS para poner en marcha rápidamente las cargas de trabajo contenedorizadas.
- A largo plazo, empezaron a considerar la próxima versión de su plataforma de cómputo.
Falta de funcionalidades de Kubernetes
- Varias limitaciones de ECS consumían mucho tiempo de ingeniería.
- Como ECS no tenía una funcionalidad equivalente a StatefulSets de Kubernetes, era difícil ejecutar el clúster de etcd.
- Faltaba soporte para definir servicios mediante charts de Helm.
- Al ejecutar EC2 sobre ECS, era difícil apagar una sola máquina EC2.
Acceso al ecosistema de la Cloud Native Computing Foundation
- Con ECS no podían aprovechar tecnologías open source del ecosistema CNCF.
- El ecosistema de Kubernetes ofrece muy buenas capacidades de autoescalado.
- También consideraron la posibilidad de introducir un service mesh.
Ventajas de una plataforma popular
- Kubernetes ya es usado por muchas grandes empresas, por lo que su estabilidad está comprobada.
- Permite evitar el vendor lock-in.
- Es más fácil contratar ingenieros con experiencia en Kubernetes.
Definición del alcance de la migración
- Para hacer una migración segura, minimizaron los cambios en los sistemas centrales.
- El objetivo era migrar a EKS.
- Incluyeron algunas mejoras dentro del alcance de la migración.
Mejoras incluidas en la migración
- Experiencia de desarrollador: simplificaron la definición de servicios y el proceso de despliegue.
- Mayor confiabilidad: aumentaron la confiabilidad de los servicios usando tres clústeres de EKS.
- Eficiencia de costos: redujeron costos gracias al soporte de autoescalado de nodos.
Trabajo excluido del alcance
- Se excluyó el trabajo para resolver la complejidad del pipeline de logs.
- Se excluyó el trabajo de autoescalado a nivel de pod.
Cómo realizaron una migración segura
- Pruebas de carga: realizaron pruebas de carga para entender el rendimiento de los clústeres.
- Mecanismo de rollout gradual: movieron el tráfico gradualmente usando entradas DNS ponderadas.
- Ejecución de servicios reales: ejecutaron servicios reales en el entorno de staging para detectar problemas temprano.
- Minimizar YAML personalizado: redujeron al mínimo las definiciones YAML que podían confundir a los usuarios.
- Colaboración estrecha con los dueños de servicios: trabajaron con ellos para actualizar monitoreo y alertas.
- Asignación adecuada de personal: formaron un equipo capaz de resolver problemas inesperados.
Resultados de la migración
- Para enero de 2024, habían migrado los servicios principales a clústeres de EKS.
- Obtuvieron beneficios como reducción de costos, mayor confiabilidad y mejor experiencia de desarrollador.
Periodo posterior al lanzamiento
- Mejoraron las herramientas de acceso de usuarios mediante inferencia automática de clústeres y roles.
- Planean trabajar en simplificar el pipeline de logs, soportar Horizontal Pod Autoscaler y migrar a procesadores Graviton.
Resumen de GN⁺
- Figma logró reducir costos, mejorar la confiabilidad y optimizar la experiencia de desarrollador al migrar de ECS a Kubernetes.
- Al aprovechar tecnologías open source del ecosistema CNCF, aumentó sus posibilidades de adoptar autoescalado y service mesh.
- Durante la migración, usó métodos seguros como pruebas de carga, rollout gradual y ejecución de servicios reales.
- Después del lanzamiento, mejoró las herramientas de acceso de usuarios y planea trabajo adicional de optimización.
1 comentarios
Comentarios de Hacker News
Hay usuarios a los que les gusta k8s
La migración para mejorar la infraestructura parece buena
Sorprende ver tantas opiniones anti-k8s en HN
Gestionar despliegues con Terraform y ECS es excesivamente complejo
Se cuestiona la idea de que migrar a Kubernetes tome varios años
Parece que las decisiones en organizaciones grandes no se basan en las necesidades de los usuarios ni de la empresa
Se preguntan si hoy existe algún sistema o servicio moderno cuya migración en menos de un año sea algo de lo que presumir
Les gusta leer reportes de campo
Este artículo explica con claridad las ventajas de Kubernetes
Se preguntan cuánto tiempo tomará dejar de lado esta migración