Un experiment per utilitzar GitHub Actions com a pla de control per a un PaaS | Mewayz Blog Skip to main content
Hacker News

Un experiment per utilitzar GitHub Actions com a pla de control per a un PaaS

Comentaris

10 min read Via towlion.github.io

Mewayz Team

Editorial Team

Hacker News

Una unió inesperada: Git i la plataforma

El món de DevOps es basa en l'automatització. Fem scripts de desplegaments, gestionem la infraestructura com a codi i ens esforcem perquè cada procés sigui repetible i fiable. Al cor d'això per a innombrables equips de desenvolupament hi ha GitHub, la plataforma omnipresent per a la col·laboració de codi. Però, què passaria si el seu poder es pogués estendre més enllà del control de versions i CI/CD? Aquesta és la història d'un experiment per superar els límits de GitHub Actions, transformant-lo d'un orquestrador de compilació i prova al sistema nerviós central (el pla de control) per a tota una plataforma com a servei (PaaS).

Redefinició del pla de control

Tradicionalment, un pla de control PaaS és un programari complex i personalitzat. És una autoritat central que rep ordres (desplega això, escala això) i orquestra la infraestructura subjacent per fer-ho realitat. Gestiona l'aprovisionament, les xarxes, la seguretat i la gestió del cicle de vida. Construir-ne un és una empresa d'enginyeria important. La hipòtesi del nostre experiment era senzilla: podríem aprofitar el flux de treball existent, potent i familiar de GitHub Actions per dur a terme aquestes mateixes tasques? En lloc d'escriure un pla de control monolític, utilitzaríem fitxers YAML, sol·licituds d'extracció i el sòlid ecosistema basat en esdeveniments de GitHub per gestionar la nostra plataforma.

"L'eina més potent és la que el vostre equip ja sap utilitzar. Mitjançant l'ús de GitHub Actions com a pla de control, no hem hagut de crear una interfície d'usuari ni ensenyar nous conceptes; hem ampliat el flux de treball existent centrat en Git que estimen els desenvolupadors".

Arquitectura del PaaS impulsat per GitHub

L'arquitectura es va centrar a tractar les declaracions d'infraestructura i les configuracions d'aplicacions com a codi dins d'un dipòsit. El flux de treball d'un desenvolupador per implementar un microservei nou, per exemple, seria el següent:

  • Un desenvolupador crea un directori nou per al seu servei i afegeix un fitxer `mewayz.app.yaml` que defineix les seves necessitats: CPU, memòria, variables d'entorn i domini.
  • Envien aquest fitxer i obren una sol·licitud d'extracció. El mateix acte d'obrir el PR activa un flux de treball d'Accions de GitHub.
  • El flux de treball, que actua com a pla de control, analitza el fitxer YAML, valida la configuració i realitza una execució en sec dels canvis a la infraestructura.
  • Un cop s'ha fusionat el PR, s'activa un flux de treball de desplegament independent. Aquest flux de treball conté la lògica per comunicar-se amb diverses API del núvol (Kubernetes, AWS, etc.) per proporcionar realment els recursos necessaris i desplegar el servei.
  • A continuació, el flux de treball comenta la confirmació amb un enllaç en directe al servei recentment implementat, completant el bucle.

Aquest enfocament s'integra perfectament amb la filosofia de Mewayz de modularitat i experiència de desenvolupador. L'estat complet de la plataforma estava controlat per versions, auditable i seguia el mateix procés de revisió col·laborativa que el propi codi de l'aplicació.

Lliçons de la frontera

L'experiment va ser un èxit rotund per demostrar la viabilitat. Hem aconseguit un PaaS totalment funcional, impulsat per Git-ops, on cada canvi era traçable i reversible. Tanmateix, també va revelar consideracions importants. La gestió complexa de l'estat de vegades va empènyer els límits del que era elegant en un fitxer YAML. Tot i que GitHub Actions és increïblement escalable, per a plataformes a gran escala, el temps de cua i execució dels fluxos de treball podria convertir-se en un coll d'ampolla en comparació amb una API de pla de control dedicada i de baixa latència. La seguretat era primordial; vam haver de gestionar meticulosament els secrets i els permisos per assegurar-nos que el corredor de GitHub Action tingués l'accés mínim exacte necessari per dur a terme les seves tasques, un concepte perfectament alineat amb els principis de disseny segur de Mewayz.

Un cop d'ull a un futur centrat en Git

