Worldpay transformó por completo sus procesos de desarrollo al aprovechar Red Hat OpenShift como la base de su plataforma interna para desarrolladores, denominada Global Kubernetes Orchestration Platform (GKOP). Gracias a este cambio estratégico, Worldpay brindó a sus equipos de desarrollo funciones de autoservicio, lo que fomentó una cultura de colaboración y eficiencia.
GKOP: mucho más que OpenShift
GKOP, que se lanzó en 2020, es una plataforma empresarial que se basa en Red Hat OpenShift. Cumple con el PCI DSS y gestiona un conjunto de 28 clústeres en varias regiones. Worldpay considera que GKOP es un producto, no solo una plataforma. Las operaciones deben funcionar sin problemas y de manera confiable, por lo que el equipo de GKOP diseñó una amplia automatización en torno a esto.
GKOP es nuestro producto porque es mucho más que OpenShift. Desarrollamos gran parte de la automatización en torno a él, por lo que la columna vertebral de GKOP es la organización y la gestión de la configuración. Nos preguntamos: ¿cómo lo hacemos? ¿Cómo ejecutamos una flota de clústeres y los gestionamos según sea necesario? Bernd Malmqvist se preguntaba, director de ingeniería de plataformas en Worldpay. «Nuestra gestión de clústeres básicamente representa la configuración [que luego] se aplica a los clústeres downstream. En los ejercicios de recuperación ante desastres, eliminamos una región y la volvemos a diseñar desde cero, de principio a fin, en una hora y media. Esto se logra porque la configuración se representa previamente. Cuando un clúster vuelve a estar en línea, la configuración se puede aplicar de inmediato.»
Esta agilidad de los clústeres permite que Worldpay cree clústeres de desarrollo y de tipo *sandbox* que se actualizan diariamente y semanalmente, respectivamente. Los entornos de mayor prioridad, como la preparación y la producción, tienen una vida útil más larga. Los lanzamientos semanales de la plataforma agrupan los cambios y los promueven de los entornos inferiores a los superiores, lo que garantiza que todos los clústeres sean copias idénticas entre sí, lo que ayuda a detectar las regresiones antes de que lleguen a producción.
Los pilares de un producto de plataforma atractivo
La definición de Worldpay de un producto de plataforma convincente se centra en la experiencia del usuario y la eficiencia. Debe ser fácil de usar, centrarse en las necesidades de los consumidores y proporcionar autoservicio con comentarios instantáneos. Worldpay tenía los siguientes objetivos a la hora de diseñar GKOP:
- Flexible y con muchas funciones: La plataforma ofrece funciones independientes pero interactivas, lo que brinda flexibilidad y orientación a los desarrolladores.
- Conjunto de herramientas de CI/CD integrado: Incluye herramientas de CI/CD integradas que guían a los desarrolladores a lo largo del ciclo de vida de las aplicaciones, lo que elimina la necesidad de dedicar horas a la integración con diversas herramientas.
- Integraciones de servicios empresariales incorporados: GKOP se integra a la perfección con los servicios empresariales de Worldpay, como NTP, endpoints de autenticación, gestión de secretos, gestión de certificados y registros. En particular, su integración con AWS STS proporciona tokens de corta duración, lo que mejora la seguridad al eliminar la necesidad de incorporar credenciales.
- Seguridad sólida: La plataforma incluye la seguridad en tiempo de ejecución de los contenedores y la generación de informes sobre los puntos vulnerables para reducir las dificultades de los desarrolladores a la hora de gestionar una superficie de ataque en expansión.
- Facilidad de uso y confiabilidad: Las guías prácticas, los servicios de ejemplo y las instrucciones detalladas brindan accesibilidad a los equipos con distintos niveles de experiencia. La plataforma está diseñada para ser confiable, gestionar los picos de carga e inspirar la confianza de los desarrolladores.
- Operadores extensivos: GKOP aprovecha los operadores internos y de terceros para ampliar la API de Kubernetes y ofrecer funciones de autoservicio. Algunos ejemplos son los operadores para las bases de datos, el almacenamiento en caché, la mensajería y un operador de proxy de salida personalizado para el cumplimiento de la PCI.
Autoservicio basado en API y validación automatizada
Uno de los pilares de GKOP es su función de autoservicio impulsada por las API, que unifica todos los servicios de la plataforma en un solo producto, lo que permite que los desarrolladores cumplan con sus propias solicitudes. Worldpay está comprometido con este paradigma, por lo que se asegura de que cada nueva incorporación a la plataforma esté automatizada y cumpla con los principios de autoservicio.
Para mantener la estabilidad y reducir los riesgos asociados con esta flexibilidad, Worldpay otorga gran importancia a la validación y la revisión automatizadas. Su servicio de validación personalizado, que se configura a través de los webhooks de Kubernetes, verifica que las solicitudes de la API cumplan con las prácticas recomendadas y las reglas configuradas. Este proceso implica:
- Comprobación del control de acceso basado en funciones (RBAC): Verificación de los permisos de los usuarios.
- Mutación de webhooks: Se agregan valores predeterminados o mejoras sensibles, como las restricciones de distribución de la topología de los pods.
- Cumplimiento del esquema: La API de Kubernetes verifica automáticamente si el recurso se ajusta a su esquema.
- Webhook de validación: Advierte a los usuarios sobre el incumplimiento de las prácticas recomendadas o la denegación de solicitudes con valores no permitidos.
- Persistencia y conciliación: El recurso se conserva y se concilia.
Esta validación automatizada puede proporcionar recomendaciones y enlaces a la documentación. También aplica reglas fundamentales, como las que se aplican a los presupuestos de interrupción de los pods, para evitar problemas durante las actualizaciones de OpenShift. En el caso de los recursos de la plataforma, una solicitud de incorporación de cambios de GitHub activa el validador, que valida el esquema y sugiere cambios, e incluso deriva las revisiones a un ingeniero humano si no se puede tomar una decisión de forma automática. Los flujos de trabajo de incorporación en plantillas con recursos configurados y aprobados previamente, junto con la fusión automática, agilizan aún más el ajuste y la facilidad de uso para los desarrolladores.
Cultivar una excelente experiencia para los desarrolladores
Worldpay reconoce a los desarrolladores como clientes internos, por lo que se centra en ofrecer una experiencia óptima. Esto incluye documentación de fácil acceso a través de un portal para desarrolladores que se lanzó hace dos años. El portal sigue un modelo de fuente interna, lo que permite que cualquier desarrollador contribuya.
Worldpay también diseñó una versión de capa gratuita de GKOP, un entorno de tipo *sandbox* que se actualiza diariamente con funciones limitadas, lo que permite que cualquier empleado de Worldpay inicie sesión, cree un espacio de nombres e implemente cargas de trabajo sin necesidad de una incorporación formal. Esta "manera fácil de comenzar" ayuda a los usuarios nuevos a comprender las funciones integrales de autoservicio de GKOP.
Se fomenta la participación de los usuarios a través de foros, presentaciones y chats de OpenShift, donde los desarrolladores pueden hacer preguntas y ofrecer comentarios. Worldpay alienta activamente a los desarrolladores a influir en el plan de la plataforma y contribuir a las iniciativas, como la implementación de la compatibilidad con los contenedores de Windows de OpenShift o la mejora de los modelos de implementación continua con GitOps.
El futuro de GKOP
Ahora, después de cinco años de funcionamiento, GKOP de Worldpay sigue evolucionando. Los planes futuros incluyen mejorar aún más la trayectoria de los desarrolladores al reducir los bloqueos y los procesos manuales, aumentar la adopción y utilizar más funciones de OpenShift. También apuntan a agregar funciones nuevas como OpenShift Service Mesh, soporte para bases de datos y mensajería de Kafka, cobertura de pruebas con pruebas continuas y sintéticas, y un panel de estado de plataforma ampliado. A pesar de todo, el pequeño pero dedicado equipo de Worldpay sigue sintiendo pasión por su trabajo con OpenShift y Kubernetes, lo que fomenta un entorno colaborativo y agradable.
Consulte la charla de Worldpay en OpenShift Commons Gathering en Londres, a principios de este año, con Matt Simons, Bernd Malmqvist y Michal Umlawski de Worldpay.
Prueba del producto
Red Hat Learning Subscription | Versión de prueba
Sobre el autor
Red Hatter since 2018, technology historian and founder of The Museum of Art and Digital Entertainment. Two decades of journalism mixed with technology expertise, storytelling and oodles of computing experience from inception to ewaste recycling. I have taught or had my work used in classes at USF, SFSU, AAU, UC Law Hastings and Harvard Law.
I have worked with the EFF, Stanford, MIT, and Archive.org to brief the US Copyright Office and change US copyright law. We won multiple exemptions to the DMCA, accepted and implemented by the Librarian of Congress. My writings have appeared in Wired, Bloomberg, Make Magazine, SD Times, The Austin American Statesman, The Atlanta Journal Constitution and many other outlets.
I have been written about by the Wall Street Journal, The Washington Post, Wired and The Atlantic. I have been called "The Gertrude Stein of Video Games," an honor I accept, as I live less than a mile from her childhood home in Oakland, CA. I was project lead on the first successful institutional preservation and rebooting of the first massively multiplayer game, Habitat, for the C64, from 1986: https://neohabitat.org . I've consulted and collaborated with the NY MOMA, the Oakland Museum of California, Cisco, Semtech, Twilio, Game Developers Conference, NGNX, the Anti-Defamation League, the Library of Congress and the Oakland Public Library System on projects, contracts, and exhibitions.
Más como éste
From maintenance to enablement: Making your platform a force-multiplier
NGINX Gateway Fabric certified for Red Hat OpenShift
The C Change | Command Line Heroes
Becoming a Coder | Command Line Heroes
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Virtualización
El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube