Le Blog Amazon Web Services

Comment la Formule 1 utilise AWS DataSync et AWS Storage Gateway pour ses backups et son archivage

Dans cet article, Martynas Juras, ingénieur cloud chez FORMULA 1 témoigne de son expérience sur le cloud AWS. La Formule 1 fait partie des compétitions sportives les plus regardées aux quatre coins du globe. Formula One diffuse la Formule 1 dans le monde entier avec son propre système de diffusion créé en interne. Avec ce système, ils doivent stocker de façon sécurisée un volume important de données, qui ne cesse d’augmenter au fil du temps. Ces données incluent les vidéos brutes, la télémétrie des voitures, les données des courses, des bases de données SQL, les mails des collaborateurs ainsi que leurs fichiers et ceux de leurs équipes. Avec autant de types de données différents, il est nécessaire que les mécanismes de sauvegarde soient résistants en cas de panne que ce soit au bord de la piste comme dans leurs bureaux.

Nous allons illustrer comment Formula One utilise AWS Storage Gateway pour remplacer leur infrastructure de sauvegarde en bande physique. Nous évoquerons également la mise en place d’une reprise après sinistre pour les archives vidéo en utilisant AWS DataSync. Nous parlerons des défis que Formula One a traversé avec leur précédente architecture et comment l’automatisation a rendu l’ensemble de ces opérations plus rapides.

La solution de sauvegarde Tape Gateway de Formula One

Avant AWS, Formula One utilisait une infrastructure de bandes physiques pour stocker leurs données à long terme. Leur infrastructure à bande physique était une solution de sauvegarde sur site traditionnelle. La solution était composée d’une bibliothèque HP LTO (Linear Tape-Open) 6 bandes et d’un serveur de sauvegarde physique avec la solution Microsoft Data Protection Manager (DPM) sur du Windows Server 2016. Pour terminer, Formula One envoyait ses bandes magnétiques vers un centre de stockage tiers.

Voici les différents problématiques que Formula One rencontrait avec sa bibliothèque de bandes avant d’utiliser AWS :

  • Temps de récupération : Quand le service informatique devait réaliser un audit pour tester la procédure de récupération ou récupérer un fichier qui n’était plus disponible sur disque, il devait demander la bande physique. Cela nécessitait d’envoyer un e-mail au partenaire tiers et ensuite envoyer leur conducteur la récupérer dans le site de stockage. La procédure complète pour demander une bande, la récupérer, réaliser la récupération des données et renvoyer la bande pouvait prendre entre 5 et 7 jours.
  • Stockage des bandes : Formula One avait besoin d’avoir un endroit sécurisé pour stocker les bandes hebdomadaires et mensuelles. Formula One devait également être sûr d’avoir un espace supplémentaire pour les nouvelles bandes. Pour Formula One, cela signifiait que les bandes devaient être stockées en lieu sûr ou dans des vaults (coffres en français) et qu’elles soient ensuite déplacées en utilisant des valises Pelican pour le transport.
  • Gestion des bandes : Formula One devait maintenir un nombre minimum de bandes libres dans sa bibliothèque. Formula One devait constamment acheter de nouvelles bandes car les données de sauvegarde augmentaient sans cesse. Le service informatique devait s’assurer qu’un nombre suffisant de bandes étaient libres dans la bibliothèque pour la sauvegarde hebdomadaire. De plus, le service informatique devait charger la bande de sauvegarde dans la bibliothèque pour la restauration.

La solution AWS pour la bibliothèque de bandes de Formula One

Choisir AWS a permis à Formula One d’implémenter une solution qui répond aux défis exposés dans la section précédente. AWS propose un service managé prêt à l’utilisation appelé AWS Storage Gateway. Ce service comprend une fonctionnalité Tape Gateway qui supporte Microsoft DPM. Comme Formula One sauvegarde plus de 50 To de données chaque semaine, les équipes ont mis en place une liaison AWS Direct Connect vers AWS pour transmettre toutes ces données.

