Comment Klever tire parti de la plate-forme open source Kubernetes de Google pour offrir des services d'excellence et fiables à ses utilisateurs dans le monde entier, par Vinícius Niche Correa, responsable de DevSecOps de Klever.
Tout d'abord, je voudrais me présenter. Je suis Vinicius Niche Correa, mais la plupart m'appellent par mon surnom Vini. Chez Klever, je suis Head of DevSecOps & Software Architect.
J'ai toujours aimé la technologie et j'étais avide d'apprendre depuis mes débuts, par moi-même, des autres, personnellement ou sur Internet. C'est cette passion qui m'a amené à commencer ma carrière professionnelle en tant que développeur, spécifiquement avec Java à l'époque et finalement à me lancer dans le monde des infrastructures.
La combinaison de ces expériences m'a donné la perspective plus large nécessaire pour aider à l'amélioration de l'architecture et des processus des solutions de Klever.
Aujourd'hui, nous allons parler de Kubernetes, également connu sous le nom de K8s, qui est un système open source que nous utilisons chez Klever pour automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées.
Kubernetes est l'un des composants clés qui permet à l'écosystème Klever d'atteindre :
-
Évolutivité : l'infrastructure grandit parallèlement à notre base d'utilisateurs et diminue lorsque les heures d'utilisation sont réduites
-
Fiabilité : récupération rapide des pannes potentielles et haute disponibilité via plusieurs serveurs en cours d'exécution
-
Sécurité : par défaut, les services Kubernetes ne sont accessibles qu'à l'intérieur de son réseau.
Bien sûr, la vraie valeur de K8 réside dans les équipes dédiées derrière les opérations et le développement de produits, mais la plate-forme fait beaucoup pour faciliter les choses afin que nous puissions consacrer plus d'efforts à l'expérience elle-même plutôt qu'aux outils qui la prennent en charge.
Développement jusqu'au marché
Pour faire court, chez Klever, nous nous appuyons sur GitOps pour les déploiements automatisés et Kustomize pour écrire une seule fois et réaliser plusieurs étapes sur des environnements en cours d'exécution, qui sont généralement Développement, Staging et enfin, ce que nos utilisateurs voient et consomment, Production :
Nous pratiquons cela en ayant un fichier de base avec la structure qui sera présente sur tous les environnements et configurations spécifiques à l'environnement qui ne comporte que des personnalisations.
Par exemple : sur Base nous mettons à disposition pour un serveur 0,2 CPU et 256 Mégaoctets de mémoire et en Production nous avons besoin de 0,5 CPU et 512 Mégaoctets de mémoire. Cela signifie que nous n'avons qu'à personnaliser la production et laisser à la fois le développement et la mise en scène pour hériter des paramètres de base.
Operations
Les opérations s'exécutant comme prévu, nous avons encore besoin de fonctionnalités supplémentaires pour nous assurer qu'elles le resteront, telles que :
Évolutivité
Cela permet à nos services de se comporter de la même manière avec 100 ou 1 000 ou 10 000 ou 100 000 utilisateurs, et nous y parvenons en configurant avec précision la fonctionnalité native de Kubernetes Horizontal Pod Autoscaler, ainsi que des métriques personnalisées de Cloud Monitoring de Google, qui, grâce à des tests, nous ont révélé plus fiable que les métriques natives du cluster.
Fiabilité
Nous devons également pouvoir identifier rapidement chaque fois qu'un serveur se comporte mal et éventuellement prendre des mesures.
Pour cela, Klever s'appuie à la fois sur le bilan de santé natif de Kubernetes pour remplacer les serveurs défectueux en cas de panne et sur Grafana Cloud Synthetic Monitoring pour surveiller la qualité et la disponibilité du service dans son ensemble et informer les opérateurs lorsque les seuils sont atteints, comme des temps de réponse ou des taux d'erreur plus élevés.
Securité
Il existe plusieurs composants qui assurent le plus haut niveau de sécurité sur nos serveurs et ses services fournis, ceux qui méritent d'être mentionnés sont :
-Kubernetes est conçu pour ne pas exposer les services par défaut, donc pour que cela se produise, cela doit être fait explicitement.
-Le coffre-fort de HashiCorp qui permet de gérer et de consommer les secrets (par exemple : les informations d'identification de la base de données) en tant que service.
-Authentification mutuelle pour les communications cryptées sécurisées de bout en bout, où, en combinaison avec des services sécurisés de certificats x509, les clients doivent également transporter leur paire de clés et être vérifiés par les serveurs lorsqu'ils sont connectés.
Amélioration continue
Ce qui distingue Klever dans son ensemble des autres entreprises et sociétés de blockchain, c'est le désir constant d'améliorer tous les aspects, des produits, du développement, de la culture et des processus à l'engagement communautaire, tous ensemble apprenant de nos propres erreurs et des erreurs des autres afin de garder niveler la qualité de nos produits et services.
L'architecture logicielle de Klever de nos opérations utilisant Kubernetes, ainsi que d'autres outils de développement évolutifs et flexibles, nous aident à atteindre cet objectif, afin que nos utilisateurs puissent profiter de l'expérience d'application la plus fiable et la plus performante technologiquement possible.
Vinícius Niche Correa
Klever Head of DevSecOps & Software Architect