Les défis
Configuration manuelle Frais généraux:
La gestion manuelle des services Fastly peut entraîner des incohérences et des erreurs de déploiement.
Environnements dupliqués:
Les environnements partagent des caractéristiques communes qui doivent être répétées manuellement ou par le biais du code.
Les environnements sont souvent désynchronisés, ce qui entraîne des comportements imprévisibles.
Lacunes en matière de sécurité et d'observabilité:
Il est facile de négliger des configurations critiques telles que la journalisation ou la protection DDoS lors de la gestion de Fastly via l'interface utilisateur.
Solution
Improving s'ouvre à la communauté open-source. La solution d'Improving est la suivante terraform-fastly-service d'Improving est un module Terraform qui abstrait certaines fonctionnalités de configuration de Fastly via le fournisseur Terraform Fastly. Il introduit une approche claire et facile à maintenir pour gérer les configurations CDN à travers de multiples environnements. Combiné avec Terragrunt, les configurations DRY multi-environnements sont simplifiées. Voir le blog Multiple Environments with Terraform pour plus d'informations sur les configurations DRY multi-environnements.
Le module est disponible à l'adresse suivante
https://github.com/improving-minnesota/terraform-fastly-service/
Caractéristiques principales
Gestion complète de la configuration du CDN:
Domaines, backends, équilibrage de charge et contrôles de santé
Logique de cache, VCL, Snippets et dictionnaires
ACLs réseau, WAF, limitation de débit et protection DDoS
Paramètres Gzip et d'optimisation des images
Points d'extrémité de journalisation
et bien plus encore.
Prise en charge multi-environnements:
Déployez des configurations globales partagées avec des dérogations personnalisées pour les environnements de développement, de mise en scène, de production, éphémères ou autres.
Créez des modules partagés à utiliser sur différents sites.
Meilleures pratiques de sécurité:
L'accès au contrôle des sources peut être limité par CODEOWNER au niveau de chaque environnement.
Intégration de la journalisation:
Supporte le standard fournisseur Fastly de Fastly. Voir le Guide du développeur Fastly pour l'enregistrement des tiers.
Pour commencer
Prérequis
Terraform
Terragrunt (optionnel mais recommandé pour la gestion DRY)
Clé API Fastly
Exemple d'utilisation
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
}
]
}
Meilleures pratiques
Contrôle de version:
Suivez les modifications à l'aide de Git. Examiner et auditer chaque modification.
Séparation des environnements:
Utilisez Terragrunt pour supprimer les doublons et isoler les environnements proprement en utilisant la configuration DRY.
Secrets sécurisés:
Ne jamais coder en dur les informations d'identification. Utilisez les secrets Github, les coffres-forts ou un gestionnaire de secrets similaire.
Activer la surveillance:
La journalisation vers des plateformes d'observabilité assure la traçabilité des problèmes.
Réflexions finales
Le service terraform-fastly-service
offre un moyen structuré et automatisé de gérer les configurations Fastly. Que vous déployiez pour une startup ou une entreprise, l'utilisation de ce module assure :
Une base de code modulaire pour des environnements multiples, créant des environnements cohérents, moins de risque de dérive, et dynamiquement extensible à de nouveaux services.
La flexibilité nécessaire pour s'adapter aux fonctionnalités d'un environnement unique
Fournit des mécanismes pour des flux de travail séparés et sécurisés pour les développeurs
Expérience du développeur facile à comprendre et à maintenir
Et maintenant ?
L'implémentation de la configuration stockée via les modules Terraform pour piloter vos services Fastly CDN n'est qu'un aspect d'une solution complète. L'intégration du CDN, du WAF, de la gestion des certificats, du stockage d'objets, du calcul, de la détection des robots, de l'observabilité, de la sécurité et de l'automatisation du CICD peut conduire à une solution efficace pour les besoins de votre entreprise.
Besoin d'aide pour l'automatisation de votre CDN ? Contactez Improving.
Improving est une entreprise moderne de services numériques qui fournit des services de logiciels d'entreprise, développementet de formation aux entreprises Fortune 500 et Global 1000 dans le monde entier. Nos solutions innovantes ont aidé des milliers de nos clients à réaliser leurs objectifs tactiques et stratégiques, leur permettant d'atteindre de nouveaux sommets dans un marché compétitif et en constante évolution. Prenez contact avec nous pour découvrir comment nous pouvons transformer votre entreprise.