En utilisant Tape Gateway, Formula One a mis en place une nouvelle bibliothèque de bandes virtuelles (VTLs) sur leur plateforme Microsoft Hyper-V en utilisant iSCSI pour la connexion de DPM vers les nouvelles bibliothèques de bandes virtuelles. Ensuite, une simple mise à jour des groupes de protection dans DPM permet de rediriger la donnée vers la bibliothèque de bandes virtuelles au lieu de la bibliothèque de bandes physiques.

Dès que les groupes de protection ont été mis à jour pour utiliser la bibliothèque de bandes virtuelles, Formula One a créé une procédure pour automatiser le management des bandes. Comme mentionné plus tôt avec l’infrastructure de bandes physiques, les membres du service informatique devaient effectuer un bon nombre de tâches manuelles. Par exemple, ils devaient prendre les bandes du centre de stockage tiers hors de leur emplacement et les remplacer par les nouvelles bandes. Tape Gateway fournit des APIs pour créer des nouvelles bandes virtuelles à la demande sans frais et ils sont facturés dès lors qu’ils utilisent le stockage de ces bandes.

Formula One a implémenté une fonction AWS Lambda qui créée les nouvelles bandes pour chaque bibliothèque qui existe dans leur compte. Ils ont créé un script PowerShell pour le DPM qui enlève toutes les bandes de chaque bibliothèque taguée ‘Offsite Ready’. Après avoir enlevé les bandes, le script ajoute les nouvelles bandes créées par la fonction lambda.

Voici le code de la fonction Lambda déclenché par la tâche cron Amazon CloudWatch :

import json
import boto3
import datetime
import os

Tape_Size = os.environ['Tape_Size']
Tape_Num = os.environ['Tape_Num']
sgw = boto3.client('storagegateway')

def lambda_handler(event, context):
    date_object = datetime.datetime.now()
    list_gw = sgw.list_gateways()
    gws = [ list['GatewayARN'] for list in list_gw['Gateways'] ]
    for gateway in gws:
        New_Tapes = sgw.create_tapes(
        GatewayARN=gateway,
        TapeSizeInBytes=int(Tape_Size),
        ClientToken=str(date_object),
        NumTapesToCreate=int(Tape_Num),
        TapeBarcodePrefix='FOM',
        PoolId='DEEP_ARCHIVE',
        )
        for arn in New_Tapes['TapeARNs']:
            Tape_ID = arn.split('/')[1]
            print ('Tape:', Tape_ID, 'was created in SGW:', gateway)

Voici le script Powershell déclenché par la tâche planifiée Windows :

Import-Module DataProtectionManager
function Get-TimeStamp {    
    return "[{0:MM/dd/yy} {0:HH:mm:ss}]" -f (Get-Date)    
}
# Supprimer les fichiers de logs après 30 jours
$Path = "C:\temp\refreshtapeslog.txt"
$Daysback = "-30" 
$CurrentDate = Get-Date
$DatetoDelete = $CurrentDate.AddDays($Daysback)
Get-ChildItem $Path | Where-Object { $_.CreationTime -lt $DatetoDelete } | Remove-Item -ErrorAction SilentlyContinue -Recurse -Force
$DPMServer=$env:COMPUTERNAME
Try
{
$DpmLibrary = Get-DPMLibrary -DPMServerName $DPMServer | Where-Object Name -like "Library: BH-AWS-VTL*" | Where-Object Name -Like "*(Disabled)"
Write-Output "$(Get-TimeStamp) Connected to $DPMServer" | Out-file C:\temp\refreshtapeslog.txt -append
Write-Output "$(Get-TimeStamp) Libraries to refresh: " | Out-file C:\temp\refreshtapeslog.txt -append
Write-Output $DpmLibrary.UserFriendlyName | Out-file C:\temp\refreshtapeslog.txt -append
}
Catch
{
Write-Output "$(Get-TimeStamp) Error getting libraries: $_" | Out-file C:\temp\refreshtapeslog.txt -append
}
ForEach ($library in $DpmLibrary) {
$dpmtape = Get-DPMTape -DPMLibrary $library | Where-Object -Property IsOffsiteReady -eq true
Try
{
if ($dpmtape.count -gt "0"){
Write-Output "$(Get-TimeStamp) Tapes to remove from library:" $li-brary.UserFriendlyName  | Out-file C:\temp\refreshtapeslog.txt -append
Write-Output $dpmtape.MediaLabel | Out-file C:\temp\refreshtapeslog.txt -append
Unlock-DPMLibraryDoor -DPMLibrary $library -Confirm:$false
Remove-DPMTape -DPMLibrary $library -Tape $dpmtape -Confirm:$false 
}
else {
    Write-Output "$(Get-TimeStamp)No tapes to remove" | Out-file C:\temp\refreshtapeslog.txt -append
    }
}
catch
{
Write-Output "$(Get-TimeStamp) Error getting Tapes: $_" | Out-file C:\temp\refreshtapeslog.txt -append
} 
Try
{
Add-DPMTape -DPMLibrary $library
$Slots=Get-DPMTape -DPMLibrary $library | where MediaLabel -eq "Unknown" | select Location
if ($Slots.count -gt "1") {
    foreach ($Slot in $Slots) {
        ForceFree-Tape.ps1 -DPMServerName $DPMServer -LibraryName $li-brary.userfriendlyname -TapeLocationList $Slot.Location | Out-file C:\temp\refreshtapeslog.txt -append
    }} else {
        Write-Output "$(Get-TimeStamp) No new tapes to add" | Out-file C:\temp\refreshtapeslog.txt -append
    }
}
Catch
{
Write-Output "$(Get-TimeStamp) Error getting Adding/Removing tapes: $_" | Out-file C:\temp\refreshtapeslog.txt -append
}
}

