Skip to content

Separación de clusters y automatización de infraestructura Cluster Separation & Infrastructure Automation .

Aislamiento de entornos por IaC que dejó de dar miedo al equipo IaC-driven environment isolation that engineers stopped fearing

// problema // problem

Cuando entré a tokenproof, “production” y “staging” compartían más cosas de las que deberían: clusters solapados, networking compartido, paths de deploy que dependían de que el operador recordara qué pestaña de terminal era cuál. Funcionaba, hasta que dejaba de funcionar. El costo de un deploy equivocado no era un rollback; era un incidente.

When I joined tokenproof, “production” and “staging” shared more than they should have: overlapping clusters, shared networking, deployment paths that depended on the operator remembering which terminal tab was which. It worked, until it did not. The cost of a deploy mistake was not a rollback; it was an incident.

// restricción // constraint

Tenía que separar todo (compute, networking, secrets, tráfico) sin congelar al equipo de producto. Las migraciones tenían que ser invisibles para los ingenieros que enviaban a diario, y el nuevo setup tenía que provisionarse igual cada vez, por cualquiera, desde cero.

I had to separate everything (compute, networking, secrets, traffic) without freezing the product team. Migrations had to be invisible to the engineers shipping daily, and the new setup had to be provisioned the same way every time, by anyone, from scratch.

// decisión // decision

Infrastructure-as-Code completo con Terraform y Terragrunt. Cada entorno tenía su propio cluster de Kubernetes, su propia red privada, su propio pipeline de CI/CD, su propio scope de secretos. Nada se provisionaba a mano. Si staging ardía, lo podía reconstruir en el tiempo que tomaba ir por un café, y volvía idéntico.

Una vez aislados los clusters, endurecí el perímetro: políticas de tráfico, networking privado para llamadas service-to-service, flujos de rotación de secretos. Los ciclos de release se aceleraron de forma notable, no porque las pipelines fueran mágicas, sino porque los ingenieros dejaron de tenerles miedo.

Full Infrastructure-as-Code with Terraform and Terragrunt. Every environment got its own Kubernetes cluster, its own private network, its own CI/CD pipeline, its own secret scope. Nothing was provisioned by hand. If staging burned down, I could rebuild it in the time it took to grab coffee, and it would come back identical.

Once the clusters were isolated, I hardened the perimeter: traffic management policies, private networking for service-to-service calls, secret rotation flows. Release cycles got noticeably faster, not because the pipelines were magic, but because engineers stopped being afraid of them.

Terraform / Terragrunt | +------------+------------+ | | v v +---------------+ +---------------+ | staging env | | prod env | +-------+-------+ +-------+-------+ | | +-----+-----+ +-----+-----+ | | | | | | | | v v v v v v v v K8s Net CI Sec K8s Net CI Sec

// por qué importa // why it matters

Este es el proyecto donde dejé de ser “el ingeniero bueno con integraciones de Salesforce” y me convertí en la persona de plataforma. Los artefactos técnicos (módulos de Terraform, plantillas de CI, políticas de networking) son el output visible. El entregable real fue un equipo que podía desplegar sin necesidad de reunión.

This is the project where I stopped being “the engineer who is good at Salesforce integrations” and became the platform person. The technical artifacts (Terraform modules, CI templates, networking policies) are the visible output. The actual deliverable was a team that could deploy without a meeting.