Quand faut-il utiliser les éléments suivants: Amazon EC2, Google App Engine, Microsoft Azure et Salesforce.com?

88

Je pose cette question dans un sens très général. À la fois du point de vue du fournisseur de cloud et du consommateur de cloud. La question n'est pas non plus pour un type d'application spécifique (en fait, l'intention est de savoir quel type d'applications / domaines peut s'intégrer dans quelle dalle cloud -SaaS PaaS IaaS).

Jusqu'à présent, ma compréhension est:

IaaS: matériel brut (processeurs, réseaux, stockage).

PaaS: OS, logiciels système, cadre de développement, machines virtuelles.

SaaS: Applications logicielles.

Ce serait formidable si Stackoverflower pouvait partager sa compréhension et ses expériences du concept de cloud computing.

EDIT: Ok, je vais le mettre de manière plus spécifique -

Amazon EC2: vous n'avez pas de contrôle sur la couche matérielle. Mais vous pouvez choisir l'image du système d'exploitation, le Dev Framework (.NET, J2EE, LAMP) et l'application et le mettre sur du matériel EC2. Pouvez-vous déployer des applications créées avec Google App Engine ou Azure sur EC2?

Google App Engine: vous n'avez pas de contrôle sur le matériel et le système d'exploitation et vous disposez d'un framework de développement spécifique pour créer votre application. Pouvez-vous prendre n'importe quelle application Java ou Python existante et la porter vers GAE? Ou vice versa, les applications qui ont été construites sur GAE peuvent-elles être retirées de GAE et portées sur n'importe quel serveur d'applications comme Websphere ou Weblogic?

Azure: vous n'avez pas de contrôle sur le matériel et le système d'exploitation et vous disposez d'un cadre de développement spécifique pour créer votre application. Pouvez-vous prendre n'importe quelle application .NET existante et la porter sur Azure? Ou vice versa, les applications créées sur Azure peuvent-elles être retirées d'Azure et portées vers n'importe quel serveur d'applications comme Biztalk?

user32262
la source
2
Vous avez oublié les serveurs Cloud Rackspace / Rackspace Cloud
phoebus
2
C'est une question intéressante mais peut-être plus appropriée pour ServerFault car il s'agit plus de distribuer des applications serveur que de simplement en écrire une. Vous devriez peut-être publier un deuxième article sur SF qui fait référence à celui-ci et ajouter un lien d'ici vers le Q à SF. De cette façon, vous obtenez une meilleure vue des programmeurs et des administrateurs système!
Wim ten Brink
@phoebus aussi CloudSigma qui est moins connu mais est très évolutif.
AwesomeUser

Réponses:

58

Bonne question! Comme vous le faites remarquer, les différentes offres s'inscrivent dans différentes catégories:

EC2 est Infrastructure as a Service; vous obtenez des instances de VM et faites-les comme vous le souhaitez. Les serveurs Cloud Rackspace sont plus ou moins les mêmes.

Azure, App Engine et Salesforce sont tous une plateforme en tant que service; Cependant, ils offrent différents niveaux d'intégration: Azure vous permet à peu près d'exécuter des services d'arrière-plan arbitraires, tandis qu'App Engine est orienté autour de tâches de gestionnaire de demandes de courte durée (bien qu'il prenne également en charge une file d'attente de tâches et des tâches planifiées). Je ne connais pas très bien l'offre de Salesforce, mais je crois comprendre qu'elle est similaire à App Engine à certains égards, bien que plus spécialisée pour son créneau particulier.

Les offres cloud qui relèvent du logiciel en tant que service vont des éléments d'infrastructure tels que Simple Storage Service d'Amazon et SimpleDB aux applications complètes telles que FogBugz hébergé par Fog Creek et, bien sûr, StackExchange.

Une bonne règle générale est que plus l'offre est de niveau élevé, moins vous aurez de travail à faire, mais plus elle est spécifique. Si vous voulez un traqueur de bogues, utiliser FogBugz sera évidemment le moins de travail; en créer une sur App Engine ou Azure est plus de travail, mais offre plus de polyvalence, tandis que la construction d'une sur des VM brutes comme EC2 est encore plus de travail (beaucoup plus, en fait), mais offre encore plus de polyvalence. Mon conseil général est de choisir la plate-forme de plus haut niveau qui répond toujours à vos exigences et de construire à partir de là.

Nick Johnson
la source
salut, actuellement, nous utilisons Godaddy et arvixe mais nous prévoyons de passer à Amazon AWS ou Azure, j'ai lu d' ici que pour AWS, beaucoup de changement de code est nécessaire, mais en tant que site de vente au détail en ligne, nous ne voulons aucun changement dans le code parce que cela prend du temps, alors dans cette situation, quel serait le meilleur hébergement à choisir?
shaijut
13

Ceci est une excellente question. Divulgation complète car je suis partial envers Azure mais j'ai de l'expérience avec les autres.

Là où je pense qu'Azure se démarque des autres, c'est la transition rapide du local au cloud. Par exemple -

  • SQL Azure - changez la chaîne de connexion, téléchargez la base de données, c'est parti!
  • Les files d'attente fonctionnent beaucoup comme MSMQ.
  • Les blobs sont à peu près des blobs comme vous les secouez, mais ils évoluent comme un fou.
  • Le composant de stockage de table est bon car il offre une évolutivité incroyable pour les paires nom / valeur - mais il faut un certain temps pour s'y habituer.
  • Service Bus est mon préféré des services car il permet une variété de paradigmes de communication. Deux points de terminaison SB essaient d'abord de se connecter l'un à l'autre, s'ils ne le peuvent pas, puis ils acheminent via le cloud - ce qui permet un traitement très sécurisé et évolutif lorsque les pare-feu ont tendance à se mettre en travers.
  • Liste de contrôle d'accès - généralement associée au bus de service pour s'assurer que les bonnes personnes accèdent aux bonnes choses - pensez à SAML dans le cloud.

J'espère que cela aide!

Derek
la source
8

Mon expérience cloud est actuellement limitée à Salesforce.com

Pour les opérations commerciales standard et l'automatisation, il fournit un nombre important de fonctionnalités qui nous permettent de faire fonctionner les applications très rapidement. Nous bénéficions particulièrement des avantages suivants:

  • Sécurité (les administrateurs peuvent contrôler l'accès aux objets et aux champs)
  • Flux de travail et approbations
  • Génération automatique de l'interface utilisateur
  • Rapports et tableaux de bord intégrés
  • L'ensemble du système (y compris nos modifications personnalisées) est accessible via les services Web
  • Capacité à rendre les données du système disponibles via des sites publics (par exemple, commerce électronique)
  • Grande bibliothèque d'applications tierces pour résoudre les problèmes standard

La plate-forme ne résout PAS tous les problèmes.

Je n'utiliserais pas la plateforme pour modéliser une centrale nucléaire ou construire le prochain Twitter.

Craig Harris
la source
6

Les principaux points du cloud computing sont d'économiser sur les coûts en payant l'utilisation et de permettre un déploiement immédiat des ressources informatiques.

Les coûts ne sont pas purement x montant de centimes par instance et par heure. Les coûts comprennent la maintenance, le développement, l'administration, etc. L'énorme avantage du cloud, à mon sens, est de libérer les clients de tout ce qui ne relève pas de leur compétence principale . Si je suis une entreprise d'assurance, je souhaite que mes développeurs se concentrent sur mes problèmes d'assurance qui aident à résoudre les besoins de mes réclamations, tarifs, etc. , service packs, etc.

Ainsi, à mon avis, les plus grands avantages proviennent des offres cloud SaaS et PaaS. On ne devrait aller à IaaS que lorsque PaaS ou SaaS ont de sérieuses restrictions à des besoins spécifiques (c'est-à-dire que j'ai besoin d'installer un ensemble de composants COM propriétaires et Azure ne les prend pas en charge).

Le SaaS convient aux applications de type standard qui ne sont pas le cœur de métier du client, mais plutôt un utilitaire. Ce sont vos systèmes de messagerie typiques, portails, référentiels de documents, systèmes de messagerie, CRM, ERP, comptabilité, etc. etc. Pourquoi réinventer la roue en écrivant le vôtre lorsque vous pouvez personnaliser un produit tiers bien pris en charge.

PaaS est idéal pour la ligne de base des logiciels métier qui prend en charge l'offre commerciale principale des entreprises. Empêche les clients d'avoir à gérer la gestion du système d'exploitation et permet aux clients de se concentrer sur le développement du système d'entreprise - ce que personne d'autre ne peut faire pour le client.

Igorek
la source
3

On peut également profiter des avantages du PaaS (disons, Google App Engine) et l'étendre, parfois et si nécessaire, en retirant certaines machines virtuelles de fournisseurs IaaS (par exemple Amazon) pour faire un certain nombre de calculs puis renvoyer simplement la sortie vers Google App Engine.

De cette façon, vous obtenez le meilleur des deux mondes - vous pouvez rapidement développer des applications évolutives dans GAE, puis vous pouvez toujours l'augmenter en exécutant n'importe quel programme que vous voulez à partir de machines virtuelles Amazon.

joemar.ct
la source
Cela semble intéressant @ joemar.ct! De quel genre de tâches s'agit-il? Où puis-je trouver des didacticiels sur la façon de procéder?
Andru
2

Cela ne cesse de changer, maintenant Windows Azure prend également en charge les machines virtuelles, il s'agit donc désormais d'un fournisseur IaaS.

Albert Cheng
la source