web-dev-qa-db-fra.com

Pourquoi le déploiement Azure prend-il autant de temps?

J'essaie de comprendre pourquoi cela peut prendre de 20 à 60 minutes pour déployer une petite application sur Azure (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 la distribution des instances, comme quelqu'un chez Microsoft allume une bougie ou fait une danse?

134
emptyset

En tant qu'utilisateur 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 les itérations de développement 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 impliquées dans le déploiement: http://blog.smarx.com/posts/what-happens-when-you-deploy-on-windows-Azure

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

57
Stuart

Il y a beaucoup de choses qui se passent dans les coulisses lorsque vous déployez une application dans 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 dans le cloud Azure, voici mes impressions en tant qu'étranger à la recherche:

Entre autres:

  1. Le matériel doit être alloué à partir du pool de serveurs disponible
  2. Le disque dur virtuel du système d'exploitation principal doit être téléchargé sur la machine
  3. Une VM doit être initialisée et démarrée à partir de cette image VHD
  4. Votre package d'application doit être copié dans le VM et installé
  5. Le moniteur VM doit attendre que votre service démarre 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 est probablement de taille gigaoctet, 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 machine virtuelle, 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 moins prioritaire 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.

26
dthorpe

Découvrez cette vidéo PDC10 de Mark Russinovich. Il explique en détail ce qui se passe à l'intérieur d'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

18
BrentDaCodeMonkey