Windows Azure vs Amazon EC2 vs Google App Engine


159

Du point de vue des développeurs, quelle plate-forme envisageriez-vous pour une application Web sociale de grande taille? Si vous pouviez fournir quelques détails sur ce que vous considérez être les points forts de quelle alternative ce serait formidable.


2
J'ai comparé la même chose récemment - posté mes avantages / inconvénients sur mon blog. Azure est sorti (basé sur le coût d'un petit projet), mais EC2 et Google App Engine sont tous deux de sérieux candidats! blog.dantup.com/2010/10/…
Danny Tuppeny

2
Cette question devrait être un wiki de communauté.

rackspace ftw!
Greg

Réponses:


227

J'ai écrit la même application sur GAE (Python et maintenant Java) et Azure. Je vais probablement continuer à utiliser les deux, pour différentes choses. Voici quelques réflexions que je vais continuer à mettre à jour:

Raisons d'utiliser GAE:

  • Vous obtenez essentiellement une machine virtuelle gratuite par jour. Avec Azure, vous payez près de 100 USD par mois, même si vous n’avez pas un seul visiteur du site Web. Si votre base de données dépasse 1 Go, vous payez 90 $ de plus (9 $ -> 99 $) de stockage. Mise à jour: Azure dispose désormais de différentes tailles de machines virtuelles et de bases de données à différents niveaux de prix. Détails ici .
  • Le paiement de GAE est raisonnablement détaillé - la plupart des ressources sont facturées par demande / Go / Mo, là encore avec une allocation quotidienne gratuite pour la plupart des ressources. Cependant, en novembre 2011, il a rejoint Azure et AWS pour facturer le serveur Web par heure-heure. Détails ici .
  • GAE a la charge administrative la plus légère. Une fois que vous êtes installé, le déploiement et le redéploiement sont rapides et ils vont tout automatiser. Par exemple, vous ne vous inquiétez pas du nombre de serveurs que votre application utilise, comment partager des données, comment équilibrer la charge.
  • Le courrier ne fonctionne que. Au moment de la rédaction, Azure n'offrait pas de sortie SMTP, vous avez donc besoin d'un serveur tiers.
  • Excellente intégration avec de nombreuses offres Google - calendriers, courrier, etc. Vous pouvez déléguer la gestion des utilisateurs à Google si vous ne souhaitez pas contrôler votre base d'utilisateurs.
  • Avec GAE, vous connaissez toutes les fonctionnalités ajoutées au magasin. Avec Azure, vous avez l’impression que Sql Azure Database recevra le plus d’amour mais ce sera plus cher. Azure Storage est susceptible d'avoir le plus de pièges. Pas d'intégrité relationnelle, pas d'ordre, vous allez jouer avec le contexte en mémoire davantage. Le magasin de GAE a beaucoup moins de restrictions et plus de fonctionnalités que les tables Azure.
  • Bon choix si vous utilisez déjà des langages basés sur Python ou JVM. De nos jours, de nombreuses langues sont compilées en bytecode Java.
  • La mise à jour de l'application est très rapide. Pour Python, j’avais une configuration de touche de raccourci et cela n’a pas pris de temps. J'utilise maintenant le plugin Eclipse pour Java et cela fonctionne très bien. Azure est plus délicat.
  • Une application testée localement sera probablement exécutée sur le nuage sans (beaucoup ou aucune) modification. Avec Azure, la configuration est différente et j'ai passé du temps à arrêter, puis à supprimer, à créer, à télécharger, avant de réussir.
  • GAE a une excellente interface utilisateur qui inclut une visionneuse de journal, un éditeur de données. Avec Azure, vous devez actuellement rechercher des visualiseurs / éditeurs externes pour cela.
  • GAE vous permet d'exécuter plusieurs versions de votre application sur le même magasin de données. Vous pouvez déployer, tester une version, puis définir la version «en direct» actuelle lorsque vous êtes prêt. Vous pouvez changer en cas de problème.


    Raisons d'utiliser Azure:

  • Les caractéristiques de performance et les implications financières du magasin de données d'App Engine vous surprendront. Si vous faites autre chose que du simple CRUD, vous devrez travailler plus fort qu'avec une base de données normale. Pas de requêtes ad-hoc.
  • Azure a deux approches de stockage, offrant plus de choix. Il s'agit de la base de données SQL Azure (SAD), qui est une base de données relationnelle, et d'Azure Storage, qui consiste en des tables, des blobs et des files d'attente non relationnelles. Si vous avez un investissement dans SQL Server, alors SAD sera facile à déplacer, mais est assez coûteux et pourrait être moins évolutif. Mise à jour: App Engine dispose d'une API MySQL en version bêta limitée.
  • Azure semble être mieux conçu si vous utilisez une approche de type SOA. Leurs architectures semblent bénéficier de l'expérience du monde de l'entreprise. GAE semble plus concentré sur le simple fait de servir des pages Web.
  • Vous pouvez exécuter l'application sous debug, mettre des points d'arrêt, etc.
  • Azure dispose d'un environnement "intermédiaire" dans lequel vous pouvez effectuer un déploiement dans le nuage, mais ne le faites pas vivre tant que vous n'êtes pas content que cela fonctionne.
  • J'utilise .Net pour autre chose, et les intégrer à .Net dans le backend est beaucoup plus facile qu'avec GAE. (Mise à jour - l'utilisation de Java sur GAE fonctionne correctement et le délai d'attente de 10 secondes est désormais de 30 secondes).
  • Intégration avec de nombreuses offres MS "Live".

    Donc, pas de réponses évidentes. Je suis en train de passer par défaut à App Engine pour des raisons de coûts et de facilité d'utilisation. Je pourrais utiliser Azure pour des applications très orientées MS. J'utilise Amazon S3 pour les téléchargements, mais n'utilisera probablement pas EC2, car je préfère laisser tout le contenu sous le niveau de l'application aux experts.


  • 10
    Richard, peut-être un autre avantage pour Azure est-il d'avoir une base de données relationnelle. Les fragments de Bigtable sont un paradigme quelque peu étranger.
    hyperslug

    22
    App Engine vous permet également de mettre en scène plusieurs versions de votre application. Chaque version reçoit sa propre URL que vous pouvez tester et lorsque vous êtes prêt à déployer, marquez simplement cette version comme étant la version par défaut. Facile à tester, déployer et, si nécessaire, revenir à une version antérieure en cas de problème.

    Azure vous permet de payer au fur et à mesure, sans engagement, uniquement sur l'utilisation, ce n'est pas un engagement minimum de 99 $ par mois.
    Akash Kava

    1
    Sur microsoft.com/windowsazure/pricing, il est écrit à propos de SQL Azure: "* Web Edition: base de données relationnelle jusqu'à 1 Go = 9,99 $ / mois * Business Edition: base de données relationnelle jusqu'à 10 Go = 99,99 $ / mois * Transfert de données = 0,10 € / 0,15 USD / Go - (0,30 USD / 0,45 USD / GB en Asie) "
    Richard Watson

    1
    App Engine prend désormais en charge SQL pour le stockage en bloc. code.google.com/apis/sql
    devnul3

    176

    Je suis clairement partial - je travaille au sein de l'équipe App Engine pour établir des relations avec les développeurs - mais voici ce que je pense:

    Ils ne sont pas directement comparables. Il existe un ensemble d'applications que vous pouvez écrire pour n'importe laquelle d'entre elles, mais vous écrirez une chose différente dans chaque cas. App Engine fournit un environnement d'exécution restreint - pas d'écriture dans les fichiers, pas de sockets, etc. - et un SGBD non relationnel. Mais en retour, vous obtenez un environnement d’exécution qui évolue indéfiniment et un degré de certitude raisonnable que votre application sera redimensionnée à la taille souhaitée.

    Azure, en revanche, fournit un environnement légèrement moins contraint, ce qui vous permet d’écrire un plus grand nombre d’applications, mais vous oblige à en écrire plus - car vous implémentez plus de la pile vous-même - et fournit une assurance beaucoup plus souple de l’évolutivité. .

    Enfin, AWS fournit la solution ultime de bricolage. Ils fournissent le matériel, le stockage et pas grand chose d'autre. Vous construisez votre pile à partir de la base, vous la maintenez, vous la mettez à niveau, etc. Votre application est mise à l'échelle si et seulement si vous l'écrivez à l'échelle, ce qui n'est pas un mince défi. Mais vous obtenez un contrôle total sur votre matériel.

    Mon conseil serait le suivant: si votre application correspond au modèle App Engine - et qu'une application de réseau social en est probablement un très bon exemple - écrivez votre application sur App Engine (Java ou Python, votre choix). C'est moins cher, et il est beaucoup plus facile d'écrire une application qui évolue.

    Si votre application ne correspond pas au modèle GAE, choisissez Azure ou AWS, selon que vous écrivez pour la pile MS et le degré de contrôle que vous souhaitez avoir sur l'environnement d'exécution. Si la plupart de vos applications sont compatibles avec GAE, mais pas avec les petites pièces, vous pouvez envisager un système hybride - par exemple, la diffusion en direct sur GAE, mais le stockage sur S3 ou le traitement en bloc sur EC2.


    Qu'en est-il des problèmes comme celui-ci: Lorsque App Engine a mal tourné ?
    Cristian Ciupitu

    @ Christian Je ne suis pas sûr de ce que vous voulez entendre - n'importe quel service a des temps d'arrêt occasionnels. Cela inclut à la fois App Engine et EC2.
    Nick Johnson

    @ Nick Johnson: vous avez raison, tout service a des temps d'arrêt occasionnels et je ne m'attends pas à une disponibilité de 100%. D'autre part, cette question ne ressemble pas à une question de temps d'arrêt. Pour moi, cela ressemble à une limitation de Google App Engine, c’est-à-dire que votre code doit être exécuté dans un laps de temps assez limité. Je ne connais pas bien GAE, alors corrigez-moi si je comprends mal quelque chose.
    Cristian Ciupitu

    1
    @ Christian Ah. L'exception elle-même est levée à cause du temps passé trop souvent à l'exécution, mais le ralentissement est dû à des problèmes de performances temporaires.
    Nick Johnson

    Je suis d'accord sur le "ils ne sont pas comparables". Comparer ces services revient à comparer des pommes et des oranges. Les deux sont des fruits, c'est à peu près tout.
    Jusqu'au

    27

    Pour moi, le verrouillage est le facteur décisif.

    Si vous choisissez Google, votre application ne fonctionnera que sur Google. Si vous vous trouvez moins satisfait après un certain temps, vous êtes bloqué.

    Si vous choisissez pour MS, votre application ne fonctionnera que sur Azure. Même chose.

    Sur Amazon, vous obtenez un ou plusieurs serveurs virtuels qui fonctionnent exactement comme les machines auxquelles vous êtes habitué. Pas satisfait? Ramassez votre application, installez-la sur du matériel réel, c'est fait.


    3
    GAE peut exécuter des applications de servlet java assez standard et peut utiliser une persistance basée sur des normes.
    Stephen Denne

    4
    GAE est complètement ouvert (vous devrez vous en tenir à l'aide d'une API de stockage JDO.)

    1
    Google limite-t-il toujours la quantité de données que vous pouvez extraire à la fois? Leur lockin est basé sur des données plus que du code.
    Mark Ransom

    4
    Vous pouvez utiliser AppScale pour exécuter vos applications sur EC2 ou n'importe où: appscale.cs.ucsb.edu
    Amir

    3
    Aujourd'hui, quelqu'un a réussi à quitter Google en une semaine. Ils admettent également que cela aurait pu prendre des mois s'ils n'avaient pas utilisé les bonnes pratiques depuis le début. carlosble.com/?p=719
    Mark Ransom Le

    20
    • Si vous êtes développeur .NET, accédez à Azure.
    • Si vous utilisez Python ou Java, accédez à Google.
    • Si vous êtes sur Ruby - allez sur Amazon

    Mon choix personnel en ce moment serait Google avec Java (même si je suis .NET la plupart du temps). Pensez aux coûts - leur schéma est difficile à comparer.

    Consultez cet article - http://www.infoq.com/news/2008/11/Comparing-EC2-App-Engine-Azure


    8
    Tous les développeurs .NET ne doivent pas utiliser Azure. Amazon EC2 est une option parfaitement acceptable pour eux. Mais +1 pour référencer l'excellent article.
    Andrew Arnott

    Oui, Amazon est un peu la liberté de la machine virtuelle, mais la communauté principalement Ruby orientée initialement ...

    1
    AWS prend en charge les développeurs .Net sur leur AMI Windows 2003 Server, mais j’imagine qu’un bon nombre de développeurs .Net préféreraient procéder au déploiement sur Windows Server 2008, qui n’a pas encore été matérialisé sur AWS. Si vous êtes un habitué des forums AWS, vous avez peut-être compris qu'Amazon était un peu silencieux sur cette question.
    Richard Dorman

    2
    Je suis un développeur .NET par métier, mais le prix à payer pour l'utilisation d'un site Azure par un site Web a généré 0 hits. J'ai écrit quelques comparaisons sur mon blog: blog.dantup.com/2009/12/… blog.dantup.com/2009/12/…
    Danny Tuppeny

    4
    Si vous utilisez Ruby, envisagez Heroku ou EngineYard au lieu d’Amazon.
    Andy318

    20

    Comme Arachnid, je peux être partial, étant un googleur. Cependant, je suis aussi un actionnaire d'Amazon, de sorte que ce biais peut compenser en partie le premier ;-). Aucune expérience Azure (bien que je détienne également des actions MSFT, j'espère qu'elles s'en tirent bien - un autre parti pris ;-).

    Mon point de vue très simple, c’est que App Engine vous offre facilement la possibilité de travailler (dans les limites de ses limites) simplement en codant : aucune tâche d’administration système n’est nécessaire. AWS est beaucoup plus flexible, mais vous aurez besoin d'un travail considérable en matière d'administration système (et pas vraiment trivial du tout) pour tirer parti de cette flexibilité. Donc, au bout du compte, je souscris à la suggestion d'Arachnid: si App Engine peut répondre à vos besoins, allez-y absolument; Si vous avez besoin de plus de flexibilité, AWS semble être la voie à suivre (à moins que les capacités inconnues d'Azure ne soient plus compatibles, mais je pense qu'AWS sera plus flexible, peu importe ce qu'Azure peut faire, par exemple avec AWS. peut même choisir quel OS utiliser, si vous en avez besoin).


    14

    Je viens de commencer à travailler avec Azure et je suis déjà convaincu que vous pouvez le faire en F #: http://code.msdn.microsoft.com/fsharpazure.! Jusqu'à présent, c'est la seule plate-forme cloud permettant d'utiliser la programmation fonctionnelle de manière gérée (bien sûr, vous pouvez utiliser Haskell dans EC2 ... ou Algol 68 d'ailleurs). Je suis très impressionné par la qualité de l'intégration de Visual Studio: vous obtenez un «nuage» local à tester, DevFabric, avec un stockage qui est un vrai serveur SQL Server, ce qui vous permet de jouer avant le téléchargement. Est-ce que GAE peut faire ça? En ce qui concerne Azure et l’apprentissage de VS avec F # (provenant de Linux et d’OCaml), j’aurais bien aimé passer à MS stack depuis longtemps. Il est très facile de créer un stockage SQL et de l'inspecter dans un système virtuel - est très pratique. L’Open Source n’a pas d’ensemble d’outils correspondant et il est temps que les gens accordent à la SEP une juste considération - ils ont fait un travail formidable ici. Je m'en tiens sûrement à ma base Mac OSX (double démarrage sous Vista), et mon intuition est grâce à la possibilité de développer localement Azure, je recevrai une boîte Vista distincte pour le développement Azure. .NET est vraiment bouleversant quand on vient du monde des pipes Unix - PowerShell, SQL et LINQ, C # et F # (ce qui est ma raison principale) - mais il s’avère que tout s’ajoute et vaut la peine d’être appris en plus, pas à la place. de, Linux; et dans tous les cas, Azure élargira vos horizons.


    2
    Azure ne propose pas quelque chose qui ne corresponde même pas à distance aux fonctionnalités d'Amazon Elastic Map Reduce (basé sur Hadoop Open Source). Cela ne permet même pas de définir le nombre de rôles de travail par programme.

    3
    Microsoft tente clairement de monétiser sa base de développeurs .NET, et il est vrai que tirer parti de la pile Microsoft présente des avantages. Je ne suis pas convaincu que cela compense à lui seul le modèle coûteux de calcul des coûts par blocs. L’intérêt du cloud computing réside dans une élasticité sans maintenance, à la maintenance zéro, qu’Azure ne propose pas encore.

    Vous pouvez utiliser Clojure dans GAE. the-deadline.appspot.com/login

    8

    Même si j'aime GAE, l'une des principales raisons pour lesquelles j'utilise EC2 over GAE pour mon projet actuel est que je dois pouvoir faire desservir l'avant de mon application à partir de centres de données situés dans différentes parties du monde. GAE s'exécute dans un centre de données à la fois. Par exemple, j'ai besoin que les utilisateurs asiatiques accèdent aux serveurs asiatiques pour obtenir les temps de réponse les plus rapides possibles pour mon application. Ajoutez à cela la capacité de gérer les DNS, les équilibreurs de charge, la base de données de choix, le transfert de canal vers S3 pour le traitement hadoop des données, etc., et EC2 devient une solution vraiment convaincante.


    5

    Quelques points à considérer:

    Se mettre au diapason: avec quelle rapidité pouvez-vous être productif avec l'environnement choisi, quel type de documentation existe et sont-ils des exemples clairs et bien accompagnés, apparents et utiles?

    Coût: le coût est un facteur, mais si vous créez une application commerciale qui aura réellement des clients, tous ces choix sont viables. Si vous supposez qu'Azure, avec un proc sur une "petite" instance, coûte environ 90 dollars par mois pour une utilisation 24x7 ... combien d'utilisateurs pouvez-vous desservir pendant cette période? Ajoutez une seconde instance pour la redondance ... toujours pas si coûteux si votre trafic le justifie. Si ce n'est pas le cas, pourquoi êtes-vous dans le cloud plutôt que chez un fournisseur hébergé bon marché? Des facteurs de coûts plus importants interviennent dans votre temps pour mettre cela en œuvre. AWS est une solution personnalisée. C’est beaucoup pour gérer une solution stable et bien gérée. Azure et GAE ont tout cela en main. Dans mon esprit, AWS est le plus cher en raison du travail que vous devez y mettre. Avez-vous vraiment besoin de contrôler cela à un niveau de granularité aussi fin? Si c'est le cas,

    Capacité à faire ce que vous voulez: AWS jusqu'au bout. Azure est deuxième, GAE est troisième. Pas grave si ce que vous voulez, c'est Java et Python. Biggie si vous souhaitez effectuer une base de données relationnelle ou un traitement de données étendu multithread en C ++ (vous ne savez pas si l’un d’entre eux le fait maintenant?).

    Qu'en est-il de la portabilité? Pouvez-vous le rapporter à votre propre ferme plus tard ou le transférer vers une autre ferme cloud? Ils sont tous portables dans une certaine mesure.

    Beaucoup de choses à penser ... j'apprends toujours à ce sujet moi-même.


    TyphoonAE et AppScale sont d'excellents outils pour exécuter des applications GAE ailleurs.

    4

    Si vous devez démarrer des instances manuellement pour répondre à la demande, il ne s'agit pas d'un nuage.

    Azure et EC2 ne sont que des serveurs virtuels avec certains services de côté.

    Mise à jour:

    EC2 et Azure vous offrent des options pour gérer le démarrage de nouvelles instances automatiquement sous charge, mais vous devez le gérer. Et vous payez pour les instances qui sont actives et inactives.

    GAE gère automatiquement cette opération et ne vous facture que le temps pendant lequel votre code est exécuté pendant les demandes.


    1
    Je pense qu’Amazon CloudWatch résout le problème du démarrage d’instances supplémentaires en fonction du trafic.

    1
    L'une des démonstrations les plus courantes que j'ai vues pour Azure est la démonstration relative à l'évolutivité dans laquelle ils écrivent du code afin de définir des seuils pour l'activation ou la réduction des travailleurs Web en fonction de la charge. Il est couvert dans le kit de formation Windows Azuer: microsoft.com/downloads/en/…

    4

    Voici quelques autres considérations.

    GAE - Plus haut sur la plate-forme en tant que pile de services puis AWS et Azure, tout le trafic est acheminé via leur DNS ghs.google.com, le chargement dynamique desservant votre page via l'une de leurs machines, ce qui leur permet de maintenir les prix bas. la mise à l’échelle est affinée avec cette approche, Cons n’est pas une adresse IP statique, susceptible d’être filtrée ou bloquée. En raison de la limitation non statique de l'adresse IP, vous ne pourrez configurer aucun certificat https spécifique à un site.

    AWS et Azure vous fournissent en gros une adresse IP statique et une machine virtuelle dédiée, permettant de répondre à des exigences de base telles qu'un certificat https. vous obtiendrez également un support de stockage relationnel. Le coût est également plus élevé pour refléter ce fait de machine virtuelle dédiée, et vous évoluerez par machine virtuelle, donc par tranches de 40 dollars / mois. L’avantage est que, puisque vous avez une machine virtuelle à vous-même, vous n'êtes pas contraint à la limite de 30 secondes de traitement du processeur sur GAE et vous pouvez exécuter des tâches plus importantes.

    Donc, si vous envisagez des bases de clients dans des pays filtrés, ou si vous voulez une adresse IP statique pour effectuer votre propre configuration DNS, ou avez des exigences qui nécessitent une base de données relationnelle ou des tâches de plus de 30 secondes. AWS, Azure serait beaucoup plus convivial.


    3

    Examinez les solutions proposées par chaque cloud et optez pour le modèle hybride. Certains problèmes nécessitent un marteau et d'autres un tournevis. Apprenez à connaître vos outils et appliquez-les au bon problème.


    3

    Je n'ai pas assez de réputation pour laisser un commentaire pour l'une des réponses ci-dessus. La pertinence de l’une de ces solutions cloud dépend de nombreux facteurs, notamment de vos besoins et de vos compétences.

    J'ai un projet de réseau social qui nécessite une base de données nosql. AppEngine serait une bonne solution s'il supportait mieux les différents cadres. Django avec un adaptateur non lié fonctionne sur Python GAE, mais je préfère Rails pour de nombreuses raisons. Rails3 est sorti depuis quelques mois et personne dans la communauté ou dans l'équipe de GAE n'a encore écrit de recette pour l'appuyer. À moins que vous ne possédiez les compétences requises - connaître le ruby ​​et les rails du train, le jruby et le GAE - pour écrire votre propre recette, vous êtes à la merci d'autres personnes, rien que pour aller sur la plateforme.

    AWS demande beaucoup plus de travail, mais au moins, vous pouvez utiliser la plate-forme avec n'importe quel outil et gérer de nombreux problèmes de manière administrative plutôt que comme développeur interne ou demandeur de pouvoirs supérieurs.

    Ce que je reproche à Heroku et EngineYard, aux développeurs Ruby, est de savoir comment les bases de données évoluent. Comment évoluent-ils?

    Dans mon cas, j'opte pour une solution NoSQL et Mongo semble être un bon choix. MongoMachine semble être la solution recommandée pour les utilisateurs tels que Heroku ou EY, mais coûte cher. 2,50 USD / Go de stockage? Le stockage coûte seulement 0,10 USD / mois sur GAE ou EBS.


    1

    J'ai récemment commencé à expérimenter avec Google App Engine et, pour un réseau social Web, je pense qu'il répondrait à tous vos besoins. Il est facile à comprendre et peut être utilisé avec Python ou Java. Il est vrai que cela ne vous donne pas accès aux fichiers, mais pour votre application, GQL (l'interface de type SQL avec la base de données fournie) sera probablement plus que suffisant (et il est assez robuste).

    Une chose à considérer est qu'une application sur GAE peut utiliser une interface permettant aux utilisateurs disposant d'un compte Google ou d'un compte sur un domaine utilisant la connexion à Google Apps (raccourci). Vous choisissez l'un ou l'autre. Ainsi, si vous utilisez déjà un site Web Google Apps, Google App Engine serait un excellent choix pour vous, car vos utilisateurs n'auraient pas à enregistrer de nouveaux comptes.

    EDIT: Comme Arachnid l’a souligné, ce n’est pas que vous ne pouvez pas coder votre propre système de connexion. Désolé, si je vous ai inquiété là-bas.

    En ce qui concerne les deux autres alternatives, j'ai seulement lu à leur sujet et je ne les ai pas testées. Mais je crois que GAE fournit un cadre plus simple, à partir de mes recherches, et que vous avez mentionné des prix avantageux.

    Dans tous les cas, vous pouvez essayer GAE en utilisant le quota gratuit d'espace et de bande passante, et voir si cela répond à vos besoins.

    Bonne chance.


    Nitpick: GQL n'est pas la base de données. GQL est un langage de requête de type SQL pour l'exécution Python, écrit au-dessus du magasin de données. Vous n'avez même pas besoin de l'utiliser - il y a aussi l'API de requête.
    Nick Johnson

    En outre, vous pouvez connecter tous les utilisateurs de votre choix dans une application GAE. Il suffit simplement que GAE constitue un raccourci pour utiliser les comptes Google.
    Nick Johnson

    Bon, mauvais choix de mots dans les deux cas, merci de le signaler. Le modifiera :)

    BigTable est le moteur de stockage de données de Google. Après y avoir passé un certain temps, je me suis demandé si j'avais passé toute ma carrière à penser que les SGBDB SQL sont essentiels à l'écriture d'applications Web. Le modèle de stockage BigTable est simple, flexible, performant et évolutif, et fonctionne étonnamment bien.

    1

    Azure a Windows / SQL en tant que serveur "Plate-forme en tant que service", et vous n'êtes certainement pas bloqué. Il vous suffit de revenir à Windows / SQL dans votre propre centre de données (pas de Linux, mais oui, ils supportent Java, Python, PHP, Ruby, Tomcat , Apache, etc.). Comme Amazon, ils fourniront également l’option de machine virtuelle entièrement accessible, de sorte que vous pourrez installer / exécuter tout ce que vous voulez.

    Amazon a uniquement une machine virtuelle, vous devez donc toujours installer, corriger, obtenir une licence, sécuriser, etc. Vous venez de déplacer quelque chose de votre centre de données à un autre.

    Google n'a pas de base de données relationnelle et vous seriez STUCK. Ils ne s'adressent vraiment qu'aux développeurs Python et à un support limité pour Java. De mon point de vue, ils ne jouent vraiment pas dans le cloud.


    4
    Jeff - après avoir formé des partenaires Microsoft sur SQL Server 2008, je suis passionné et familiarisé avec les avantages de la pile Windows / SQL, mais j'ai tout le mal à accepter que l'un d'entre eux soit STUCK avec BigTable de Google. Environ une demi-douzaine de bonnes bibliothèques encapsulent l'API BigTable, l'exposant ainsi de tout, d'un SGBDR psuedo à un silo de document indexé. BigTable a été conçu pour s'adapter à de nombreux serveurs (Google a trouvé 1 500 points de sueur par cluster), un exploit que SQL ne peut tout simplement pas bien faire.

    1

    Une chose qui n’a pas été mentionnée ici, c’est ce que tout le monde considère du "bus de service et du service de maintenance AppFabric Windows Azure" en plus du nom horrible ...?

    Cela semble être une pile très puissante de fonctionnalités d'intégration qui rendraient Azure attrayant du point de vue de toute entreprise investissant dans une infrastructure sur site.


    Oui, mais le revers de la médaille est que Microsoft a officiellement dit "Non" à l'hébergement sur site Azure pour les entreprises, ce qui nuit à l'attrait du bus.

    1
    Bien que son nom soit vrai, ce n'est pas vrai dans la pratique, Microsoft propose une pile de cloud privé très attrayante avec Hyper-V (qui est gratuit) et des choses comme Systems Center & InTune, ce n'est tout simplement pas "Azure". Si vous le souhaitez, l'option "Azure Appliances" sera bientôt disponible pour les tiers, mais vous devez être assez énorme pour justifier ces coûts. J'ai entendu dire que vous deviez prendre en charge un minimum de 1 000 nœuds, c'est donc davantage pour les propriétaires de centres de données.

    0

    Après avoir expérimenté Amazon EC2 pendant un certain temps et rencontré quelques retards, j'ai commencé à rechercher Google Apps tout en expérimentant en raison de son coût. Je préférerais utiliser Erlang comme langage de développement, mais je peux gérer Python, ce qui n'a donc pas été un facteur déterminant. Quand j'ai vu aucune adresse IP statique, c'était. De plus, le fait qu'il soit plus haut sur la pile me rend un peu nerveuse en ce qui concerne les performances.

    J'aimerais que AWS soit moins cher, mais jusqu'à ce que Google fournisse des adresses IP statiques et, de préférence, des langues supplémentaires telles que Scala, JRuby et Erlang, le choix est clair pour moi: AWS . Les deux premières langues doivent également être simples, elles sont toutes deux basées sur la JVM. Peut-être même déjà fait par le biais de solutions de rechange, car je me souviens avoir lu quelque chose à ce sujet.


    Pour être pédant, vous pouvez exécuter Scala, JRuby et même Clojure sur App Engine, car la JVM est sous le capot. Maintenant, savoir s'il est facile d'utiliser ces langues est une autre histoire ...
    Chris Smith

    0

    Les gars, je pense qu'en dehors de simplement penser à la plate-forme sur laquelle la comparaison devrait être supportée sur l'évolutivité, la facilité d'accès, la polyvalence (en termes de mise en œuvre), peut accueillir différentes plates-formes d'hébergement, tout aussi économiquement viables pour l'analyse de rentabilisation, propose de multiples solutions pour les entreprises. applications (stockage, livraison, bande passante, politique de licence, etc.), crédibilité record de la qualité de service, audit vérifié, transparence de la facturation ainsi que des coûts, etc. Si vous regardez tous les indicateurs ci-dessus, AWS se situe bien au-dessus . Je gère 10 comptes de production sur AWS depuis 2 ans et, en même temps, la société / unité commerciale a été en mesure de satisfaire les demandes énormes d’évolutivité des clients. Il ne fait aucun doute qu’AWS doit entretenir l’infrastructure, les mises à jour (le cas échéant). requis), sécurité etc. Mais vous avez tous les outils disponibles sur le marché / net librement. Les ressources informatiques existantes peuvent également gérer toute l'infrastructure sur AWS.

    Azure est bien sûr doté d'un environnement de développement intégré intégré à VS 2010, mais le chiffrage réel de tout nuage commence après le déploiement réussi de l'application (plate-forme de déploiement). Il reste encore beaucoup à faire pour traiter des scénarios de déploiement en temps réel et de production évolutive ... Comme tout le monde le sait, MS joue de nombreux problèmes cachés concernant les coûts. Il est très difficile de déterminer les coûts engagés ou à supporter (lors de l'envoi estimations).

    GAE est très spécifique pour les applications Python / Java. Un effort énorme (à la fois en termes de ressources et de coûts) pour que l'application soit réécrite (existante), testée, déployée, etc.

    En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
    Licensed under cc by-sa 3.0 with attribution required.