paint-brush
Comment gagner 1 million de dollars avec AWS en un anpar@gianpicolonna
65,465 lectures
65,465 lectures

Comment gagner 1 million de dollars avec AWS en un an

par Gianpi Colonna5m2024/04/28
Read on Terminal Reader

Trop long; Pour lire

Réduisez vos coûts de cloud AWS de 90 % ! Découvrez 4 étapes pour optimiser les dépenses : remettre en question les hypothèses, ajuster les ressources, utiliser les instances Graviton et surveiller l'utilisation.
featured image - Comment gagner 1 million de dollars avec AWS en un an
Gianpi Colonna HackerNoon profile picture
0-item
1-item


Si vous êtes tombé sur cette page en pensant que vous allez devenir riche grâce à un plan pour devenir riche rapidement, je suis désolé de vous décevoir. Cet article parlera plutôt de la façon de réduire vos factures de cloud d'un million de dollars. En faisant cela, vous aurez essentiellement généré un million de dollars de revenus supplémentaires – que vous pourrez dépenser en achetant mon cours en ligne sur la façon de devenir riche avec AWS ( lien vers le cours ici ).



Le coût du cloud est souvent négligé et non pris en compte au début des projets des entreprises. L'enquête HashiCorp 2021 a révélé que près de 40 % des entreprises ont dépensé trop d'argent en coûts cloud en 2021 [ 1 ]. En 2023, presque toutes les entreprises (94 %) ont admis qu'elles gaspillaient de l'argent sur le cloud [ 1 ] et au moins 30 % des coûts du cloud ont été gaspillés [ 2 ]. Les dépenses cloud s'élevaient à près de 500 milliards de dollars en 2022 — nous parlons donc de 150 milliards de dollars gaspillés par an !!


Il s’agit non seulement d’une préoccupation en termes de revenus manqués, mais également de mauvaises pratiques en matière de durabilité. 150 milliards de dollars d’énergie gaspillée !


Ces résultats concernent aussi bien les grandes entreprises que les plus petites, de la maturité cloud élevée à la maturité cloud faible. Il fait référence à AWS, mais les mêmes principes peuvent être appliqués à tout autre fournisseur de cloud. Ainsi, si une partie de votre travail se déroule dans le cloud, cet article est fait pour vous.


Je parle du point de vue d'un ingénieur de données, mais les mêmes apprentissages peuvent être appliqués à d'autres pratiques d'ingénierie logicielle.

Allons-y.


Que faut-il pour dépenser 1 million de dollars en coûts cloud par an ?

Ce type de facture cloud est généralement réservé aux très grandes entreprises qui opèrent à l'échelle mondiale avec des millions de clients.


Pour vous donner une idée, une facture cloud d'un million de dollars peut résulter d'un travail Spark ETL traitant environ 1,5 To par heure, 24 heures sur 24, 7 jours sur 7, 365 jours par an. Un autre exemple pourrait être une application qui reçoit des milliards de requêtes par jour en provenance de plusieurs endroits dans le monde.


Dans une grande entreprise, il existe des centaines d'applications de cette taille, ce qui donne lieu à des contrats d'un milliard de dollars avec des fournisseurs de cloud. Par exemple, Airbnb s'était engagé à dépenser 1,2 milliard de dollars en ressources cloud sur cinq ans fin 2019 [3 ].


Chez Expedia, nous avons réduit les coûts d'un ETL de traitement de données qui coûtait 1,1 million de dollars par an à seulement 100 000 dollars par an grâce à la mise en œuvre de pratiques d'optimisation. Cela représente une réduction des coûts de 91 % !!


Toutes les entreprises ne disposent pas d'applications d'une telle taille, mais imaginez réduire vos coûts cloud de 90 % juste pour une seule application ou pour l'ensemble de votre entreprise.



Comment commencer à épargner ?

ÉTAPE 1 : Remettez en question vos hypothèses de conception

Allez chercher une liste de vos applications les plus coûteuses et remettez en question vos hypothèses de conception .

  • Créez-vous une application offrant une disponibilité de 99,999 % et une latence inférieure à la milliseconde, mais en réalité, les utilisateurs seraient assez bons avec une disponibilité de 99 % et une latence de plusieurs centaines de millisecondes ?
  • Créez-vous des ensembles de données comportant des milliards de lignes, mais les utilisateurs n'utiliseraient que des agrégations de certaines mesures ?
  • Vous envoyez des données en temps réel, mais les données ne sont analysées qu'une fois par jour ?
  • Actualisez-vous le cache toutes les 10 secondes, mais il ne change vraiment qu'au fil des jours ?


