Escrit per Alex Bezek, Senior Infrastructure Engineer a ngrok
Quan desenvolupes programari arriba un moment en què has d'exposar serveis a altres xarxes perquè aportin valor. A ngrok busquem que això sigui el més senzill possible, i apliquem aquest principi també internament. Al principi vam desplegar un proxy nginx i vam configurar rutes per noms de host per allotjar la nostra web en Python, API en Go i altres eines. Després de configurar Kubernetes, certificats TLS i DNS vam estar en línia, però no va ser tan simple com una sola línia d'ordres.
Amb el temps van sorgir més aplicacions i serveis que necessitaven entrada pública com dashboards, APIs per a webhooks i eines internes. Ens vam plantejar si podríem crear ingress a aquests serveis usant ngrok i després d'una prova de concepte vam comprovar que sí i amb relativa facilitat. Així va néixer la idea de dogfooding a ngrok, que consisteix a usar el propi producte internament per tancar cicles de feedback i millorar l'empatia amb l'usuari.
El repte més gran va ser reemplaçar un nginx que havia acumulat complexitat: còpies estàtiques de la documentació a S3, pàgines i blogs gestionats amb un CMS, multitud de redireccions i rewrites per rutes, subdominis diversos i regles especials. Canviar DNS del domini complet requeria que ngrok pogués reproduir totes aquestes funcionalitats, i fa un parell d'anys encara faltaven característiques clau com reescriptures d'URL i redireccions complexes.
Amb l'arribada d'Endpoints i Traffic Policy ngrok va evolucionar d'un simple túnel a una passarel·la d'APIs completa. Traffic Policy és un format expressiu que permet manipular trànsit amb control fi, semblant a la configuració de nginx però executada al núvol de ngrok i amb funcions integrades com autenticació, llistes de permesos, validacions de webhooks i més.
En avaluar els requisits del nostre nginx vam identificar diversos punts crítics que havíem de cobrir: terminació TLS i gestió de certificats, logs i observabilitat, capçaleres personalitzades en entorns no productius, redireccions i reescriptures basades en expressions, i el reenviament de trànsit a serveis externs com S3 i un CMS. Vam revisar cada element per confirmar si ara podíem fer-ho amb ngrok.
La terminació TLS va deixar de ser una càrrega operativa: registrar un domini al nostre compte de proves, afegir DNS per demostrar propietat i ngrok provisiona i renova certificats automàticament. La terminació TLS ocorre a la vora de ngrok sense haver de gestionar secrets a Kubernetes.
Pel que fa a logs, abans nginx bolcaria stdout i un agent Datadog els recolliria des dels pods. Amb ngrok el pla que rep trànsit opera a la seva xarxa global i cada sol·licitud genera un Traffic Event amb dades estructurades com IP d'origen, mètode, capçaleres, latència i estat de resposta. Vam configurar una destinació d'esdeveniments que reenvia aquestes entrades a Datadog sense desplegar sidecars ni agents addicionals. A més, Traffic Inspector ofereix un streaming en temps real per depurar i validar canvis.
Per a entorns no productius necessitàvem afegir capçaleres com X-Robots-Tag noindex per evitar indexació. A nginx ho gestionàvem globalment amb ConfigMap, però a ngrok cada endpoint declara les seves capçaleres a aplicar, cosa que resulta més clara i portàtil.
Les redireccions van ser un punt clau. Abans usàvem anotacions d'ingress per realitzar rewrites i redirects complexos. Amb Traffic Policy les redireccions són natives i gestionables mitjançant expressions basades en CEL, cosa que ens va permetre traduir regles existents a polítiques llegibles i precises.
El reenviament a serveis externs, per exemple la documentació estàtica a S3, també es va simplificar. On abans es necessitaven diverses anotacions, ajustos de host upstream i snippets de configuració TLS, ara usem accions de Traffic Policy com url-rewrite per treure prefixos i forward-external per proxyar la petició a l'origen extern. El resultat és una configuració més neta i menys propensa a errors.
Per desplegar tot usem l'operador de ngrok per a Kubernetes i definim Cloud Endpoint com a recursos a git. Aquestes definicions com a codi es revisen, versionen i despleguen pels mateixos pipelines que la resta de la infraestructura. Després de canviar el DNS de nginx als endpoints gestionats per ngrok, el lloc va quedar actiu sense dependre de pods locals.
Els beneficis van ser evidents: vam eliminar un punt únic de fallada al nostre cluster, vam reduir la latència en servir respostes des del PoP de ngrok més proper gràcies al balancejador global, i vam disminuir trànsit innecessari cap a la nostra regió de control. Equips de producte van poder auto gestionar regles de trànsit sense sol·licitar canvis a nginx perquè les polítiques són més senzilles d'entendre i modificar.
La pràctica del dogfooding ens va permetre a més donar feedback durant el disseny de noves característiques, atrapar bugs abans que els clients els veiessin i millorar l'experiència d'usuari de Traffic Policy. El procés continua i ja estem provant noves funcionalitats com respostes personalitzades per servir fitxers security.txt o robots.txt, afegir capçaleres de seguretat, polítiques de rate limiting, intel·ligència d'IP per geolocalització i score d'amenaces, i proteccions OWASP CRS en proves.
A Q2BSTUDIO som una empresa de desenvolupament de programari i aplicacions a mida especialitzada en solucions empresarials. Oferim serveis de programari a mida, aplicacions a mida i integració d'intel·ligència artificial orientada a negoci. També brindem serveis en ciberseguretat per protegir infraestructures, consultoria i desplegament en serveis cloud aws i azure, i solucions de serveis intel·ligència de negoci com power bi per visualització i anàlisi avançat. Desenvolupem agents IA i solucions d'ia per a empreses que automatitzen processos i milloren la presa de decisions. El nostre enfocament combina experiència en intel·ligència artificial, ciberseguretat i serveis cloud per lliurar projectes escalables i segurs.
Si la teva empresa necessita migrar infraestructura, modernitzar l'encaminament de trànsit, implementar una passarel·la d'APIs o explorar solucions d'intel·ligència artificial i agents IA, a Q2BSTUDIO podem ajudar amb auditoria, disseny i implementació. Treballem amb tecnologies cloud aws i azure, desenvolupem programari a mida i aplicacions a mida, i despleguem solucions d'intel·ligència de negoci amb power bi per millorar el posicionament estratègic i operatiu de la teva organització.
La lliçó final és que dogfooding impulsa millores reals. En usar ngrok per als nostres propis serveis vam descobrir mancances, vam validar solucions i vam accelerar la maduresa del producte. A Q2BSTUDIO apliquem la mateixa filosofia: usem les eines que desenvolupem en producció per garantir qualitat, seguretat i valor tangible per als nostres clients en projectes de programari a mida, intel·ligència artificial, ciberseguretat i serveis cloud.
La migració pot haver acabat, però el procés de millora contínua i d'ús intern mai s'atura. Si vols millorar la teva plataforma amb solucions de programari a mida o explorar com la intel·ligència artificial i power bi poden transformar les teves dades en decisions, contacta amb Q2BSTUDIO per a una consultoria especialitzada.



