Los retos
Sobrecarga de configuración manual:
La gestión manual de los servicios Fastly puede dar lugar a incoherencias y errores de despliegue.
Entornos duplicados:
Los entornos comparten características comunes que deben repetirse manualmente o mediante código.
Los entornos a menudo se desincronizan, causando un comportamiento impredecible.
Lagunas de seguridad y observabilidad:
Es fácil pasar por alto configuraciones críticas como el registro o la protección DDoS cuando se gestiona Fastly a través de la interfaz de usuario.
Solución
Improving se está lanzando a la comunidad de código abierto. La solución de Improving terraform-fastly-service de Improving es un módulo Terraform que abstrae determinadas funciones de configuración de Fastly a través del proveedor Terraform Fastly. Introduce un enfoque claro y fácil de mantener para gestionar las configuraciones de CDN en múltiples entornos. Combinado con Terragrunt, se simplifican las configuraciones DRY multientorno. Consulte el blog Entornos múltiples con Terraform para obtener más información sobre las configuraciones DRY en entornos múltiples.
Encuentra el módulo en:
https://github.com/improving-minnesota/terraform-fastly-service/
Características principales
Gestión integral de la configuración de CDN:
Dominios, backends, equilibrio de carga y comprobaciones de estado
Lógica de caché, VCL, fragmentos y diccionarios
ACL de red, WAF, limitación de velocidad y protección DDoS
Ajustes Gzip y optimización de imágenes
Puntos finales de registro
y mucho más.
Soporte Multi-Entorno:
Implemente configuraciones globales compartidas con anulaciones personalizadas para entornos de desarrollo, preparación, producción, efímeros u otros.
Cree módulos compartidos para su uso en varios sitios.
Mejores prácticas de seguridad:
El acceso al control de código fuente puede limitarse por CODEOWNER a nivel de entorno.
Integraciones de registro:
Soporta el estándar proveedor Fastly estándar de Fastly. Consulte Guía del desarrollador de Fastly para el registro de terceros.
Primeros pasos
Requisitos previos
Terraform
Terragrunt (opcional pero recomendado para la gestión DRY)
Clave API de Fastly
Ejemplo de uso
module "fastly_service" {
source = " git::https://github.com/improving-minnesota/terraform-fastly-service/?ref=v1"
fastly_api_key = "your-api-key" # Or use a variable
fastly_domain_names = [
{
name = "example.com"
}
]
fastly_backends = [
{
name = "origin"
address = "origin.example.com"
port = 443
use_ssl = true
}
]
}
Buenas prácticas
Control de versiones:
Realice el seguimiento de los cambios mediante Git. Revisar y auditar cada cambio.
Separación de entornos:
Utilice Terragrunt para eliminar la duplicación y aislar los entornos limpiamente utilizando la configuración DRY.
Secretos Seguros:
Nunca codifiques credenciales. Utiliza Github secrets, vaults, o un gestor de secretos similar.
Habilitar Monitorización:
El registro en plataformas de observabilidad garantiza la trazabilidad de los problemas.
Reflexiones finales
El terraform-fastly-service
ofrece una forma estructurada y automatizada de gestionar las configuraciones de Fastly. Ya sea que esté desplegando para una startup o una empresa, el uso de este módulo asegura:
Base de código modular para múltiples entornos, creando entornos consistentes, menos riesgo de deriva y dinámicamente escalable a nuevos servicios.
Flexibilidad para acomodar funcionalidades de entornos únicos
Proporciona mecanismos para flujos de trabajo de desarrolladores separados y seguros
Experiencia del desarrollador fácil de entender y mantener.
¿Y ahora qué?
La implementación de la configuración almacenada a través de módulos Terraform para controlar sus servicios Fastly CDN es sólo un aspecto de una solución completa. La integración de CDN, WAF, gestión de certificados, almacenamiento de objetos, computación, detección de bots, observabilidad, seguridad y automatización de CICD, todo junto, puede impulsar una solución eficaz para sus necesidades empresariales.
¿Necesita ayuda con la automatización de su CDN? Póngase en contacto con Improving.
Improving es una moderna empresa de servicios digitales que ofrece a las empresas consultoría de software, desarrolloy formación a empresas de Fortune 500 y Global 1000 de todo el mundo. Nuestras soluciones innovadoras han ayudado a miles de nuestros clientes a alcanzar sus objetivos empresariales tácticos y estratégicos, permitiéndoles alcanzar nuevas cotas en un mercado competitivo y en constante cambio. Póngase en contacto con nosotros para descubrir cómo podemos transformar su negocio.