Qu'est-ce que le calcul ?
Dans le cloud computing, le terme « calcul » décrit les concepts et les objets liés au calcul logiciel. Il s'agit d'un terme générique utilisé pour faire référence à la puissance de traitement, à la mémoire, aux réseaux, au stockage et aux autres ressources nécessaires à la réussite informatique de tout programme.
Par exemple, les applications qui exécutent des algorithmes de machine learning ou des fonctions de rendu graphique en 3D nécessitent plusieurs gigaoctets de RAM et plusieurs processeurs pour s’exécuter correctement. Dans ce cas, les processeurs, la mémoire vive et les unités de traitement graphique requises seront appelés ressources de calcul, tandis que les applications seront des applications à forte intensité de calcul.
Examinons quelques FAQ sur le calcul pour comprendre le terme dans le contexte de l'informatique moderne.
Que sont les ressources de calcul ?
Les ressources de calcul sont des quantités mesurables de puissance de calcul qui peuvent être demandées, allouées et consommées pour des activités informatiques. Voici quelques exemples de ressources de calcul :
Processeur
L'unité centrale de traitement (UC) est le cerveau de tout ordinateur. Le processeur est mesuré en unités appelées millicores. Les développeurs d'applications peuvent spécifier le nombre de processeurs alloués nécessaires à l'exécution de leur application et au traitement des données.
Mémoire
La mémoire se mesure en octets. Les applications peuvent adresser des demandes de mémoire qui sont nécessaires pour fonctionner efficacement.
Si les applications sont exécutées sur un seul appareil physique, elles ont un accès limité aux ressources de calcul de cet appareil. Cependant, si les applications sont exécutées dans le cloud, elles peuvent accéder simultanément à davantage de ressources de traitement provenant de nombreux appareils physiques. Voyons cela plus en détail.
Qu'est-ce que le cloud computing ?
Le cloud computing est un terme générique qui désigne tout ce qui implique la fourniture de ressources informatiques sur Internet. Les utilisateurs peuvent accéder à de grandes quantités de puissance de calcul à la demande. Ils peuvent acheter à la minute ou à l'heure et utiliser la quantité requise pour leurs activités informatiques.
L'histoire du cloud computing
Traditionnellement, les applications web étaient hébergées sur des serveurs physiques fixes. La puissance de calcul requise pour l'application était limitée au serveur sur lequel elle s'exécutait. Les propriétaires de sites web pouvaient acheter plusieurs serveurs ou de l'espace au sein d'un seul serveur, mais ils devaient payer un prix fixe, indépendamment de l'utilisation. Ils devaient également gérer et entretenir leur propre infrastructure de serveurs informatiques.
Aujourd'hui, les applications peuvent utiliser les ressources informatiques de nombreux appareils physiques différents avec une grande flexibilité. Les fournisseurs cloud disposent de vastes groupes de ressources de calcul, comprenant à la fois des serveurs et des centres de données physiques. Les entreprises peuvent héberger des applications et accéder à ces ressources informatiques à partir du groupe. Le fournisseur gère et optimise entièrement les ressources afin d'offrir flexibilité, capacité de mise à l'échelle et efficacité aux utilisateurs. Les utilisateurs doivent uniquement se charger de la maintenance de leurs applications, la gestion de l'infrastructure informatique étant assurée par le fournisseur cloud.
Logiciel de comptabilité : un exemple de cloud computing
Prenons l'exemple d'un logiciel de comptabilité. Il y a quelques décennies, les entreprises devaient acheter et installer des logiciels sur leur matériel physique interne. Les capacités logicielles étaient limitées au matériel sous-jacent. Au fil du temps, le système manquait de mémoire ou nécessitait des mises à jour, et un échec d'ordre matériel pouvait entraîner la perte de données métier stratégiques.
Aujourd'hui, les développeurs de logiciels de comptabilité peuvent exécuter des logiciels sur le cloud. Les utilisateurs peuvent y accéder de la même manière qu'ils accèdent à n'importe quel site web, et ils peuvent acheter des forfaits à plusieurs niveaux en fonction de leurs besoins. Les applications logicielles utilisent la puissance de calcul du cloud, et le logiciel lui-même peut être mis à l'échelle en fonction des besoins. Par ailleurs, il n'y a aucune crainte que les clients perdent leurs données.
Que sont les microservices ?
Les microservices, également appelés architecture de microservices, sont un style architectural utilisé pour les applications logicielles structurées comme une collection de services.
Les applications métier sont généralement construites en trois parties principales :
- Une interface utilisateur côté client (une application ou une page HTML qui s'exécute sur l'appareil d'un utilisateur final)
- Une base de données (qui stocke les données de l'application)
- Une application côté serveur (qui définit le fonctionnement fonctionnel et logique de l'opération)
Ce style d'architecture monolithe est peu flexible et difficile à modifier. De petites modifications dans une partie du système nécessitent le redéploiement de l'ensemble du monolithe.
D'autre part, l'architecture de microservices conçoit l'application comme une collection de services fonctionnels avec une gestion décentralisée. Un microservice tente de répondre à une préoccupation unique, telle qu'une recherche de données, une fonction de journalisation ou une fonction de service web. Ces microservices peuvent être déployés indépendamment, utiliser leurs propres ressources de calcul et communiquer entre eux.
Par exemple, une application d'actualités pourrait se composer de microservices indépendants comme les sports, la criminalité, les actualités internationales, etc. Chaque microservice gère sa propre extraction et son propre tri du contenu. Ils peuvent également être augmentés ou réduits selon les besoins. À l'occasion d'un événement sportif majeur, le microservice relatif au sport utilisera une puissance de traitement supplémentaire, mais sera réduit à la fin de l'événement.
Que sont les machines virtuelles ?
Les machines virtuelles sont les éléments de base qui permettent d'obtenir la puissance de calcul du cloud. Une machine virtuelle est un logiciel qui peut exécuter toutes les mêmes fonctions qu'un ordinateur physique, y compris l'exécution d'applications et de systèmes d'exploitation. Il s'agit de la version numérique d'un ordinateur physique. Les machines virtuelles peuvent exécuter des programmes et des systèmes d'exploitation, stocker des données, se connecter à des réseaux et remplir d'autres fonctions informatiques. Ils peuvent également nécessiter une maintenance, telle que des mises à jour et une surveillance du système.
Une machine virtuelle peut fonctionner sur de nombreuses machines physiques sous-jacentes, ce qui donne aux applications la puissance de calcul nécessaire à leur bon fonctionnement. Le cloud computing donne aux utilisateurs la possibilité de déployer et de mettre à l'échelle les machines virtuelles à la demande. Il offre des ressources de calcul garanties dans un environnement sécurisé et isolé, sans les frais généraux imputables à la gestion de serveurs physiques.
Qu'est-ce qu'une instance Amazon EC2 ?
Dans les services AWS Compute, les machines virtuelles sont appelées instances. AWS EC2 propose plusieurs types d'instance avec différentes configurations de processeur, de mémoire, de stockage et de ressources de réseaux afin qu'un utilisateur puisse adapter ses ressources de calcul aux besoins de son application.
Il existe cinq types d'instance :
Instances polyvalentes
Les instances polyvalentes assurent l'équilibre entre les ressources informatiques, la mémoire et les ressources de réseaux. Elles peuvent aussi être utilisées pour un certain nombre de charges de travail diverses. Ces instances sont idéales pour les applications qui utilisent ces ressources en proportions égales, à l'instar des serveurs web et des référentiels de code.
Instances de calcul optimisé
Les instances de calcul optimisé sont utilisées pour exécuter des applications de calcul à hautes performances qui nécessitent des performances réseau rapides, une disponibilité étendue et un nombre élevé d'opérations d'entrée/sortie (I/O) par seconde. La modélisation et la simulation scientifiques et financières, le big data, l'entreposage de données d'entreprise et la Business Intelligence (BI) sont des exemples de ce type d'application.
Instances de calcul accéléré
Les instances de calcul accéléré utilisent des accélérateurs matériels aussi appelés coprocesseurs pour accomplir plus efficacement que les logiciels s'exécutant sur des processeurs, des fonctions comme les calculs des nombres à virgule flottante, le traitement graphique ou la mise en correspondance des modèles de données.
Instances de mémoire optimisée
Les instances de mémoire optimisée utilisent une infrastructure de disques SSD (Solid-State Drive) à haut débit pour fournir un accès ultrarapide aux données et proposer des performances élevées. Ces instances sont idéales pour les applications qui nécessitent plus de mémoire et moins de puissance du processeur, comme les bases de données open source et l'analytique de big data en temps réel.
Instances de stockage optimisé
Les instances de stockage optimisé sont conçues pour les charges de travail qui nécessitent un accès séquentiel élevé en lecture et en écriture à de très grands ensembles de données sur le stockage local. Elles sont optimisées pour fournir aux applications des dizaines de milliers d'opérations d'I/O aléatoires à faible temps de latence par seconde (IOPS).
Qu'est-ce qu'un conteneur ?
Avant d'être mis sur le marché, un logiciel doit être testé, mis en paquet et installé. Le déploiement de logiciels désigne le processus de préparation d'une application en vue de son exécution sur un système informatique ou un appareil.
Docker est un outil utilisé par les développeurs en vue de déployer des logiciels. Il fournit un moyen standard de mettre le code d'une application en paquet et de l'exécuter sur n'importe quel système. Il combine le code logiciel et ses dépendances à l'intérieur d'un conteneur. Les conteneurs (ou images Docker) peuvent ensuite être exécutés sur n'importe quelle plateforme via un moteur Docker. Amazon Elastic Container Service (ECS) est un service de gestion de conteneurs à hautes performances hautement évolutif qui prend en charge les conteneurs Docker et vous permet d'exécuter en toute simplicité des applications sur un cluster géré d'instances Amazon EC2. Il garantit des déploiements rapides, fiables et cohérents, quel que soit l'environnement.
Une application de réservation hospitalière : un exemple de Docker
Par exemple, un hôpital souhaite créer une application de prise de rendez-vous. Les utilisateurs finaux peuvent utiliser l'application sur Android, iOS, Windows, MacBook, ou via le site web de l'hôpital. Si le code était déployé séparément sur chaque plateforme, sa maintenance serait compliquée. Au lieu de cela, Docker pourrait être utilisé pour créer un conteneur universel unique de l'application de réservation. Ce conteneur peut fonctionner partout, y compris sur des plateformes informatiques comme AWS.
Qu'est-ce que le calcul sans serveur avec Cloud AWS ?
Le calcul sans serveur désigne le développement d'applications avec une infrastructure de serveurs sous-jacente gérée de manière externe. Les services sans serveur tels que AWS Lambda sont fournis avec une évolutivité automatique, une haute disponibilité intégrée et un modèle de facturation basé sur la valeur.
Le calcul sans serveur est une façon de décrire les services, les pratiques et les stratégies qui permettent aux entreprises de développement de logiciels d'innover et de répondre au changement plus rapidement. Les équipes peuvent publier des applications rapidement, obtenir des retours d'information et améliorer leurs logiciels en éliminant les frais généraux opérationnels.
Par exemple, une start-up technologique crée une application permettant de rechercher et de filtrer les cours universitaires. Pour le lancement, l'entreprise peut opter pour le sans serveur et se concentrer sur le perfectionnement de l'expérience utilisateur et des systèmes. En s'appuyant sur une infrastructure matérielle entièrement gérée, elle peut alors dédier son investissement au marketing.
Qu'est-ce que Elastic Load Balancing pour les ressources de calcul ?
La répartition de charge est le processus de distribution uniforme des ressources informatiques et de la charge de travail dans un environnement de cloud computing. Elle permet de réduire le décalage et de maintenir le temps de traitement, même lorsque l'application est très sollicitée. Les équilibreurs de charge peuvent distribuer intelligemment les demandes des clients sur plusieurs serveurs d'applications qui s'exécutent dans un environnement cloud.
Elastic Load Balancing permet aux utilisateurs d'optimiser les performances et la fiabilité des applications. Il peut répartir automatiquement le trafic entrant d'application sur plusieurs cibles, comme les instances Amazon EC2, les conteneurs, les adresses IP, les fonctions AWS Lambda et les serveurs virtuels. Il peut gérer la charge variable du trafic d'application, réduire les coûts et augmenter ou réduire efficacement l'application en fonction de la demande.
L'e-commerce : un exemple d'Elastic Load Balancing
Par exemple, une boutique d'e-commerce gère une application permettant de trier les meilleures offres du jour. En tant qu'application gourmande en calcul, elle utilise le calcul cloud et la répartition de charge pour gérer la demande. Cela permet d'utiliser automatiquement des ressources de traitement supplémentaires les week-ends, à Noël et lors d'autres pics saisonniers, lorsque la demande est au plus haut. Les autres jours, elle réduit le calcul lorsque la demande ralentit. Sans répartition de charge, la boutique aurait dû payer des tarifs de périodes de pointe, même les jours de faible activité, ce qui aurait réduit ses marges bénéficiaires.
Que sont les services de calcul ?
Les services de calcul sont également appelés infrastructure en tant que service (IaaS). Les plateformes de calcul, comme AWS Compute, fournissent une instance de serveur virtuel et du stockage, ainsi que des API permettant aux utilisateurs de migrer des charges de travail vers une machine virtuelle. Les utilisateurs se voient attribuer une puissance de calcul et peuvent démarrer, arrêter, configurer leurs ressources informatiques et y accéder comme ils le souhaitent.
Comment choisir entre différents services de calcul AWS ?
Le choix de la meilleure infrastructure AWS dépend des exigences, du cycle de vie, de la taille du code, de la demande et des besoins informatiques de votre application. Prenez ces trois exemples :
- Si vous souhaitez déployer une sélection d'instances à la demande offrant un large éventail d'avantages liés aux performances dans votre environnement AWS, vous utiliserez Amazon Elastic Compute Cloud (EC2).
- Si vous souhaitez exécuter des applications compatibles avec Docker mises en paquets en tant que conteneurs sur un cluster d'instances EC2, vous pouvez utiliser Amazon Elastic Container Service (Amazon ECS).
- Si vous souhaitez exécuter votre propre code en utilisant seulement quelques millisecondes de ressource de calcul en réponse à des déclencheurs basés sur des événements dans un environnement sans serveur, vous pouvez utiliser AWS Lambda.
Quels sont les avantages des services AWS Compute ?
Les services AWS Compute offrent les fonctionnalités de calcul les plus larges et les plus diversifiées. Les principaux avantages liés à l'utilisation d'AWS Compute sont les suivants :
Le bon calcul pour vos charges de travail
Amazon EC2 (Amazon Elastic Compute Cloud) offre un contrôle détaillé pour la gestion de l'infrastructure d'application avec le choix des processeurs, du stockage et des réseaux. Amazon Elastic Container Services (Amazon ECS) offre le choix et la flexibilité nécessaires à l'exécution de conteneurs.
Sécurité intégrée
AWS offre plus de fonctions clés et services de sécurité, de conformité et de gouvernance que le premier plus grand fournisseur de cloud concurrent. Grâce à AWS Nitro System, la sécurité est intégrée au niveau de la puce, afin de contrôler, protéger et vérifier en permanence le matériel de l'instance.
Optimisation des coûts
Avec le calcul AWS, vous ne payez que pour l'instance ou la ressource dont vous avez besoin, tant que vous continuez à l'utiliser et ce, sans contrat à long terme ou gestion de licence complexe.
Flexibilité
AWS offre de multiples façons de créer, déployer et commercialiser rapidement des applications. Par exemple, Amazon Lightsail est un service convivial offrant tout ce dont vous avez besoin pour créer une application ou un site web.
Pour déterminer le service AWS Compute le mieux adapté à la croissance de votre entreprise, n'hésitez pas à contacter notre équipe d'experts ou à ouvrir un compte AWS gratuit dès aujourd'hui.
Prochaines étapes sur AWS
Obtenez un accès instantané à l'offre gratuite AWS.
Commencez à créer avec AWS dans la Console de gestion AWS.