Toutes ces questions renvoient à la question la plus importante : comment va être utilisée l’application ? Quelle est la valeur commerciale de son existence ? Comment l’application nous aide-t-elle à atteindre un objectif donné ?


Bien entendu, toutes ces réponses sont bien souvent floues au début d’un projet ; mais c'est pourquoi la conception doit toujours être un processus itératif, permettant aux changements de se produire de la manière la plus transparente possible. Les ingénieurs doivent s'adapter à l'évolution et au changement, en alignant le développement des applications sur l'impact.


ÉTAPE 2 : Ajustez vos ressources d'infrastructure à vos besoins

La deuxième étape consiste à doter l’application des bonnes ressources et de l’adapter à la bonne infrastructure.


En tant qu'ingénieur, soyez conscient de la manière dont les coûts du cloud sont calculés. Par exemple, AWS propose des instances ponctuelles dans lesquelles vous pouvez enchérir sur le prix du cluster. Ceci est particulièrement utile si vous disposez d'applications flexibles et tolérantes aux pannes. Utilisez-les si vous le pouvez — AWS revendique jusqu'à 90 % de réduction des coûts [ 4 ].


Voici d’autres considérations que vous voudrez peut-être aborder :

  • Servissez-vous des clients dans le monde entier ou dans une seule zone géographique ? Avez-vous vraiment besoin de votre infrastructure pour vivre à l’autre bout du monde ou pouvez-vous la configurer plus près de votre clientèle ?
  • Surprovisionnez-vous vos instances de cluster ? Essayez de vous assurer que la capacité est suffisante pour gérer les charges de pointe sans coûts inutiles. Utilisez la mise à l'échelle automatique pour ajuster dynamiquement les ressources en fonction de la demande réelle, évitant ainsi le trop-payé pour les ressources inutilisées.
  • Si vous travaillez avec des données et Spark, assurez-vous de bien comprendre les concepts et les réglages de Spark ! Si ce n'est pas le cas, jetez un œil aux ressources suivantes [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ].

ÉTAPE 3 : Utiliser les instances AWS Graviton

L'utilisation des instances AWS Graviton présente peu ou pas d'inconvénients. AWS a investi massivement dans la création des processeurs les plus rentables. Vous pouvez obtenir jusqu'à 40 % de réduction des dépenses cloud en passant simplement d'un processeur Intel à un processeur ARM [ 10 ].


Le seul inconvénient est que votre application doit être compatible avec les processeurs ARM sur lesquels Graviton s'exécute. Si vous utilisez un service géré tel que RDS ou OpenSearch, le changement ne présente aucune complication : AWS s'occupe du système d'exploitation sous-jacent et de la compatibilité des applications. Si vous créez votre propre application, vous devrez peut-être recompiler le package en fonction du langage que vous utilisez : Java et les autres langages ne nécessitent aucune modification, tandis que Python nécessite une certaine attention.


ÉTAPE 4 : Surveillez vos dépenses et sensibilisez-vous à ces coûts

Enfin, n'oubliez pas de continuer à surveiller vos coûts pour détecter les pics et les surprises inattendus. Le coût au jour 0 de votre application sera différent du coût au jour 170. Assurez-vous de suivre les changements et de comprendre pourquoi le changement se produit : s'agit-il d'un cumul des coûts de stockage s3 ou s'agit-il simplement d'un événement ponctuel ? pointe?


Mettez en place les alertes et guides opérationnels nécessaires !


Il est important de mettre en œuvre des balises de répartition des coûts pour suivre les dépenses par département, projet ou environnement. Évitez le risque de créer un marécage de données dont le coût est introuvable ou nécessite un long voyage entre différents systèmes de journalisation. Il devrait être simple et rapide de revenir au coût d'une application donnée.


Dernières pensées

Où que vous travailliez, il est difficile d’équilibrer la fourniture de nouvelles fonctionnalités avec l’optimisation des fonctionnalités actuelles. Qui n’a pas subi de pression pour proposer de nouvelles fonctionnalités originales à la vitesse de la lumière.


Cependant, il est essentiel que les ingénieurs et les managers prennent des décisions délibérées et proactives concernant leurs projets en cours, en gérant efficacement les risques et les opportunités.