(Ampère Computing Series Articles accélérés Cloud Computing, partie 1)
Traditionnellement, le déploiement d'applications Web signifie exécuter de grandes applications monolithiques à l'aide de serveurs basés sur l'architecture x86 dans le centre de données d'entreprise d'une entreprise. Les applications migrantes vers le cloud éliminent la nécessité de trop configurer les centres de données, car les ressources cloud peuvent être allouées en fonction des exigences en temps réel. Dans le même temps, la migration vers le cloud signifie également une transition vers des applications composentisées (également connues sous le nom de microservices). Cette approche permet aux applications de faire évoluer facilement à potentiellement des dizaines de milliers, voire des millions d'utilisateurs.
En utilisant une approche native du cloud, les applications peuvent fonctionner pleinement dans le cloud et profiter des capacités uniques du cloud. Par exemple, en utilisant une architecture distribuée, les développeurs peuvent évoluer de manière transparente en créant plus d'instances de composants d'application au lieu d'exécuter des applications de plus en plus grandes, tout comme l'ajout d'un autre serveur d'applications sans avoir à ajouter une autre base de données. De nombreuses grandes entreprises (comme Netflix, Wikipedia, etc.) ont fait passer l'architecture distribuée au niveau supérieur, divisant les applications en microservices autonomes. Cela simplifie l'échelle de conception, de déploiement et d'équilibrage de charge. Pour plus de détails sur la décomposition des applications monomères, consultez le projet Phoenix et pour les meilleures pratiques dans le développement d'applications natives dans le cloud, consultez les applications de douze éléments.
Le serveur x86 traditionnel est construit sur une architecture commune, qui est principalement utilisée dans les plates-formes informatiques personnelles, et les utilisateurs doivent être en mesure d'exécuter différents types d'applications de bureau simultanément sur un seul processeur. En raison de cette flexibilité, l'architecture x86 permet des fonctionnalités et des capacités avancées qui sont utiles pour les applications de bureau, mais de nombreuses applications cloud ne nécessitent pas ces capacités. Cependant, les entreprises qui exécutent des applications sur le cloud basé sur X86 doivent encore payer ces fonctionnalités, même si elles ne les utilisent pas.
Pour améliorer l'utilisation, le processeur x86 utilise une technologie d'hyperthreading pour permettre à un noyau d'exécuter deux threads. Bien que l'hyperthreading permet une utilisation plus complète de la capacité de base, il peut également permettre à un fil d'affecter les performances d'une autre lorsque les ressources du noyau sont surutilisées. Plus précisément, chaque fois que ces deux threads rivalisent pour la même ressource, cela apporte une latence significative et imprévisible à l'opération. Il est difficile d'optimiser une application lorsque vous ne savez pas (et que vous n'avez aucun contrôle) avec quelle application il partagera le noyau. L'hyperthreading peut être considéré comme essayant de payer des factures et de regarder des matchs de sport en même temps. Le projet de loi prend plus de temps à terminer et vous n'appréciez pas vraiment le jeu. Il est préférable de séparer et d'isoler les tâches en remplissant d'abord le projet de loi, puis de se concentrer sur le jeu, ou d'attribuer les tâches à deux personnes (dont l'une n'est pas un fan de football).
Hyperthreading élargit également la surface d'attaque de sécurité de l'application, car l'application dans un autre thread peut être un logiciel malveillant qui tente d'effectuer des attaques de canaux latéraux. Garder les applications dans différents fils isolés les uns des autres introduit les frais généraux et la latence supplémentaire au niveau du processeur.
Pour améliorer l'efficacité et la simplicité de conception, les développeurs ont besoin de ressources cloud conçues spécifiquement pour traiter efficacement leurs données spécifiques (les données de tout le monde). À cette fin, une plate-forme efficace-cloud-native peut accélérer les types de fonctionnement typiques d'applications natives dans le cloud. Pour améliorer les performances globales, les processeurs natifs cloud fournissent plus de cœurs conçus pour optimiser l'exécution des microservices, plutôt que de créer des noyaux plus grands qui nécessitent un hyperthreading pour exécuter des applications de bureau de plus en plus complexes. Il en résulte une latence plus cohérente et déterministe, prend en charge la mise à l'échelle transparente et évite de nombreux problèmes de sécurité posés par l'hyperthreading, car ils sont naturellement isolés lorsque les applications fonctionnent sur leur propre cœur.
Pour accélérer les applications natives dans le cloud, Ampère a développé des processeurs altra et altra max 64 bits natifs. Offrant une densité sans précédent allant jusqu'à 128 cœurs sur un seul IC, un seul châssis 1U est livré avec deux emplacements pouvant accueillir jusqu'à 256 cœurs dans un seul rack.
Ampère altra et ampères altra max Les noyaux sont conçus autour de l'architecture d'instructions ARM (ISA). Bien que l'architecture x86 ait été conçue à l'origine pour les ordinateurs de bureau à usage général, ARM a évolué à partir de la tradition des applications intégrées où le comportement déterministe et l'efficacité énergétique sont plus préoccupés. À partir de cette base, les processeurs Ampère sont conçus pour des applications où la consommation d'énergie et la densité centrale sont des considérations de conception importantes. Dans l'ensemble, les processeurs Ampère fournissent une base extrêmement efficace pour de nombreuses applications natives dans le cloud, permettant des performances élevées, une réactivité prévisible et cohérente et une efficacité de puissance plus élevée.
Pour les développeurs, le fait que les processeurs AMPERE implémentent ARM ISA signifie qu'il existe déjà un large écosystème de logiciels et d'outillage pour le développement. Dans la deuxième partie de cette série, nous couvrirons la façon dont les développeurs peuvent migrer de manière transparente les applications existantes vers la plate-forme native Ampère Cloud fournie par les CSP de premier plan pour commencer à accélérer leurs opérations cloud immédiatement.
Un avantage clé de l'exécution sur les plates-formes natives du cloud est la latence plus faible, ce qui entraîne des performances plus cohérentes et prévisibles. Par exemple, l'approche microservice est fondamentalement différente des applications de cloud monomère actuelles. Par conséquent, il n'est pas surprenant qu'une approche fondamentalement différente soit nécessaire pour l'optimisation de la qualité du service et de l'efficacité d'utilisation.
Les microservices décomposent de grandes tâches en composants plus petits. L'avantage est que parce que les microservices peuvent être spécialisés, ils peuvent fournir une efficacité plus élevée, comme la réalisation d'une utilisation plus élevée du cache entre les opérations que des applications monolithiques plus générales qui tentent d'accomplir toutes les tâches nécessaires. Cependant, même si les microservices utilisent généralement moins de ressources de calcul par composant, les exigences de latence par couche sont beaucoup plus strictes que les applications cloud typiques. En d'autres termes, chaque microservice n'obtient qu'une petite partie du budget de latence qui peut être utilisé pour l'application complète.
la latence prévisible et cohérente est essentielle dans une perspective d'optimisation, car la latence la pire des cas est lorsque la réactivité de chaque microservice varie autant que l'architecture x86 hyperthread. La bonne nouvelle est que cela signifie également que même une petite quantité d'améliorations de la latence des microservices peut entraîner des améliorations significatives.
La figure 1 illustre les avantages de performance de l'exécution d'une application cloud typique sur une plate-forme native cloud comme Ampère Altra Max par rapport à Intel Icelake et AMD Milan. Ampère Altra Max fournit non seulement des performances plus élevées, mais aussi une efficacité de performances / watts plus élevée. Le chiffre montre également comment Ampère Altra Max a un avantage sur Intel Icelake (13%) pour fournir les performances stables requises pour les applications natives dans le cloud.
Figure 1: Les plates-formes natives de Cloud telles que Ampère Altra Max offrent des performances supérieures, une efficacité énergétique et une latence par rapport à Intel Icelake et AMD Milan.
Même si les CSP gèrent la consommation d'énergie de leurs centres de données, de nombreux développeurs sont conscients de la préoccupation croissante du public et des parties prenantes de l'entreprise comment les entreprises résolvent les problèmes de durabilité. En 2022, les centres de données cloud sont estimés à 80% de la consommation d'énergie totale des centres de données1. Selon les données de 2019, la consommation d'énergie dans les centres de données devrait doubler d'ici 2030.
Il est évident que la durabilité est cruciale pour le développement à long terme du cloud, et l'industrie du cloud doit commencer à adopter des technologies énergétiques plus efficaces. La réduction de la consommation d'énergie réduira également les coûts d'exploitation. Dans tous les cas, les entreprises qui ont été les premières à réduire leur empreinte carbone seront préparées lorsque de telles mesures deviendront obligatoires.
Tableau 1: Avantages du traitement natif du cloud Utilisation de la plate-forme native du cloud Ampère par rapport aux nuages x86 traditionnels.
Les technologies natives cloud telles que AMPERE permettent aux CSP de continuer à augmenter la densité informatique dans les centres de données (voir tableau 1). Pendant ce temps, les plates-formes natives cloud offrent des avantages sociaux / prix / puissance convaincants, permettant aux développeurs de réduire les coûts d'exploitation quotidiens tout en améliorant les performances.
Dans la deuxième partie de cette série, nous détaillerons ce dont vous avez besoin pour redéployer les applications existantes sur une plate-forme native du cloud et accélérer vos opérations.
Veuillez consulter le Centre des développeurs informatiques Ampère pour le contenu plus pertinent et les dernières nouvelles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!