[SEO Subhead]
Important : afin d’appliquer ces conseils, il est nécessaire d’utiliser AWS CodeCommit, qui n’est plus disponible pour les nouveaux clients. Les clients existants d’AWS CodeCommit peuvent suivre ces conseils normalement.
Ce guide décrit la création et l’exécution des flux de travail bioinformatiques professionnels à grande échelle. L’utilisation des services AWS pour l’automatisation, l’analyse des flux de travail, le stockage ainsi que l’observabilité opérationnelle et des coûts vous permet de suivre les bonnes pratiques DevOps afin de gérer le cycle de vie de vos flux de travail bioinformatiques. Vous pouvez utiliser cette architecture comme socle de votre propre infrastructure et mettre à jour certains aspects si nécessaire afin de l’intégrer à votre environnement et de répondre à vos besoins.
Veuillez noter : [Clause de non-responsabilité]
Diagramme d’architecture
[Description du schéma d’architecture]
Étape 1
Transférez les données de séquences vers Amazon Simple Storage Service (Amazon S3) à l’aide d’AWS DataSync. Si les données sont au format FASTQ, elles peuvent être importées dans un magasin de séquences dans AWS HealthOmics (successeur d’Amazon Omics) afin de réduire les coûts.
Étape 2
HealthOmics exécute des flux de travail bioinformatiques dans des langages tels que Workflow Description Language (WDL), Nextflow ou Common Workflow Language (CWL) aux fins d’analyse des données brutes. Ces flux de travail peuvent être créés en mode privé ou Ready2Run (hébergé par HealthOmics).
Les outils exécutés dans les flux de travail sont stockés sous forme d’images Docker dans Amazon Elastic Container Registry (Amazon ECR). Les résultats des flux de travail sont chargés dans Amazon S3.
Étape 3
HealthOmics publie les journaux des moteurs de flux de travail, les journaux de tâches et les journaux d’exécution de flux de travail dans Amazon CloudWatch à des fins de dépannage et de surveillance.
Étape 4
HealthOmics publie des événements à l’aide d’Amazon EventBridge, qui peut automatiser les actions en aval, telles que l’utilisation des fonctions AWS Lambda pour lancer davantage de flux de travail bioinformatiques ou la notification aux utilisateurs ou aux groupes des défaillances des flux de travail à l’aide d’Amazon Simple Notification Service (Amazon SNS).
Étape 5
Les métadonnées utiles des flux de travail HealthOmics, telles que l’ID d’exécution des flux de travail, les balises, l’ID d’exemple et l’emplacement des fichiers de sortie des flux de travail, peuvent être suivies dans les tableaux Amazon DynamoDB. Un robot AWS Glue ingère ces données dans le catalogue de données AWS Glue, qui peut être interrogé à l’aide d’Amazon Athena.
Étape 6
Les développeurs de flux de travail et les bioinformaticiens peuvent effectuer des itérations sur des flux de travail nouveaux et existants et maintenir le contrôle des versions grâce à l’intégration et à la diffusion continues avec AWS CodeCommit. AWS CodePipeline peut être utilisé pour invoquer une tâche AWS CodeBuild afin d’automatiser la création de nouveaux flux de travail dans HealthOmics.
Étape 7
Le service Rapport d’utilisation et de coût AWS (AWS CUR) facilite la surveillance des coûts. Ce service peut être configuré afin de créer des rapports et de les charger dans un compartiment Amazon S3. Un robot AWS Glue est configuré pour ingérer ces données dans le catalogue de données AWS Glue, qui peut être interrogé à l’aide d’Amazon Athena pour obtenir des informations sur les coûts.
Piliers AWS Well-Architected
Le cadre AWS Well-Architected vous permet de comprendre les avantages et les inconvénients des décisions que vous prenez lors de la création de systèmes dans le cloud. Les six piliers du cadre vous permettent d'apprendre les bonnes pratiques architecturales pour concevoir et exploiter des systèmes fiables, sécurisés, efficaces, rentables et durables. Grâce à l'outil AWS Well-Architected Tool, disponible gratuitement dans la console de gestion AWS, vous pouvez examiner vos charges de travail par rapport à ces bonnes pratiques en répondant à une série de questions pour chaque pilier.
Le diagramme d'architecture ci-dessus est un exemple de solution créée en tenant compte des bonnes pratiques Well-Architected. Pour être totalement conforme à Well-Architected, vous devez suivre autant de bonnes pratiques Well-Architected que possible.
-
Excellence opérationnelle
Ce guide utilise AWS CodeCommit, AWS CodeBuild et AWS CodePipeline pour créer un contrôle de versions et automatiser la génération et le déploiement du code source de vos flux de travail bioinformatiques. DynamoDB vous permet également de suivre les fichiers de sortie de HealthOmics et d’exécuter des métadonnées. Ce guide utilise les bonnes pratiques DevOps pour gérer le code de vos flux de travail et vous donner une visibilité sur les métadonnées d’exécution des flux de travail. Par conséquent, vous pouvez apporter des modifications incrémentielles afin d’obtenir des résultats précis. Grâce au suivi des métadonnées d’exécution des flux de travail, vous pouvez facilement trouver l’état d’exécution des flux de travail et les fichiers de sortie pertinents à des fins de rapports en aval ou d’analyses scientifiques.
-
Sécurité
Ce guide fournit le chiffrement au repos à l’aide d’AWS Key Management Service (AWS KMS) et le chiffrement en transit pour tout le trafic réseau au moyen de DataSync. En outre, la gestion des identités et des accès (IAM) fournit un contrôle d’accès précis aux données potentiellement sensibles afin que seuls les utilisateurs autorisés puissent effectuer des actions spécifiques pour les traiter et les analyser.
-
Fiabilité
Ce guide vous montre comment orchestrer des flux de travail bioinformatiques gourmands en calcul à grande échelle à l’aide de HealthOmics. Ce service comporte des quotas de services, tels que le nombre de processeurs virtuels, afin d’éviter tout surprovisionnement accidentel. En outre, Amazon S3 et DynamoDB offrent une haute disponibilité grâce à la sauvegarde intégrée. Ce guide utilise également EventBridge pour recueillir les événements, tels que les pannes. Par ailleurs, Amazon SNS peut fournir des notifications en temps réel en réponse afin que vous puissiez prendre les mesures appropriées. Vous pouvez examiner rapidement les événements à l’aide d’Amazon CloudWatch, qui fournit des journaux détaillés pour vous donner une visibilité sur vos flux de travail HealthOmics et les outils sous-jacents.
-
Efficacité des performances
Ce guide vous permet d’exécuter des flux de travail simultanés avec différentes configurations de processeur et de mémoire pour des tâches spécifiques. Vous pouvez demander des ressources en spécifiant la quantité de processeur, de mémoire et de stockage dont vous avez besoin, et HealthOmics fournit l’infrastructure appropriée. Cela vous permet d’effectuer une mise à l’échelle en fonction des besoins de votre entreprise avec les bonnes ressources.
-
Optimisation des coûts
Ce guide utilise un magasin de séquences HealthOmics, qui vous permet de stocker et de partager des fichiers de données génomiques à l’échelle du pétaoctet de manière efficace et à un faible coût par gigabase, offrant des économies supplémentaires par rapport à Amazon S3. En outre, vous pouvez utiliser AWS CUR pour accéder aux informations les plus détaillées sur vos coûts et votre utilisation des services AWS, identifier les domaines à optimiser et comprendre les tendances de votre entreprise en fonction d’attributs tels que les projets, les départements ou les utilisateurs.
-
Durabilité
Ce guide utilise des services gérés et sans serveur qui vous permettent d’éviter de provisionner et de gérer votre propre infrastructure, vous offrant la possibilité de réduire l’impact environnemental de vos projets. HealthOmics fournit des ressources uniquement lorsque vous demandez l’exécution d’un flux de travail, et les décompose une fois l’exécution terminée. De même, Lambda vous permet d’exécuter des tâches plus petites en tant que fonctions sans provisionner vos propres serveurs.
Ressources d'implémentation
Un guide détaillé d'expérimentation et d'utilisation est fourni dans votre compte AWS. Chaque étape de la construction du guide, y compris le déploiement, l'utilisation et le nettoyage, est examinée pour le préparer au déploiement.
L'exemple de code est un point de départ. Il s'agit d'un document validé par l'industrie, prescriptif mais non définitif, et d'un aperçu pour vous aider à commencer.
Contenu connexe
Conception d’une architecture pilotée par les événements pour les flux de travail bioinformatiques à l’aide d’AWS HealthOmics et d’Amazon EventBridge
Conseils pour un maillage de données de laboratoire sur AWS
Guide pour la migration et le stockage des données de séquences au moyen d’AWS HealthOmics
Analyse multimodale des données avec AWS Health et les services de machine learning
Sécurisez vos flux de travail et vos données génomiques avec AWS HealthOmics
Avis de non-responsabilité
Les exemples de code, les bibliothèques de logiciels, les outils de ligne de commande, les preuves de concept, les modèles ou toute autre technologie connexe (y compris tout ce qui précède qui est fourni par notre personnel) vous sont fournis en tant que contenu AWS en vertu du contrat client AWS ou de l'accord écrit pertinent entre vous et AWS (selon le cas). Vous ne devez pas utiliser ce contenu AWS dans vos comptes de production, ni sur des données de production ou autres données critiques. Vous êtes responsable des tests, de la sécurisation et de l'optimisation du contenu AWS, tel que les exemples de code, comme il convient pour une utilisation en production, en fonction de vos pratiques et normes de contrôle de qualité spécifiques. Le déploiement de contenu AWS peut entraîner des frais AWS pour la création ou l'utilisation de ressources payantes AWS, telles que l'exécution d'instances Amazon EC2 ou l'utilisation du stockage Amazon S3.
Les références à des services ou organisations tiers dans ce guide n'impliquent pas une approbation, un parrainage ou une affiliation entre Amazon ou AWS et le tiers. Les conseils fournis par AWS constituent un point de départ technique, et vous pouvez personnaliser votre intégration avec des services tiers lorsque vous déployez l'architecture.