Pourquoi le déploiement d'Azure prend-il si longtemps?

143

J'essaie de comprendre pourquoi le déploiement d'une petite application sur Azure peut prendre de 20 à 60 minutes (en utilisant la méthode de téléchargement de configuration / package, pas depuis VS).

J'ai lu cette situation et celle-ci, mais je ne suis toujours pas clair - y a-t-il un étrange rituel non technologique qui se produit pendant que les instances se distribuent, comme quelqu'un chez Microsoft allumant une bougie ou faisant une danse?

ensemble vide
la source
12
C'est exactement la raison pour laquelle j'utilise toujours EC2 même si j'aime l'abstraction de l'administration du système d'exploitation fournie par Azure.
stepanian
12
En attendant, nous sommes presque 3 ans de plus et toujours très lents.
staccata
Les sites Web @staccata sont beaucoup plus rapides à déployer, alors utilisez-les si vous le pouvez.
Casey
Difficile de comprendre que 5 ans se sont écoulés, mais le temps de démarrage est toujours le même.
rks le
4
c'est maintenant la fin de 2017 et c'est encore super lent. Parfois, je pense à déballer un ordinateur, puis à installer le système d'exploitation, puis à déployer l'application manuellement est plus rapide que cela.
hoangpx

Réponses:

58

En tant que collègue utilisateur d'Azure, je partage votre douleur - le déploiement n'est pas «rapide» / «indolore» - et cela fait particulièrement mal lorsque vous êtes dans un cycle de développement et que vous souhaitez tester des dev itérations sur Azure. Cependant, en général, les déploiements devraient prendre beaucoup moins de 60 minutes - et moins de 20 minutes également.

Steve Marx a donné un bref aperçu des étapes du déploiement: http://blog.smarx.com/posts/what-happens-when-you-deploy-on-windows-azure

Et il fait référence à une explication plus approfondie sur: http://channel9.msdn.com/blogs/pdc2008/es19

Stuart
la source
9
Cette réponse est-elle toujours appropriée pour 2018? J'essaie de déployer un cache Redis sur Azure. Mon premier service sur Azur - j'attendais depuis 25 minutes maintenant et je ne peux pas croire que cela soit normal / acceptable.
Gravy
1
@Gravy J'utilise beaucoup depuis des années maintenant, et oui, les déploiements (en particulier des machines virtuelles) peuvent parfois être extrêmement lents. En général, vous recherchez entre 10 et 60 minutes.
Cocowalla
26

Il se passe beaucoup de choses dans les coulisses lorsque vous déployez une application sur le cloud Azure. Je n'ai aucune idée particulière de ce qui se passe derrière le rideau, mais après avoir travaillé sur les outils VS pour télécharger des projets sur le cloud Azure, voici mes impressions en tant qu'étranger qui regarde:

Entre autres:

  1. Le matériel doit être alloué à partir du pool de serveurs disponible
  2. Le VHD du système d'exploitation principal doit être téléchargé sur la machine
  3. Une instance de VM doit être initialisée et démarrée à partir de cette image VHD
  4. Votre package d'application doit être copié sur la VM et installé
  5. Le moniteur de VM doit attendre le démarrage de votre service ou échouer
  6. L'équilibreur de charge et le pare-feu du centre de données doivent être informés des points de terminaison de service de votre application
  7. Une fois tout cela synchronisé, votre application est accessible depuis le Web.

L'image VHD a probablement une taille de gigaoctets, beaucoup plus grande que le téléchargement de votre application. Même sur un réseau de centre de données ultra-rapide, il faut du temps pour déplacer autant de choses dans la VM, la décompresser et démarrer à partir de celle-ci. De plus, l'équilibreur de charge et le pare-feu sont probablement optimisés pour faire des demandes de routage la priorité la plus élevée. La reconfiguration du pare-feu et de l'équilibreur de charge est une priorité inférieure et doit être effectuée sans interrompre le flux de trafic.

Notez également que tout ce travail ne doit être effectué que pour un nouveau déploiement. La mise à jour d'un déploiement existant se déroule beaucoup plus rapidement - 2 à 3 minutes au lieu de 20 à 30 minutes.

dthorpe
la source
2
Points intéressants, mais étant donné que nous avons la plus rapide de toutes les options disponibles de nos jours. Cela ne devrait-il pas nous permettre de faire tout cela en quelques secondes sinon en ms?
afr0
"Ces jours-ci", c'est maintenant 5 ans après la rédaction de mon commentaire initial. Je suis sûr que les performances d'approvisionnement d'Azure se sont améliorées depuis 2011.:>
dthorpe
7
toujours pas en quelques secondes, je peux confirmer que
afr0
définitivement pas.
philippeback
4
Ouais, cela prend encore 10 minutes pour un nouveau déploiement. Honnêtement, je suis un peu surpris qu'Azure ne fasse pas attendre certaines machines virtuelles à l'étape 4 de cette liste pour améliorer leur expérience client.
Fls'Zen
18

Regardez cette vidéo PDC10 de Mark Russinovich. Il entre dans les détails sur ce qui se passe dans Azure avec quelques informations sur le processus de déploiement (certes lent).

Le lien d'origine ne fonctionne plus. Voici un autre lien vers une version de la même présentation: https://channel9.msdn.com/events/Build/BUILD2011/SAC-853T

BrentDaCodeMonkey
la source
5
Excellent lien, mais pas encore de +1: la vidéo dure plus d'une heure, donc cela aurait été extrêmement pratique si vous aviez posté un petit résumé des faits saillants. Si vous le faites: +1 de moi.
Jeroen Wiert Pluimers
3
Pour être juste, BrentDaCodeMonkey a dit qu'il rentre dans les "grands détails" .. une bonne vidéo quand même!
Jamie Keeling
32
Wow .. Cette vidéo est un long déploiement de Windows Azure.
André Pena
1
Certes, c'était un enregistrement assez ancien (en termes de cloud). J'ai mis à jour avec un nouveau lien vers la même session par Russinovich à partir d'un événement différent.
BrentDaCodeMonkey