Aquest experiment demostra que les eines que fem servir per a la col·laboració i la CI/CD són prou potents com per ser reutilitzades a la base de les nostres plataformes. Desdibuixa la línia entre el desenvolupament d'una aplicació i la gestió de l'entorn en què s'executa, unificant-los sota un únic flux de treball basat en Git. Per a empreses com Mewayz, que estan construint la propera generació de plataformes de sistema operatiu empresarial, aquesta exploració és inestimable. Desafia l'arquitectura convencional i obre les portes a experiències de desenvolupadors increïblement intuïtives i integrades. Tot i que és possible que no substitueixi tots els plans de control personalitzats, és un poderós testimoni de la idea que la millor solució ja es troba al vostre conjunt d'eines.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Preguntes més freqüents

Una unió inesperada: Git i la plataforma

El món de DevOps es basa en l'automatització. Fem scripts de desplegaments, gestionem la infraestructura com a codi i ens esforcem perquè cada procés sigui repetible i fiable. Al cor d'això per a innombrables equips de desenvolupament hi ha GitHub, la plataforma omnipresent per a la col·laboració de codi. Però, què passaria si el seu poder es pogués estendre més enllà del control de versions i CI/CD? Aquesta és la història d'un experiment per superar els límits de GitHub Actions, transformant-lo d'un orquestrador de compilació i prova al sistema nerviós central (el pla de control) per a tota una plataforma com a servei (PaaS).

Redefinició del pla de control

Tradicionalment, un pla de control PaaS és un programari complex i personalitzat. És una autoritat central que rep ordres (desplega això, escala això) i orquestra la infraestructura subjacent per fer-ho realitat. Gestiona l'aprovisionament, les xarxes, la seguretat i la gestió del cicle de vida. Construir-ne un és una empresa d'enginyeria important. La hipòtesi del nostre experiment era senzilla: podríem aprofitar el flux de treball existent, potent i familiar de GitHub Actions per dur a terme aquestes mateixes tasques? En lloc d'escriure un pla de control monolític, utilitzaríem fitxers YAML, sol·licituds d'extracció i el sòlid ecosistema basat en esdeveniments de GitHub per gestionar la nostra plataforma.

Arquitectura del PaaS impulsat per GitHub

L'arquitectura es va centrar a tractar les declaracions d'infraestructura i les configuracions d'aplicacions com a codi dins d'un dipòsit. El flux de treball d'un desenvolupador per implementar un microservei nou, per exemple, seria el següent:

Lliçons de la frontera

L'experiment va ser un èxit rotund per demostrar la viabilitat. Hem aconseguit un PaaS totalment funcional, impulsat per Git-ops, on cada canvi era traçable i reversible. Tanmateix, també va revelar consideracions importants. La gestió complexa de l'estat de vegades va empènyer els límits del que era elegant en un fitxer YAML. Tot i que GitHub Actions és increïblement escalable, per a plataformes a gran escala, el temps de cua i execució dels fluxos de treball podria convertir-se en un coll d'ampolla en comparació amb una API de pla de control dedicada i de baixa latència. La seguretat era primordial; vam haver de gestionar meticulosament els secrets i els permisos per assegurar-nos que el corredor de GitHub Action tingués l'accés mínim exacte necessari per dur a terme les seves tasques, un concepte perfectament alineat amb els principis de disseny segur de Mewayz.

Un cop d'ull a un futur centrat en Git

Aquest experiment demostra que les eines que fem servir per a la col·laboració i la CI/CD són prou potents com per ser reutilitzades a la base de les nostres plataformes. Desdibuixa la línia entre el desenvolupament d'una aplicació i la gestió de l'entorn en què s'executa, unificant-los sota un únic flux de treball basat en Git. Per a empreses com Mewayz, que estan construint la propera generació de plataformes de sistema operatiu empresarial, aquesta exploració és inestimable. Desafia l'arquitectura convencional i obre les portes a experiències de desenvolupadors increïblement intuïtives i integrades. Tot i que és possible que no substitueixi tots els plans de control personalitzats, és un poderós testimoni de la idea que la millor solució ja es troba al vostre conjunt d'eines.

Totes les vostres eines empresarials en un sol lloc

Deixa de fer malabars amb diverses aplicacions. Mewayz combina 208 eines per només 49 dòlars al mes, des d'inventari fins a recursos humans, de reserves a analítiques. No cal cap targeta de crèdit per començar.

Prova Mewayz gratuïtament →