2016-11-29 1 views
2

Wir implementieren derzeit eine einzelne Funktionsanwendung pro Umgebung/Region in Azure. Diese Function Apps enthalten viele Funktionen in ihnen. Da der Serviceplan auf Verbrauch und damit dynamisch eingestellt ist, sind wir ziemlich zufrieden damit, da er die betriebliche Komplexität in unseren ARM-Templates reduziert.Mehrfachfunktions-Apps mit weniger Funktionen oder wenigen Funktions-Apps mit vielen Funktionen?

Wir wundern uns aber, wenn es am besten wäre, mehr "Funktions-Apps" pro Umgebung zu haben und unsere Funktionen auf sie zu verteilen?

Gibt es einen echten Vorteil, da wir unter dem Eindruck stehen, dass die Leistung durch den dynamischen Serviceplan skaliert wird?

Antwort

7

Jordan,

Die Antwort auf die Frage wirklich von der Art der Arbeitsbelastung abhängen würden Sie Ihre Funktionen sind Handhabung.

Obwohl der Skalierungscontroller die Skalierung nach Bedarf abwickelt, teilen Funktionen innerhalb einer Funktionsanwendung Ressourcen für jede Instanz und ein ressourcenintensiver (entweder Speicher oder CPU) kann andere Funktionen in derselben Anwendung beeinträchtigen.

Es gibt auch keine Prozesstrennung zwischen Funktionen in der gleichen Funktions-App. Sie laufen alle in demselben Prozess (außer einigen Skriptsprachen wie Python, Batch usw.) und in derselben App-Domäne. Wenn also die Isolation ein Faktor ist (aus Gründen wie Sicherheit, Abhängigkeitsverwaltung, gemeinsamer Status usw.), sollten Sie in Betracht ziehen, Funktionen in verschiedene Apps aufzuteilen.

Versionierung und Bereitstellung ist ein weiterer Faktor eine Überlegung wert, wie die Einheit der Bereitstellung einer Funktion App ist (und nicht die einzelnen Funktionen)

das gesagt ist, wenn Sie nicht in der Ressourcenverbrauch Probleme mit Ihrer Workloads und die oben genannten Probleme sind kein Problem, wie Sie bereits erwähnt haben. Das Ausführen mehrerer Funktionen in einer einzigen Funktions-App vereinfacht die Verwaltung erheblich, daher würde ich diesen Ansatz nicht ändern, wenn es nicht nötig wäre.

Ich hoffe, das hilft!