Un experimento para utilizar GitHub Actions como plano de control para una PaaS | Mewayz Blog Saltar al contenido principal
Hacker News

Un experimento para utilizar GitHub Actions como plano de control para una PaaS

Comentarios

9 lectura mínima

Mewayz Team

Editorial Team

Hacker News

Una unión inesperada: Git y la plataforma

El mundo de DevOps se basa en la automatización. Desarrollamos secuencias de comandos para implementaciones, administramos la infraestructura como código y nos esforzamos por hacer que cada proceso sea repetible y confiable. En el centro de esto para innumerables equipos de desarrollo se encuentra GitHub, la omnipresente plataforma para la colaboración de código. Pero ¿qué pasaría si su poder pudiera extenderse más allá del control de versiones y CI/CD? Esta es la historia de un experimento para ampliar los límites de GitHub Actions, transformándolo de un orquestador de construcción y prueba en el sistema nervioso central (el plano de control) para una plataforma como servicio (PaaS) completa.

Redefiniendo el plano de control

Tradicionalmente, un plano de control PaaS es una pieza de software compleja y hecha a medida. Es una autoridad central que recibe comandos (implementar esto, escalar aquello) y orquesta la infraestructura subyacente para que esto suceda. Maneja el aprovisionamiento, las redes, la seguridad y la gestión del ciclo de vida. Construir uno es una importante tarea de ingeniería. La hipótesis de nuestro experimento era simple: ¿podríamos aprovechar el flujo de trabajo existente, potente y familiar de GitHub Actions para realizar estas mismas tareas? En lugar de escribir un plano de control monolítico, usaríamos archivos YAML, solicitudes de extracción y el sólido ecosistema basado en eventos de GitHub para administrar nuestra plataforma.

"La herramienta más poderosa es la que su equipo ya sabe cómo usar. Al usar GitHub Actions como nuestro plano de control, no tuvimos que crear una interfaz de usuario ni enseñar nuevos conceptos; ampliamos el flujo de trabajo existente centrado en Git que adoran los desarrolladores".

Diseñando la PaaS impulsada por GitHub

La arquitectura se centró en tratar las declaraciones de infraestructura y las configuraciones de aplicaciones como código dentro de un repositorio. El flujo de trabajo de un desarrollador para implementar un nuevo microservicio, por ejemplo, se vería así:

Un desarrollador crea un nuevo directorio para su servicio y agrega un archivo `mewayz.app.yaml` que define sus necesidades: CPU, memoria, variables de entorno y dominio.

Confirman este archivo y abren una solicitud de extracción. El mismo acto de abrir el PR desencadena un flujo de trabajo de GitHub Actions.

El flujo de trabajo, que actúa como plano de control, analiza el archivo YAML, valida la configuración y realiza un ensayo de los cambios de infraestructura.

Una vez que se fusiona el PR, se activa un flujo de trabajo de implementación independiente. Este flujo de trabajo contiene la lógica para comunicarse con varias API de la nube (Kubernetes, AWS, etc.) para aprovisionar los recursos necesarios e implementar el servicio.

💡 ¿SABÍAS QUE?

Mewayz reemplaza 8+ herramientas de negocio en una plataforma

CRM · Facturación · RRHH · Proyectos · Reservas · Comercio electrónico · TPV · Análisis. Plan gratuito para siempre disponible.

Comenzar Gratis →

Luego, el flujo de trabajo comenta la confirmación con un enlace activo al servicio recién implementado, completando el ciclo.

Este enfoque se integró perfectamente con la filosofía de Mewayz de modularidad y experiencia del desarrollador. El estado completo de la plataforma estaba controlado por versiones, era auditable y seguía el mismo proceso de revisión colaborativa que el propio código de la aplicación.

Lecciones de la frontera

El experimento fue un éxito rotundo al demostrar su viabilidad. Logramos una PaaS completamente funcional impulsada por Git-ops donde cada cambio era rastreable y reversible. Sin embargo, también reveló consideraciones importantes. La gestión de estado compleja a veces traspasó los límites de lo que era elegante en un archivo YAML. Si bien GitHub Actions es increíblemente escalable, para plataformas de escala masiva, el tiempo de cola y ejecución de los flujos de trabajo podría convertirse en un cuello de botella en comparación con una API de plano de control dedicada y de baja latencia. La seguridad era primordial; Tuvimos que administrar meticulosamente los secretos y los permisos para garantizar que el ejecutor de GitHub Action tuviera el acceso mínimo exacto requerido para realizar sus tareas, un concepto perfectamente alineado con los principios de seguridad por diseño de Mewayz.