Une des fonctionnalités intéressante du service Tape Gateway est la publication de la bande directement sur Amazon S3 Glacier ou Amazon S3 Glacier Deep Archive. Formula One a déplacé leurs bandes directement sur Amazon S3 Glacier Deep Archive pour la réduction de coût significative que cette classe de stockage propose.

Tape Gateway utilise le protocole iSCSI pour se connecter avec l’application de sauvegarde alors que Formula One utilisait une connectivité Fibre Channel pour leur bibliothèque de bandes physiques. Cela signifie que quelques configurations de leur DPM ont été modifiées pour atteindre des performances similaires à leur bibliothèque de bandes physiques existante. Tout d’abord, Formula One a changé les groupes de protection de leur DPM pour pouvoir utiliser plusieurs VTLs. Sachant que leurs VTLs chargent les données de façon asynchrone sur le cloud, cela leur garantissait de ne pas atteindre la limite du buffer d’un VTL et ainsi de ne pas ralentir la sauvegarde. Ils ont également programmé des tâches sur la semaine au lieu de sur un temps restreint. De cette façon, les tâches programmées limitent le nombre de disques à deux qu’un groupe de protection peut utiliser. Ils ont aussi réorganisé leurs groupes de protection afin de ne plus avoir de grands volumes de données à sauvegarder. Ces changements leur ont permis d’optimiser les performances de Tape Gateway et de répondre à leurs contraintes de sauvegarde.

Statistiques clés :

  • Moyenne de données transférées par semaine vers AWS en utilisant Tape Gateway : 53 To
  • Temps moyen de transfert de VTL vers AWS par passerelle : 125 Mo/s
  • Vitesse moyenne de l’application de DPM vers VTL par tâche : 225 Mo/s
  • Temps de récupération moyen : Dépend de la taille de la bande, la récupération prend entre 3 et 5 heures

La solution de reprise après sinistre de Formula One avec AWS DataSync

Formula One utilise Tape Gateway comme remplaçant de leur solution d’archivage pour leurs bandes physiques. Leur objectif est de sauvegarder les données des courses et des utilisateurs sur des bandes. Ils souhaitaient également une solution pour sauvegarder certains types de données qui nécessitent d’être récupérées rapidement tout en optimisant leurs coûts. Pour l’archivage des vidéos, ils ont décidé d’utiliser AWS DataSync pour synchroniser les vidéos brutes de leur propre stockage NFS vers Amazon S3. AWS DataSync est un service de transfert de données qui simplifie, automatise et accélère le déplacement de données entre des systèmes de stockage sur site et des services de stockage AWS, mais aussi entre les services de stockage AWS. Avant d’utiliser AWS, Formula One faisait une sauvegarde des bandes et les envoyait vers un autre site de stockage comme ils faisaient avec le reste des bandes de Formula One.

