Amazon a lancé AWS en 2006, Google est entré en scène en 2008 avec GCP et enfin, en 2010, Microsoft a lancé Azure en 2010. Rien de tout cela n'a d'importance en 2023. Le choix typique et complexe à faire est le suivant :
"Quel fournisseur de services d'informatique dématérialisée dois-je choisir pour mon entreprise ?
De nombreux facteurs entrent en jeu dans la recherche d'une décision judicieuse. Nous souhaitons peser sur un seul aspect de cette décision en vous donnant le point de vue d'un développeur sur les différences entre les principaux fournisseurs de cloud . Plus précisément, nous examinons les résultats de notre comparaison entre GCP et Azure.
Une bonne clause de non-responsabilité n'est jamais mauvaise.
Des mots plus sages ont certainement été prononcés, mais nous devons néanmoins ajouter qu'il ne s'agit là que de notre point de vue sur la question. En tant qu'équipe d'experts en IA, nous avons nos propres préférences et nos propres désagréments. Nous ne faisons que présenter notre point de vue, prenez-le avec un grain de sel et n'hésitez pas à commenter vos propres expériences.
Notez qu'il existe déjà de nombreux articles comparant les aspects tarifaires de GCP et d'Azure, nous ne nous y attarderons pas ici. L'objectif est uniquement de comparer les différences fonctionnelles lors de l'élaboration de solutions.
La différence générale d'expérience se résume à ceci : alors que GCP vous prend par la main et vous guide dans son univers de services gérés qui sont très faciles à utiliser, Azure vous permet (et même vous oblige) à faire des choix à un niveau de complexité plus élevé.
Nous présentons ci-dessous une illustration de cette différence. Nous trouvons que la Google Cloud Platform est assez simple à utiliser, alors que pendant le développement sur Azure, vous devrez souvent savoir exactement ce que vous faites et faire des choix clairs en fonction de cela.
Cette comparaison ne permet pas de déterminer avec certitude lequel est le meilleur. Le choix doit plutôt correspondre à vos préférences en matière de développement.
Maintenant, ajoutons du corps à ces affirmations et examinons quelques-uns des services réels offerts par nos amis Google et Microsoft !
Dans cette section, nous passons en revue quelques services en nuage explicites et comparons la manière dont ils sont proposés dans Azure et GCP. Nous vous mettons au défi de repérer la tendance générale.
Azure App Service vs Google App Engine
Pour utiliser un Azure App Service, vous devez d'abord créer un App Service Plan.
Alors que GCP vous permet de créer directement un moteur d'application, Azure offre un niveau d'abstraction supplémentaire en définissant l'infrastructure sur laquelle votre application s'exécute en tant que ressource distincte.
L'avantage évident est que vous disposez d'un couplage explicite entre votre application (définie par l'App Service) et l'infrastructure sur laquelle elle s'exécute. En outre, un plan peut prendre en charge plusieurs services applicatifs.
Azure Container App vs Google Cloud Run
Pour utiliser une application de conteneur Azure, vous devez d'abord créer un environnement d'application de conteneur.
Conformément à l'idée qui sous-tend les plans de service d'application nécessaires pour les services d'application, vous avez besoin d'un environnement d'application de conteneur pour définir une application de conteneur.
Notez que si Azure vous permet de savoir que vos conteneurs s'exécuteront sur un cluster Kubernetes que vous n'avez pas à gérer. Sur GCP, vous n'avez aucune idée réelle de l'infrastructure sous-jacente : "ça marche, c'est tout".
Azure App Function vs Google Cloud Function
Pour utiliser une Azure App Function, vous devez d'abord créer une Function App.
Une troisième et dernière fois pour ces services de calcul, nous notons la couche supplémentaire de regroupement imposée par Azure. L'idée est à nouveau que vous pouvez regrouper des fonctions qui ont besoin de ressources similaires + avoir des coûts cloud prévisibles pour vos fonctions parce que leur SKU est défini en amont dans la Function App.
Globalement, la même gestion consciente est également possible dans GCP, mais la façon dont Azure vous oblige à allouer vos ressources informatiques par le biais d'une couche découplée, vous oblige à y réfléchir en amont.
Groupes de ressources Azure vs Google ? ??
Pour créer des ressources utiles dans Azure, vous avez d'abord besoin d'un groupe de ressources.
C'est peut-être l'exemple le plus clair de la couche d'abstraction supplémentaire qu'Azure ajoute au mélange. La différence avec GCP est évidente ici : Azure présente les groupes de ressources comme une couche d'abstraction supplémentaire au niveau de l'abonnement (c'est-à-dire au niveau du projet pour GCP) pour permettre une plus grande séparation entre vos composants de nuage. Comme toujours, cette abstraction peut s'avérer utile ou contraignante pour vous.
Azure Machine Learning vs Google Vertex AI
Pour utiliser les Azure Machine Learning Pipelines, vous devez d'abord créer un cluster de calcul.
En outre, dans Azure, vous devez définir au préalable tous les types de machines utilisés par vos pipelines. Dans Vertex AI Pipelines, vous pouvez exécuter un pipeline en utilisant les "paramètres par défaut" (la modification des machines utilisées n'est qu'une option), tandis que dans Azure Machine Learning Pipelines, vous ne pouvez pas exécuter un pipeline sans définir explicitement l'infrastructure que vous souhaitez utiliser.
Azure Synapse vs Google BigQuery
Pour utiliser Azure Synapse, vous devez d'abord créer les données sous forme de blobs dans un compte de stockage.
Il est de notoriété publique que BQ de Google est une puissance absolue. Si vous êtes habitué à la commodité de ses fonctionnalités (par exemple, les données vont directement dans BQ, aucune création explicite de blob n'est requise, vous avez l'impression de travailler avec des ensembles de données et des tables SQL traditionnels), travailler avec le bas niveau de Synapse "assurez-vous de gérer toutes les données de blob vous-même" peut vous sembler un pas en arrière.
Outre ces comparaisons au niveau des services, nous souhaitons également dire un mot sur l'état actuel de la documentation Azure/GCP, du SDK/CLI et de Terraform (IAAC-tooling).
Pour toutes ces ressources, nous pensons qu'un grand nombre de ressources liées à Azure ont été modifiées/publiées très récemment ou sont à l'état d'avant-première (note : au moment de la rédaction, nous sommes au deuxième trimestre 2023). Nous constatons une nette différence par rapport à la maturité et à la stabilité des équivalents GCP.
Alors que le fait que beaucoup de choses bougent/ont récemment bougé en ce qui concerne les services Azure peut nous donner l'impression de travailler avec un outillage inachevé à l'heure actuelle, cette différence avec GCP pourrait avoir entièrement disparu d'ici 2024. Il reste à voir si "l'effort supplémentaire actuellement requis pour comprendre l'état de l'outillage Azure" sera plus facilement gérable à l'avenir.
La comparaison des services Azure et GCP présentée ci-dessus devrait vous permettre de comprendre le concept général :
Dans Azure → pour utiliser X, il faut d'abord avoir Y
Grâce à ces couches d'abstraction supplémentaires ajoutées dans l'environnement Azure Cloud, vous pouvez exercer un contrôle plus explicite et plus fin sur votre environnement et votre infrastructure en nuage que vous ne pouvez le faire avec Google Cloud Platform.
C'est à vous de décider si cette couche supplémentaire de contrôle est un fardeau ou une bénédiction pour vous et votre équipe.
Je vois de mon petit œil quelque chose qui commence par un C.
Nuage ?
Oui.
- sketch "Airline Pilots" des Monty Python
Dans cet article, nous n'avons abordé qu'une petite partie de nos connaissances sur le multi-cloud. Comme nous l'avons laissé entendre au début de cet article, il y a encore beaucoup à dire. Prochaine étape : une analyse similaire d'un autre de nos fournisseurs de cloud préférés (indice : commence par "ama" et se termine par "on").