myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Entwicklungs- und Laufzeitumgebung (Infrastruktur) » Worker Service hosten auf Azure
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Worker Service hosten auf Azure

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 278
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn


CoderboyPB ist offline

Worker Service hosten auf Azure

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo, ich plane meinen selbstgeschriebenen Twitter Bot als Worker Service auf Azure zu hosten, allerdings habe ich keine Ahnung, welche Kategorie das ist, finde deshalb im Pricing Calculator keine Antwort auf folgende Frage:

Was kostet (ungefähr, nur die grobe Größenordnung) das hosten eines sehr simplen kleinen Worker Services auf Azure?
14.01.2021 13:37 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.468
Herkunft: BW


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Die Bezeichnung Worker Service gibt es so nicht; was Du hast ist im Endeffekt eine Konsolenanwendung, die dauerhaft läuft.
Diese kannst Du aber in der Form nicht 1:1 in Azure hosten; jedenfalls nicht direkt (sondern dann über eine VM).

Die "Lift and Shift" Alternative ist ein Azure Web Job; hier kannst Du langlaufende Konsolen-Anwendungen starten lassen und mit bisschen Glue-Code klappt das auch mit normalen Konsolenanwendungen.
Oder aber Du packst das alles in einen Docker-Container, brauchst dann eine Web App mit Container Support und lässt das damit laufen (ab 8€).
Beide Dinge hat aber den Nachteil, dass Du Resourcen dauerhaft buchen musst, auch wenn Du sie nicht benötigst (weil zB. Deine App gerade im Idle ist, weil sie nichts tweeten muss).
Damit bezahlst Du entsprechend unnötig Zeugs und bist (im Vergleich) teurer unterwegs.

Auf einer Cloud-Plattform würde man das ganz anders programmieren, um Resourcen-schonend und damit auch extrem billig sowas laufen lassen zu können; zwei einfache Dinge.
- Du verwendest eine Azure Logic App und baust Dir Dein Twitter Bot. Es gibt hier vorgefertigte Bausteine (zB. "auf Schlagwort hören" und "Tweet absenden"). Kannst also Dein Bot zusammen stecken. Beispiel:  https://www.rubberduckdev.com/twitter-bot/
- Du verwendest eine Azure Function, die einen Trigger verwendet um auf Twitter-Wörter zu hören, sodass Dein Code nur ausgeführt wird, wenn er gebraucht wird.
Beides ist die absolut kostengünstigste Art und Weise so einen Bot umzusetzen.
Das kann sogar so günstig sein, dass es kostenlos ist, weil Du jeden Monaten hier ein Kontingent an freien Ressourcen hast (bei Functions zB. 1 Million Ausführungen pro Monat sind immer kostenlos).
In beiden Fällen erfolgt das Pricing immer nur nach den Ressourcen, die Du tatsächlich brauchst -> damit billig.
14.01.2021 13:44 Beiträge des Benutzers | zu Buddylist hinzufügen
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 278
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn

Themenstarter Thema begonnen von CoderboyPB

CoderboyPB ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke :-)

Mal ne kurze andere Frage, wenn ich das local als Widows Dienst betreibe, läuft dieser im STANDBY (nicht Ruhezustand) weiter?
14.01.2021 14:05 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.468
Herkunft: BW


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Standby ist der englische Begriff für den Ruhezustand.
Wäre mir neu, dass das unterschiedliche Dinge wären - und natürlich ist da alles aus.
14.01.2021 14:23 Beiträge des Benutzers | zu Buddylist hinzufügen
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 278
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn

Themenstarter Thema begonnen von CoderboyPB

CoderboyPB ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Standby nicht Hibernate
14.01.2021 14:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.468
Herkunft: BW


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ah..jetz. Richtig. Aber in beiden Fällen is doch das System aus.
Der Unterschied war doch nur, dass Standby das System im RAM schlafen legt und Hibernate das System auf die Disk.
Aber aus ist aus.
14.01.2021 16:01 Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.468
Herkunft: BW


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Da nun nach dem Thread  Windows Dienst stoppt nach erster Ausführung klar ist was ein Worker ist (nämlich eine stink normale Hosting Pipeline; das Wort "Worker" ist hier selbst kriiert) kann man auch sachlich drauf antworten.

Du willst eigentlich gar kein Windows Service / "Worker" Service hosten, sondern Du willst nen .NET Background Service hosten.
Dazu kannst Du einfach eine ASP.NET Core Anwendung verwenden, die dann als WebApp läuft.
Darin musst Du einfach nur den Background Service in ASP.NET Core registrieren.

In den Azure Configs musst Du dann nur einstellen, dass die Anwendung dauerhaft laufen soll und nicht erst mit dem ersten Request (Always On).
Günstigste Variante ist hier 8€, weil Du in der Free Variante nur 60 Min free compute hast.


Bessere Variante:
einfach ne Azure Function nehmen, die alle X Minuten automatisch gestartet wird (kann man via Trigger angeben), die Deine Bot.Run() Methode ausführt. Den restlichen Code brauchst Du gar nicht.

C#-Code:
[FunctionName("TwitterBot")] // alle 5 Minuten
public static async Task Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer, ILogger log)
{
      await Bot.Run();
}

Wenn ein Monat 43.200 Minuten hat und die Function alle 5 Min gestartet wird, dann sind das 8640 Ausführungen.
Damit dürfte das ganze kostenlos zu hosten sein.

PS: keine Ahnung, wieso für Deine ganzen Themen immer im Smalltalk-Bereich erstellst und wir die Themen dann verschieben müssen.
Nimm doch einfach den richtigen Forenbereich, danke ;-)
14.01.2021 17:37 Beiträge des Benutzers | zu Buddylist hinzufügen
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 278
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn

Themenstarter Thema begonnen von CoderboyPB

CoderboyPB ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

zum Thema 'Worker Service', das ist keine Wortschöpfung von mir:

 https://www.stevejgordon.co.uk/what-are-...worker-services

Was die falschen Forenbereiche angeht, es ist ja nicht so, dass ich nicht vorher schaue, aber es ist wie so oft, auch bei Support Hotlines, dass man wie so oft nicht weiß, wo man sein Thema nun einordnen soll, aber klar, versuche ich es wenigstens.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von CoderboyPB am 14.01.2021 19:06.

14.01.2021 19:03 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.468
Herkunft: BW


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ja, Worker Service ist aber kein Produkt, sondern ein Teil von ASP.NET.
Dahingehend hättest Du durchaus sagen können, von was Du wirklich sprichst - das hätte es einfacher gemacht ;-)

Da hätte ich direkt sagen können, dass Du das gar nicht brauchst, um periodisch Dinge auf Azure auszuführen (siehe mein letzter Beitrag).
14.01.2021 19:25 Beiträge des Benutzers | zu Buddylist hinzufügen
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 278
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn

Themenstarter Thema begonnen von CoderboyPB

CoderboyPB ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Das Thema Azure hat sich erledigt, der Twitterkollege wird das jetzt als Dienst auf seinem Rechner hosten, ich habe ihn über die Einschränkungen aufgeklärt, es ist OK für ihn.
14.01.2021 20:24 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2021 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 22.01.2021 12:41