This story was adapted from an original guest post written by Marc Campbell and Grant Miller, co-founders of Replicated. For a more in-depth look at how Campbell and Miller leveraged Cloudflare Access and Argo Tunnel to develop a cloud-based IaaS solution, visit the Cloudflare Blog.
Il ne fait aucun doute que le monde devient toujours plus connecté à Internet et que les environnements de travail deviennent de plus en plus complexes. Ce n'est qu'une question de temps avant que l'ensemble des activités de développement de logiciels aient lieu sur Internet et de concert avec lui.
Fondée en 2014, Replicated est une société spécialisée dans le développement de logiciels d'infrastructure, dont l'objectif est de mettre en place un nouveau modèle de distribution de logiciels d'entreprise appelé Kubernetes Off-The-Shelf (KOTS) Software. Son but est de faciliter l’installation et l’utilisation de logiciels tiers par les utilisateurs, de sorte que l’envoi de données à des fournisseurs SaaS multi-entités ne soit pas la seule façon d’accéder aux services de ces fournisseurs.
« Nous pensons qu’il est à la fois possible et facile d’intégrer les applications à vos données, de manière sécurisée et sans générer des coûts opérationnels élevés », affirment Campbell et Miller.
Chez Replicated, l’environnement de développement doit s’exécuter sur Kubernetes, puisque KOTS s’exécute dans Kubernetes et gère le cycle de vie des applications tierces dans le cluster Kubernetes. Le développement et la validation du produit nécessitent qu’un développeur ait accès à un cluster.
Depuis que l’équipe d’ingénieurs de Replicated s’était agrandie avec l’arrivée d’ingénieurs front-end et d’autres spécialistes, qui ne devraient pas avoir à se préoccuper de de la construction et de la maintenance de leur propre cluster, la complexité de la gestion de l’environnement local était devenue une contrainte. L’équipe devait impérativement simplifier ses processus pour préserver la productivité des développeurs.
« Les problèmes que rencontraient les ingénieurs dans leur environnement local nous faisaient perdre des heures chaque semaine », expliquent Campbell et Miller. « Lorsqu’un ingénieur front-end (qui n’est pas censé connaître parfaitement Kubernetes) rencontrait des difficultés, il devait demander de l’aide à un ingénieur back-end, ce qui faisait perdre un temps précieux à deux personnes. Nous avions besoin d’un système plus efficace. » Nous avions besoin d'un système plus efficace. »
À la recherche d’une solution offrant un déploiement et une maintenance simples, Replicated s’est adressée à Cloudflare. Dans un premier temps, la société a utilisé Cloudflare pour protéger son DNS et se prémunir contre les attaques DDoS ; puis, au fil du temps, elle a commencé à utiliser d’autres services de Cloudflare pour garantir la disponibilité et la sécurité de ses propres services.
Replicated a conçu une solution qui utilise des éléments d’infrastructure dans le Cloud, accessibles et sécurisés avec Cloudflare Access et Argo Tunnel, pour transférer son environnement de développement vers des ressources IaaS (« Infrastructure as a Service »). Cela signifie que l’ensemble de son environnement de développement est dans le Cloud.
Replicated a ainsi réduit le temps consacré par les développeurs à la résolution d’incidents dans son environnement local, et chaque ingénieur de l’équipe dispose désormais d’un environnement de développement complet, même s’il ne possède pas une connaissance approfondie de Kubernetes.
« Cette configuration présente plusieurs avantages par rapport à un déploiement traditionnel », affirment Campbell et Miller. « D’une part, le serveur n’a pas d’adresse IP publique et nous n’avons pas besoin d’ouvrir des ports au niveau du système d’équilibrage de charge de Google, notamment pour le protocole SSH. Argo Tunnel est l’unique moyen de se connecter à ces serveurs, avec une sécurisation assurée par Cloudflare Access. Access propose une méthode d’authentification similaire à BeyondCorp, garantissant un accès à l’environnement dans le monde entier, sans utiliser de VPN. »
Replicated est aujourd’hui en mesure de proposer une politique qui définit à quelles machines peut accéder un utilisateur, et de garantir que celle-ci sera appliquée partout.. Au lieu de gérer des certificats SSH (qui ont une longue durée de vie et sont difficiles à révoquer), la société permet aux développeurs de se connecter avec les identifiants Google qu’ils utilisent partout ailleurs. Même si un développeur quitte la société, celle-ci peut révoquer ces identifiants, ce qui lui évite se soucier des clés publiques que le développeur pourrait avoir conservées.
Avec Cloudflare Access, les développeurs de Replicated peuvent facilement configurer plusieurs environnements (pour essayer une nouvelle version de k8s, par exemple), et ils n’ont pas besoin de disposer d’ordinateurs portables particulièrement puissants à cette fin. Ils peuvent également choisir leur système d’exploitation et leur environnement locaux (MacOS, Windows, Linux), car toutes les versions sont prises en charge, sous réserve que le protocole SSH le soit également. De plus, puisque le code ne se trouve pas sur l’ordinateur portable d’un développeur, il ne le suit pas dans les cafés ou d’autres lieux peu sécurisés. Ceci offre un avantage essentiel en matière de sécurité, car la perte d’un ordinateur portable ne compromet plus la sécurité du code base.
« Grâce à Cloudflare Access et Argo Tunnel, chaque environnement de développement est devenu un espace collaboratif, » déclarent Campbell et Miller. « Cette solution est particulièrement intéressante lorsque deux ingénieurs ne se trouvent pas dans la même pièce. De plus, nous sommes moins dépendants de nos environnements de développement : si, pour des raisons inconnues, mon serveur ne fonctionne pas correctement, au lieu de passer des heures à résoudre l’incident, je peux le supprimer et obtenir un nouveau serveur opérationnel. »
“Cloudflare Access propose une méthode d’authentification similaire à BeyondCorp, garantissant un accès à l’environnement dans le monde entier, sans utiliser de VPN.”
Marc Campbell and Grant Miller
Co-fondateurs