Un vistazo a un futuro centrado en Git

Este experimento demuestra que las herramientas que utilizamos para la colaboración y CI/CD son lo suficientemente potentes como para reutilizarlas en la base misma de nuestras plataformas. Difumina la línea entre el desarrollo de una aplicación y la gestión del entorno en el que se ejecuta, unificándolos bajo un solo

Frequently Asked Questions

An Unexpected Union: Git and the Platform

The world of DevOps is built on automation. We script deployments, manage infrastructure as code, and strive to make every process repeatable and reliable. At the heart of this for countless development teams is GitHub, the ubiquitous platform for code collaboration. But what if its power could be extended beyond version control and CI/CD? This is the story of an experiment to push the boundaries of GitHub Actions, transforming it from a build-and-test orchestrator into the central nervous system—the control plane—for an entire Platform as a Service (PaaS).

Redefining the Control Plane

Traditionally, a PaaS control plane is a complex, bespoke piece of software. It's a central authority that receives commands (deploy this, scale that) and orchestrates the underlying infrastructure to make it happen. It handles provisioning, networking, security, and lifecycle management. Building one is a significant engineering undertaking. The hypothesis of our experiment was simple: could we leverage the existing, powerful, and familiar workflow of GitHub Actions to perform these same duties? Instead of writing a monolithic control plane, we would use YAML files, pull requests, and GitHub's robust event-driven ecosystem to manage our platform.

Architecting the GitHub-Driven PaaS

The architecture centered on treating infrastructure declarations and application configurations as code within a repository. A developer's workflow to deploy a new microservice, for instance, would look like this:

Lessons from the Frontier

The experiment was a resounding success in proving feasibility. We achieved a fully functional, Git-ops driven PaaS where every change was traceable and reversible. However, it also revealed important considerations. Complex state management sometimes pushed the boundaries of what was elegant in a YAML file. While GitHub Actions is incredibly scalable, for massive-scale platforms, the queueing and execution time of workflows could become a bottleneck compared to a dedicated, low-latency control plane API. Security was paramount; we had to meticulously manage secrets and permissions to ensure the GitHub Action runner had the exact minimum access required to perform its duties—a concept perfectly aligned with Mewayz's secure-by-design principles.

A Glimpse into a Git-Centric Future

This experiment demonstrates that the tools we use for collaboration and CI/CD are powerful enough to be repurposed into the very foundation of our platforms. It blurs the line between developing an application and managing the environment it runs on, unifying them under a single, Git-based workflow. For companies like Mewayz, which are building the next generation of business OS platforms, this exploration is invaluable. It challenges conventional architecture and opens doors to incredibly intuitive and integrated developer experiences. While it may not replace every custom control plane, it stands as a powerful testament to the idea that the best solution might already be in your toolkit.

All Your Business Tools in One Place

Stop juggling multiple apps. Mewayz combines 208 tools for just $49/month — from inventory to HR, booking to analytics. No credit card required to start.

Try Mewayz Free →

Prueba Mewayz Gratis

Plataforma todo en uno para CRM, facturación, proyectos, RRHH y más. No se requiere tarjeta de crédito.

Comienza a gestionar tu negocio de manera más inteligente hoy.

Únete a 6,208+ empresas. Plan gratuito para siempre · No se requiere tarjeta de crédito.

¿Encontró esto útil? Compártelo.

¿Listo para poner esto en práctica?

Únete a los 6,208+ negocios que usan Mewayz. Plan gratis para siempre — no se requiere tarjeta de crédito.

Comenzar prueba gratuita →

¿Listo para tomar acción?

Comienza tu prueba gratuita de Mewayz hoy

Plataforma empresarial todo en uno. No se requiere tarjeta de crédito.

Comenzar Gratis →

Prueba gratuita de 14 días · Sin tarjeta de crédito · Cancela en cualquier momento