L'Internet Computer est une plateforme de calcul sécurisée qui permet aux développeurs de lancer rapidement des applications décentralisées puissantes sans être soumis à l'oligopole des fournisseurs de cloud. Considérez l'ICP comme un protocole de calcul IP - ce qu'il est pour le calcul, l'Internet Protocol l'est pour la communication.
Aujourd'hui, près de 800 000 applications sont déployées sur le protocole Internet Computer (ICP), et ce nombre augmente chaque jour. Offrir une expérience développeur de premier ordre et fournir aux développeurs des outils et des informations pour les aider à réussir est la priorité de l'équipe de recherche et développement de DFINITY.
Avec le lancement de la réalisation de Beryllium, DFINITY a apporté de meilleures et plus efficaces fonctionnalités DevOps à l'ICP.
Beryllium - Niveau supérieur
La réalisation de Beryllium comprend de nombreuses fonctionnalités dans le domaine du DevOps - le DevOps vise à raccourcir les cycles de développement, à augmenter la fréquence des déploiements et à livrer des logiciels de haute qualité de manière plus prévisible et durable.
Cette réalisation offre une simplification et une amélioration substantielles du cycle de vie des développeurs de conteneurs, en particulier en ce qui concerne leur développement et leur exploitation. La fonctionnalité d'instantané, l'infrastructure de journalisation robuste et l'amélioration du traitement des erreurs fournissent aux développeurs de nouveaux outils et exemples pour enrichir leur bibliothèque de débogage.
Instantanés des conteneurs
Dans des environnements où des cycles de développement et d'itération rapides sont nécessaires, chaque déploiement est une opportunité de succès ou d'échec. Ceux qui maîtrisent les pratiques de l'intégration continue et du déploiement continu vous diront à quel point il est important de pouvoir récupérer rapidement des pannes ; chaque seconde d'arrêt équivaut à une perte d'argent.
Les applications déployées sur l'ICP nécessitent un accès à des mécanismes de récupération sécurisés, résilients et rapides, afin que les développeurs puissent déployer rapidement et avec plus de confiance. En introduisant les instantanés des conteneurs dans l'Internet Computer, les développeurs peuvent prendre des instantanés de leurs applications (y compris toutes leurs données), puis procéder à des mises à jour sans craindre une perte de données irréversible, ce qui est significatif pour les développeurs ayant des exigences élevées en matière de sécurité des données ou de SLA.
Le mécanisme de base est que des instantanés peuvent être pris des conteneurs (par exemple, à l'aide d'outils comme dfx), et cet instantané sera stocké en toute sécurité sur la chaîne ; ensuite, si une nouvelle version défectueuse est déployée par mise à niveau, ce conteneur peut être restauré à l'instantané pris en quelques secondes.
Combiné avec les utilitaires utilisés pour surveiller les applications sur l'ICP, cette fonctionnalité permet aux développeurs de mener des expériences, de réaliser des tests A/B et d'offrir des SLA plus stricts aux clients avec plus de confiance. L'équipe de recherche et développement de DFINITY attend avec impatience de voir comment les développeurs tireront parti des instantanés de manière créative tout au long du cycle de vie du développement d'applications.
Journaux des conteneurs
Lors du débogage des problèmes, la plupart des développeurs vous diront de commencer par les journaux ; tout système logiciel (qu'il s'agisse d'un système d'exploitation, d'une application Web, d'un firmware ou de tout ce qui se trouve entre les deux) émet des journaux comme partie intégrante de son fonctionnement, les journaux peuvent fournir un aperçu des événements qui se produisent avant et après qu'une erreur se soit produite, aidant les développeurs à diagnostiquer la cause profonde et à proposer des solutions.
Le point le plus critique de la capture des journaux peut être considéré comme se produisant après qu'une erreur se soit produite. Grâce à la fonctionnalité de journalisation des conteneurs de l'ICP, les développeurs peuvent désormais accéder au journal d'erreurs complet généré par le système lors de la survenance d'un piège, ce qui permet aux développeurs de mieux comprendre le fonctionnement de leurs conteneurs (si vous le souhaitez, vous pouvez jeter un coup d'œil derrière le rideau), ce qui leur permet de dépanner rapidement et de faire face aux pannes d'application.
En plus de capturer les pièges, les développeurs peuvent également tirer parti de la journalisation des conteneurs pour capturer tous les messages de journal émis par le code d'application s'exécutant dans l'environnement de production, les développeurs peuvent insérer des messages de journal où ils le souhaitent, pour des cas d'utilisation autres que le débogage, et entrer dans le domaine de l'amélioration de l'expérience utilisateur.
Bien que la fonctionnalité de journalisation des conteneurs introduite dans la réalisation de Beryllium soit très puissante, elle en est encore à ses débuts, et de nombreuses améliorations et extensions sont à venir, DFINITY restant résolument engagé à offrir une expérience de journalisation de premier ordre aux développeurs basés sur l'ICP.
Retour en arrière, erreurs et codes de réponse standardisés
Bien que les journaux soient un bon point de départ dans le processus de débogage, ils ne fournissent qu'un aperçu de l'erreur du système ; pour que les développeurs comprennent exactement ce qui s'est mal passé lorsque des événements tels qu'un plantage se produisent, ils ont besoin de plus d'informations.
Les conteneurs exécutés sur l'ICP peuvent désormais afficher la trace des fonctions appelées sur la pile avant le plantage, cette information étant intégrée de manière transparente au mécanisme de journalisation des erreurs décrit précédemment - lors de la récupération des journaux de production, les développeurs verront également automatiquement les informations de retour en arrière.
Le débogage n'est pas tout, les développeurs doivent également être capables de réagir activement aux erreurs en construisant une logique spécifique dans leurs applications pour gérer correctement les situations d'erreur potentielles, par exemple, afficher un écran d'erreur informatif, essayer de récupérer automatiquement ou guider l'utilisateur à réessayer avec des entrées différentes. Pour ce faire, les développeurs doivent inclure des informations d'erreur plus granulaires dans les réponses renvoyées par le réseau.
DFINITY a passé beaucoup de temps à examiner toutes les erreurs possibles et à s'efforcer de standardiser les codes de réponse autant que possible, de sorte que les erreurs renvoyées par le réseau puissent être mieux comprises et prédites, permettant aux développeurs de construire des dégradations élégantes avec plus de confiance dans le "chemin triste" de leurs flux de travail d'application.
En plus de standardiser les codes de réponse, les erreurs sont désormais accompagnées de liens vers des documents utiles, permettant aux développeurs qui rencontrent des erreurs au cours du développement de comprendre rapidement pourquoi l'erreur s'est produite et comment la corriger.
Conclusion
Aucun système logiciel n'est parfait, et des erreurs se produiront inévitablement. La réalisation de Beryllium marque l'engagement de l'ICP à aider les développeurs à récupérer plus rapidement et à avancer, avec la capacité de prendre des instantanés des conteneurs en cours d'exécution, permettant des mises à jour en toute confiance, car nous savons que si les choses ne se déroulent pas comme prévu, le système peut revenir en arrière.
La capacité de journalisation, combinée à des informations de retour en arrière, permet d'obtenir un aperçu des raisons pour lesquelles une erreur s'est produite, y compris le numéro de ligne exact dans le code source où l'erreur s'est produite. Les codes de réponse standardisés fournissent un outil cohérent pour traiter les innombrables scénarios de résultats que les conteneurs peuvent renvoyer lors de l'exécution d'opérations.
Ces améliorations renforcent la mission de l'ICP de créer une plateforme fiable et conviviale pour les applications décentralisées, permettant aux développeurs de mieux innover en toute confiance.
Le contenu IC qui vous intéresse
Avancées technologiques | Informations sur le projet | Événements mondiaux
Suivez le canal IC de Binance
Restez informé