Was ich in Windows Azure-Materialien zur Bereitstellung von Anwendungen sehe (z. B. dieses Labor ), Man muss bei der Bereitstellung seiner Anwendung die "Rollengröße" und die Anzahl der Rolleninstanzen auswählen.
Das sieht uncool aus - was passiert, wenn die Anzahl der Anfragen an die Anwendung plötzlich zunimmt?
Ist es möglich, eine Anwendung so zu implementieren, dass im Falle einer hohen Auslastung zusätzliche Rollenexemplare erzeugt werden und diese dann beendet werden, wenn die Auslastung geringer wird?
Auto-Skalierung ist heute kein integrierter Dienst, aber es gibt Tools von Drittanbietern, die diesen Dienst anbieten, wie z. B. Paraleaps AzureWatch . Sie können auch Ihre eigenen rollen (und hier ist ein Starter-Beispiel ), aber ich würde es nicht empfehlen, wenn Sie anfangen, Es gibt viele Dinge, über die man nachdenken sollte, wie zum Beispiel:
Um Ihre eigene Skalierung vorzunehmen, müssen Sie diesen Code entweder lokal oder in einer Ihrer Rollen platzieren (vorzugsweise eine eigene "Manager" -Rolle). Wenn Sie in einer Rolle sind, müssen Sie sicherstellen, dass der Management-Code nur in einer Instanz ausgeführt wird (mit einem Blob-Lock-Semaphor oder ähnlichem). Andernfalls besteht das Risiko einer doppelten Skalierung.
Ich würde AzureWatch ernsthaft betrachten, um loszulegen: Es ist ein Penny pro Instanz pro Stunde, und Sie werden sehr schnell einsatzbereit sein.
Diese Funktion ist nicht in Azure eingebettet - aber Microsoft fügt möglicherweise in der Zukunft etwas hinzu.
Es gibt ziemlich viele Beispiele, die Ihnen zeigen, wie Sie das selbst implementieren - z. siehe Ссылка
Als Update dazu - Scott Gu sprach diese Woche (Juni 2011) in London und er schlug vor, dass Autoscaling etwas ist, an dem Microsoft aktiv arbeitete und in naher Zukunft liefern würde. Offensichtlich gibt es derzeit kein Datum - und keine Garantien!
Im November 2011 hat Microsoft den Autoscaling Application Block (Wasabi) ausgeliefert. Hör zu. Ссылка
Es ist nicht wie andere Dienste (ACL, Caching, Service Bus usw.) in Windows Azure eingebunden, sondern eine Komponente, die Sie hosten müssen. Es ist ziemlich einfach zu tun und damit kommt die Flexibilität der Bereitstellung Ihrer eigenen Datensammler, Metriken und benutzerdefinierten Aktionen.
Ein paar nützliche Präsentationen und Demos finden Sie hier:
Tags und Links azure windows load-balancing