Cet article explique comment PancakeSwap est devenu l'un des plus grands DEX au monde grâce à sa haute disponibilité, à son expérience utilisateur améliorée et à son cœur de mise à l'échelle automatique.
PancakeSwap est un échange décentralisé (DEX) lancé sur la Binance Smart Chain (BSC) en septembre 2020. Il est devenu l'un des principaux DEX du BSC et a gagné en popularité en raison des frais de gaz élevés liés à Ethereum lors de son lancement.
Cette plateforme est rapidement devenue célèbre grâce à des frais peu élevés, à un échange de transactions rapide, à une offre diversifiée de jetons, à une interface conviviale, à un marketing intelligent et à un support centré sur le client. À mesure que le nombre d'utilisateurs de ce DEX et du pool de liquidités augmentaient, l'ensemble de la plateforme était considéré comme plus fiable, plus sécurisé et plus stable. Voici la boucle de feedback positive dont rêvent tout projet Defi !
L'attention positive de Binance, l'organisation d'événements cryptographiques tels que IFO, et même la simple activité quotidienne des utilisateurs ont commencé à remettre en question et à dépasser les limites de charge de trafic. Dans le même temps, la simple augmentation de la quantité de serveurs (surapprovisionnement) n'a pas beaucoup changé la situation, car les ressources gigantesques achetées pour couvrir les pics de trafic n'étaient pas utilisées pendant les périodes régulières.
PancakeSwap devrait rester fiable pour ses clients en résolvant ce problème.
Les traders de cryptomonnaies n'attendront pas que votre serveur se remette sur pied après une panne. Ils ouvrent X ou Reddit et lancent un fil de discussion sur 1000 raisons pour lesquelles vous ne devriez pas utiliser telle ou telle plateforme pour trader. C'est ce que chaque DEX veut éviter. Les gens s'inquiètent pour leur argent et il est naturel qu'ils aient les attentes les plus élevées en matière de disponibilité pour les plateformes de trading comme PancakeSwap.
Pour surmonter ce défi, l'équipe Dysnix a utilisé toute son expérience et son intelligence et a mis en œuvre un autoscaler Kubernetes prédictif appelé PredictKube pour prendre en charge PancakeSwap et le rendre plus stable, disponible à tout moment et gérant le trafic. Avec cette implémentation, les ingénieurs ont aidé PancakeSwap utiliser les ressources GCP avec un profit maximal. PredictKube a résolu une pléthore de problèmes courants pour les plateformes de trading et autres projets Web3.
Mise à l'échelle inefficace
PancakeSwap utilisait des solutions populaires avant de rencontrer Dysnix, comme les terminaux publics, mais elles n'étaient pas suffisamment performantes. Tout d'abord, DEX n'a pas pu contrôler et sécuriser ce type de connexion entièrement en raison de la nature des terminaux publics. Deuxièmement, ils n'ont pas résolu le problème qu'ils rencontraient avec les charges de trafic. La mise à l'échelle traditionnelle était confrontée à deux défis principaux :
Il est préférable d'allouer plus de ressources en prévision d'une augmentation du trafic plutôt que de réagir lorsque la hausse se produit déjà. La période d'anticipation doit tenir compte du fait que chaque nouveau nœud met quelques heures à se déployer à l'état normal.
La mise à l'échelle manuelle et automatisée est toujours applicable dans de nombreux cas, mais pas pour la plate-forme DEX comme PancakeSwap. Et c'est pourquoi :
Surprovisionnement
Il s'agit d'un état typique de nombreux projets basés sur le cloud. « De combien d'espace serveur aurai-je besoin le mois prochain ? Si j'en prends trop, il n'y a aucune garantie de remboursement pour éviter cette erreur. Si je n'en prends pas assez, je perdrai mon trafic... », ces pensées vous sont peut-être familières.
La stratégie de surapprovisionnement vous oblige à acheter des lots et beaucoup plus pour couvrir tous les problèmes de trafic, même si vous avez un pic par mois. Comme sur l'image ci-dessous, vous payez toujours Nœuds réels (lignes rouges), alors qu'il vous en faut 5 fois moins la plupart du temps.
Cette image est également un spoiler d'une fonction de prévision du trafic de PredictKube afin que vous puissiez voir RPC réel contre RPC prédit en comparaison.
Pics de latence
Lorsque le RPS croît rapidement et que les ressources disponibles ne peuvent pas y faire face, cela entraîne des pics de latence.
Au cours de tels épisodes, le système devient encombré et indisponible, des transactions peuvent être perdues et l'expérience utilisateur diminue. Pour résoudre ce problème, vous devez disposer de ressources suffisantes et répartir les flux de trafic afin d'éviter tout signe de retard dans l'interface et dans l'ensemble du système. Si la congestion est trop importante, le temps d'arrêt est là ; tout doit être relancé.
Effets sur les entreprises : perte de trafic et niveau de service indéfini
Ces défis étaient sur la voie du développement du PancakeSwap. La mauvaise expérience utilisateur, même les temps d'arrêt périodiques, et la latence élevée ne peuvent constituer la base d'un DEX fiable pour des milliers de traders. La perte de trafic entraîne des transactions inachevées, retardées ou annulées. Un niveau de service flou est une vague promesse qui n'attire jamais l'argent des gens.
Et tous ces défis pouvaient être résolus avec PredictKube.
PredictKube, l'autoscaler proactif pour Kubernetes créé par Dysnix, fonctionne sur un modèle d'IA et est compatible avec GCP, Azure et AWS. Il permet d'éviter le surprovisionnement en prédisant la tendance du trafic et en équilibrant les ressources à l'avance. Il est facile, personnalisable, facile à apprendre et adaptable.
À la base, il étend pleinement les possibilités de GKE en incorporant les fonctionnalités Kubeflow, TensorFlow et ElasticSearch.
Cette prévision de charge est basée sur deux types de données.
Tout d'abord, les données historiques nous permettent de prévoir la tendance habituelle du trafic. Deuxièmement, les données des indicateurs commerciaux (sources multiples) nous permettent de deviner les événements imprévisibles en tenant compte d'indicateurs autres que le trafic.
Ainsi, la mise à l'échelle prédictive et la mise à l'échelle basée sur les événements couvrent tous les cas qui doivent être suivis et couverts pour réagir de manière proactive au changement de charge.
Ce processus est basé sur un équilibrage constant des ressources pour la charge actuelle et à venir. Le nœud complet a besoin de temps pour être lancé, donc selon les prévisions, la configuration commence sérieusement à l'avance. La fermeture prend moins de temps, mais elle doit être faite à temps. En outre, le système suit les indicateurs de santé de chaque nœud. Si le nœud ralentit parce qu'il est trop surchargé ou encombré, le trafic passe automatiquement à un nœud sain et le nœud lent est nettoyé.
Les types d'instances optimaux influencent la vitesse de traitement du trafic et la productivité globale. En fonction de la situation du trafic, de la nature de la charge et du schéma prévu, les instances peuvent être facilement passées d'un type à un autre pour être optimales (la mieux adaptée et la moins chère à la fois). Il s'agit également d'un processus automatisé
Les résultats de l'implémentation de PredictKube pour PancakeSwap en chiffres :
Grâce à la résolution des problèmes de surapprovisionnement et de sous-approvisionnement, à une mise à l'échelle au bon moment, à l'autorotation des nœuds et à la sélection automatique des nœuds les mieux adaptés, la facture du cloud a fondu jusqu'à devenir optimale.
Un autre avantage intéressant est que PredictKube n'est pas un service tiers. Il s'agit plutôt d'un implant qui élargit toutes les possibilités de mise à l'échelle. Une fois défini, le modèle d'IA intégré continue d'apprendre à partir des données autorisées et devient encore plus précis. En fonction de l'état du marché et de la plateforme et de l'apparition de nouvelles technologies, PredictKube bénéficiera également d'une autre mise à jour.
Effets bonus de l'autoscaler prédictif implémenté
La mise en œuvre de l'outil de dimensionnement automatique prédictif récompense un travail prudent et méticuleux avec des flux de données de toutes sortes à l'intérieur et à l'extérieur de l'infrastructure. Ce n'est qu'en possédant suffisamment de données sur votre trafic, une collecte attentive de chaque accès et de chaque demande que vous pouvez donner suffisamment de « nourriture » pour que le modèle devienne efficace et vraiment utile. Sans données, il sera toujours adapté aux données primaires avec lesquelles nous l'avons entraîné.
La clarté et l'organisation de vos données sont donc indispensables pour renforcer votre infrastructure informatique à l'aide d'un outil de dimensionnement automatique.
L'idée d'un tel outil nous est apparue alors que Dysnix travaillait sur des projets tels que ZKSync. Parfois, de simples algorithmes ne permettaient pas de redimensionner correctement. Nous avons donc dû inventer autre chose. Bien sûr, il existe des projets pour lesquels vous n'avez pas besoin d'une mise à l'échelle prédictive. Il suffit d'ajouter quelques règles de dimensionnement et d'indiquer au système ce qu'il doit faire en cas de pic de trafic.
Nous avons commencé à réunir une équipe d'experts pour créer une solution qui donnerait un résultat fiable dans des circonstances incertaines.
Sin embargo, no era un equipo grande: un arquitecto, dos ingenieros líderes de DevOps, un ingeniero senior de DevOps, un desarrollador líder de IA y dos de sus asistentes. Juntos, logramos crear y enseñar el modelo central de IA que se volvió fácilmente ajustable y omnívoro para los datos sobre el volumen de tráfico y las métricas comerciales. Planeamos hacer de PredictKube una solución independiente para que el proyecto la instalara y configurara de una vez por todas, manteniéndonos independientes de nosotros como creadores.
Outre nos clients, nous avons travaillé en étroite collaboration avec Communauté KEDA, en recueillant leurs commentaires et en ajustant PredictKube en conséquence. Ces produits ne sont donc jamais la réalisation personnelle d'une seule entreprise, mais plutôt la création mutuelle d'une communauté bienveillante.
Désormais, la mise à l'échelle automatique fait partie intégrante du futur projet vial Web3. De la réduction de la consommation d'énergie et de l'empreinte carbone à la simple réduction des coûts, chaque raison motive la mise en place d'une mise à l'échelle. Certains effets de la mise à l'échelle de tels projets vont au-delà de l'avenir le plus proche, mais il convient de les mentionner.
Creciente descentralización: la optimización completa de los recursos podría afectar la distribución de roles en la cadena de bloques. Por ejemplo, los proyectos dependen de un conjunto más pequeño de validadores o nodos para lograr eficiencia, que pueden centralizar el control. Sin embargo, como blockchain demuestra características de autorregulación, este efecto se puede evitar.
La deuda técnica apareció debido a una implementación rápida y descuidada: la implementación de soluciones rápidas para la escalabilidad puede generar deuda técnica. Las soluciones listas para usar funcionan para el proyecto sin necesidad de modificaciones ni personalización. El aumento de la deuda técnica siempre genera gastos adicionales y una pérdida de enfoque en la dirección principal del crecimiento.
Desafíos de interoperabilidad para proyectos con múltiples conexiones externas: a medida que los proyectos implementan su solución de escalamiento personalizada, la interoperabilidad entre plataformas o cadenas de bloques puede convertirse en un desafío.
Dependencia de soluciones de terceros: Cada vez que delegas una parte vital de tu arquitectura al proveedor de servicios, a la larga te llevas un dolor de cabeza. No puede estar seguro de la estabilidad y disponibilidad del 100% de cualquier solución que no esté totalmente bajo su control.
Por eso es más seguro mantener todas las soluciones de escalado automático implementadas en el núcleo de su proyecto.
La mise à l'échelle automatique devenant une fonctionnalité incontournable, toute aventure Web3 sera plus viable, plus stable et plus prévisible. Essayer des solutions telles que PredictKube vous aidera à déterminer ce qui convient le mieux à votre cas.