Voici les différents défis que Formula One a rencontré avec l’archivage des vidéos avant d’utiliser AWS :

  • Stockage des bandes sur un site tierce : Être capable de sauvegarder les vidéos hors site.
  • Fiabilité : Être confiant sur le processus de récupération des données.
  • Vitesse : Être capable de récupérer les données rapidement et de donner accès aux enregistrements vidéos aux utilisateurs.

Solution AWS pour sauvegarder les archives vidéo

Formula One a choisi AWS DataSync car le service offre la possibilité de synchroniser leurs données actuelles (un total de 400 To) avec Amazon S3 tout en gardant le contrôle de ces données et synchroniser les nouvelles données de façon continue. Formula One a aussi mis en place File Gateway pointant vers le bucket S3 (compartiment en français) qui contient les enregistrements vidéos. Cette configuration leur permet de donner accès à leurs utilisateurs finaux via un dossier qu’ils peuvent mapper sur n’importe quel appareil dans leurs locaux. En utilisant DataSync couplée avec File Gateway, ils ont permis aux utilisateurs finaux d’avoir un accès direct aux vidéos brutes dans le cas d’une panne sur site.

Please import ‘image.png’ image into WordPressLes paramètres et configurations proposés par DataSync permettent de contrôler quand et combien de données Formula One souhaite synchroniser sans se préoccuper des autres tâches. En effet, les utilisateurs accèdent au stockage NFS on-premises pendant leur journée de travail pour d’autres tâches alors qu’avant, Formula One devait ajuster la bande passante plusieurs fois pour satisfaire ces besoins. A la fin, Formula a migré 400 To de données en trois mois.

Statistiques clés :

  • Quantité de données transférées entre les bureaux de Formula One et AWS : 400 To sur 3 mois, environ 4 et 4,5 To par jour
  • Sécurité : Les données sont chiffrées au repos dans le bucket S3 et l’accès aux données par DataSync est limité aux administrateurs en utilisant les permissions IAM.
  • Accès : Les utilisateurs sur site peuvent accéder presque immédiatement aux données sur le cloud lors d’une panne sur site

Conclusion

Dans cet article, nous avons discuté de l’utilisation par Formula One des services AWS DataSync et AWS Storage Gateway pour offrir une solution de récupération après sinistre pour différents types de données. Avec AWS DataSync, ils ont mis en place une solution de reprise après sinistre en synchronisant les données sur site avec Amazon S3 induisant une synchronisation moyenne de 4 To par jour. Ils ont utilisé le chiffrement lors du transfert du stockage de leurs données. Ils ont également illustré l’utilisation de File Gateway afin de donner l’accès aux données à leurs utilisateurs quand ils ne sont pas sur le réseau de course et quand ces données ne sont pas disponibles lors d’une panne sur site.

Avec AWS Storage Gateway, ils ont réussi à déplacer leurs sauvegardes de bande vers le cloud ce qui leur a permis d’améliorer la gestion de leurs bandes et les tâches de sauvegardes associées. Encore plus important, ils ont réduit le nombre de kits physiques gardés en support en plus de limiter le besoin d’utiliser le centre de stockage tiers. Grâce à AWS Storage Gateway, la création de bandes  a été automatisée ainsi que l’ajout et la suppression de leurs bandes dans leur bibliothèque de bandes physiques. La solution implémentée a libéré du temps à leurs équipes informatiques pour maintenant pouvoir se concentrer sur les tickets des utilisateurs les plus importants. En plus de l’automatisation de la gestion de leurs bandes, ils ont réduit le temps de récupération de 5-7 jours à seulement 1 jour.

Dernière chose, vous pouvez lire d’autres articles sur comment Formula One utilise AWS pour accélérer sa transformation cloud et a créé la solution FORMULA1 Insights :

Le contenu et les opinions de cet article sont ceux de l’auteur tiers et AWS n’est pas responsable du contenu ou de l’exactitude de cet article.

Article original par Martynas Juras. Traduit de l’anglais par Lydia Khalfoun, Associate Solutions Architect accompagnant les clients français dans leur transformation digitale et leur adoption du cloud.