Les petits clouds offrent une valeur exceptionnelle
2/11/2024, 7:30:11 PM | by Tigrish | 179 vues
Trouver le cloud parfait peut être délicat, et si vous faites le mauvais choix : très coûteux ! Lisez-en plus sur notre point de vue sur les principaux fournisseurs de cloud et comment éviter de tomber dans un piège malh
Comment le cloud nous permet de construire sans souci
Comme nous le savons tous, l’utilisation d’un cloud permet de consacrer plus de temps à la construction de la logique métier au lieu de se soucier de l’infrastructure. Des ingénieurs systèmes dédiés, des DevOps disponibles 24/7 en cas de panne matérielle ou logicielle due à une mauvaise configuration ou à un pur hasard et le fait de devoir louer une infrastructure coûtent du temps et de l’argent réels. Du temps et de l’argent mieux dépensés pour développer le produit lui-même. Le cloud offre commodité, facilité d’utilisation, évolutivité et fiabilité, mais tous les clouds ne sont pas égaux.
Les grands acteurs
Nous avons tous entendu parler d’AWS, Azure et GCP et comment ils vous permettent de passer de 0 à une capacité pratiquement illimitée en quelques minutes sans appuyer sur un bouton. Cela semble utopique en théorie, mais la dure réalité est que ces clouds facturent des frais exorbitants pour les services les plus basiques, l’un d’eux étant le transfert de données sortantes. Ces frais de bande passante ont la capacité de grignoter une énorme part de votre budget sans que vous vous en rendiez compte immédiatement.
D’après notre expérience, ces frais peuvent rapidement devenir incontrôlables, par exemple, une instance MySQL de GCP qui coûte 7$ par mois a rapidement accumulé des frais de sortie de 60$+ par mois lorsqu’elle a été connectée à un service sur site.
Les grands acteurs veulent que vous mettiez tous vos œufs dans leur panier afin qu’ils puissent vous facturer encore plus de frais cachés et explicites pour des services tels que l’équilibrage de charge (avec un coût supplémentaire par Go traité), NAT, les registres de conteneurs et n’oublions pas leurs systèmes sans serveur propriétaires qui promettent un faible coût mais deviennent instantanément des gouffres financiers dès que vous voyez une utilisation réelle. Et vous devez toujours finalement payer des frais de sortie de données pour vos projets.
Ce que nous ne pouvons pas critiquer chez les grands acteurs, c’est leur fiabilité et leur SLA de premier ordre. C’est tout à fait attendu pour les montants qu’ils facturent.
Rendez-vous indépendant du cloud
Vous devriez toujours rendre votre architecture indépendante du fournisseur. Docker (et Kubernetes pour les projets plus importants) sont quelque peu découplés du cloud que vous utilisez. Certes, k8s (Kubernetes) dépendra de la configuration spécifique au cloud pour des choses comme les volumes et les ingresses, mais vous pouvez toujours sauter le pas et quitter la barre lorsque le fournisseur décide d’augmenter ses prix.
Nous voulons être sur le cloud, mais pas être contrôlés par les prix
C’est là que les petits acteurs entrent sur le marché. 99% des sites web et des applications n’ont pas besoin d’un bus d’événements, de systèmes distribués et de bases de données propriétaires coûteuses. Vous pouvez vous débrouiller avec des conteneurs Docker, PostgreSQL et Redis (pour les projets plus importants). Il existe quelques fournisseurs comme DigitalOcean qui offrent une valeur exceptionnelle, surtout pour les petits projets, mais qui vous permettent toujours de grandir à l’échelle sans rencontrer de problèmes.
Ils ne facturent que 10$ par To de données, comparativement aux grands acteurs qui varient de 60 à 120$ par To, en excluant les frais supplémentaires pour les équilibreurs de charge et autres. Ils fournissent également Kubernetes et des fonctions sans serveur (dont je déconseille l’utilisation), mais vous pourriez aussi simplement créer une grande VM et installer HashiCorp Nomad et orchestrer comme un pro.
Cliquez sur l’image ci-dessous pour essayer DigitalOcean ! (lien affilié):
Comment construire un logiciel indépendant du cloud ?
L’astuce est de simplement minimiser l’utilisation de services sophistiqués tels que les serveurs sans serveur et les files d’attente d’événements, il y a de fortes chances que vous n’en ayez probablement pas besoin et que vous n’en aurez jamais besoin. Lancer une VM à 5$ par mois exécutant Portainer (une interface graphique pour hôte Docker). Docker peut exécuter votre base de données et vous pouvez stocker des fichiers sur des compartiments compatibles S3 tels que Cloudflare R2 en version gratuite ou les propres compartiments compatibles S3 de DigitalOcean (notez qu’ils coûtent un minimum de 5$ par mois).
Si vous avez besoin de déploiements sans temps d’arrêt, utilisez simplement Nomad ou Kubernetes, tous deux ont une courbe d’apprentissage suffisamment douce pour que vous puissiez construire des systèmes évolutifs (pas des microservices) sans vous causer de problèmes.
Conclusion
Créez un produit qui fonctionne sans dépendre des services propriétaires des fournisseurs de cloud, construisez des monolithes évolutifs horizontalement, gardez le système aussi simple que possible (KISS) et utilisez un cloud qui ne facture pas beaucoup pour le transfert de données comme DigitalOcean, Linode ou Scaleway. Je recommanderais toujours le premier en raison de leur catalogue de produits plus mature. (Cela nous aide aussi financièrement).
Merci beaucoup d’avoir lu et j’espère que cela a donné une image plus claire de l’état du cloud.