Cloud Azure y DevOps
Infraestructura como código, pipelines que despliegan varias veces al día, una base de seguridad de denegación por defecto y una factura que se mantiene predecible. Así construimos un entorno cloud, y así operamos el nuestro.
El trabajo de DevOps en sí
- Pipelines. Build, pruebas, análisis de seguridad y despliegue en GitHub Actions, con credenciales federadas en lugar de secretos almacenados y cada acción fijada por hash.
- Infraestructura como código. Terraform para todo, revisado como plan antes de aplicarse, con detección programada de desviaciones (drift) que informa de lo que alguien cambió a mano.
- Entrega de la base de datos. Los cambios de esquema como migraciones versionadas que se ejecutan en el pipeline, de modo que no puede producirse un despliegue que lleve el código sin su esquema.
- Monitorización y alertas. Logs, métricas y trazas en un único workspace, con alertas que llegan a una persona solo cuando un desarrollador podría actuar sobre ellas.
- Control de costes. Niveles bien dimensionados, precio por consumo donde la carga es irregular y una factura mensual que alguien lee de verdad.
Con qué construimos
Cada recurso se declara en Terraform y se despliega desde GitHub Actions con credenciales federadas. Nada se monta a base de clics en un portal, ni en nuestros entornos ni en los suyos.
Cómputo
Azure Functions en el isolated worker de .NET 10 para la API y 40 tareas programadas; los Container Apps Jobs ejecutan los despliegues de bases de datos y las migraciones de EF Core.
Datos
Azure SQL con seguridad a nivel de fila y columnas Always Encrypted con claves gestionadas por el cliente en Key Vault; Blob Storage para documentos y PDF firmados.
Front ends
Dos Static Web Apps, el portal y este sitio, ambas servidas con una Content Security Policy estricta y prerrenderizadas donde los rastreadores necesitan HTML.
Identidad
Entra ID para personas y grupos, identidades administradas asignadas por el usuario para cada carga de trabajo y OIDC desde GitHub Actions. Ninguna credencial de larga duración en el pipeline.
Observabilidad
Application Insights y Log Analytics con reglas de alerta que llegan al equipo como mensajes de Teams. Solo las señales sobre las que un desarrollador puede actuar se convierten en alertas.
Gobernanza
Políticas de grupos de recursos, bloqueos de administración, protección contra purga y configuración de diagnóstico, todo declarado en Terraform con el motivo junto a cada regla.
Disciplina de costes
Nuestros principios de ingeniería ordenan las prioridades de forma fija: primero el coste, después la seguridad, después la modernidad y después el rendimiento. Se fija un techo de coste antes de dibujar la arquitectura, y cada decisión de diseño se contrasta con él. En la práctica eso significa precio por consumo en lugar de servidores siempre encendidos donde la carga es irregular, un nivel de base de datos bien dimensionado y no el que recomienda el proveedor, y alertas construidas con servicios que ya están en la suscripción en lugar de un producto de guardias de pago.
Base de seguridad
- Los firewalls deniegan por defecto; SQL solo es accesible desde la subred de Functions.
- Los secretos existen solo en Key Vault y se leen mediante identidades administradas.
- Las columnas personales y financieras usan Always Encrypted, de modo que ni siquiera un administrador de la base de datos puede leerlas.
- Las Actions y las imágenes de contenedor se fijan por hash; las actualizaciones de dependencias llegan como pull requests revisadas y un aviso de seguridad es una actualización incondicional.
- CodeQL se ejecuta en cada push, los planes de Terraform se validan antes de aplicarse y las desviaciones se detectan de forma programada.
Nuestro historial en cloud
Más de 20 pipelines de CI/CD construidos, versiones cada dos semanas convertidas en despliegues diarios, tiempo de publicación reducido de cuatro horas a 25 minutos, gasto de Azure reducido un 30 por ciento en una plataforma. Cifras de nuestro historial de entregas.
Contratamos para ello, no improvisamos
DevOps es un rol para el que reclutamos de forma deliberada: nuestro historial de vacantes incluye un ingeniero DevOps y un entrevistador técnico de DevOps dedicado, de modo que los candidatos los evalúa alguien que hace el trabajo y no un generalista que lee una lista de comprobación.
¿Quiere su entorno de Azure como código y con una factura menor?
Envíenos acceso de lectura a su suscripción o una descripción de qué funciona dónde. Recibirá una evaluación por escrito y un plan en un plazo de un día laborable.