myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Gemeinschaft (https://www.mycsharp.de/wbb2/board.php?boardid=64)
-- Smalltalk (https://www.mycsharp.de/wbb2/board.php?boardid=33)
--- Azure: Bestehende Webseite hosten bzw. migrieren - Erfahrungen und Kosten (https://www.mycsharp.de/wbb2/thread.php?threadid=121875)


Geschrieben von teebeast am 15.05.2019 um 13:35:
  Azure: Bestehende Webseite hosten bzw. migrieren - Erfahrungen und Kosten
Hallo zusammen,

ich habe immer wieder mal - mit wenig Erfolg - mir überlegt, wie ich eine bestehende Webseite nach Azure bekommen könnte bzw. ob Azure für mich überhaupt eine geeignete Wahl ist. Vor allem aus dem finanziellen Aspekt heraus. Gerade hier habe ich das Gefühl, dass man ganz schnell in finanzielle Dimensionen vorstößt, die für ein Freizeitprojekt nicht akzeptabel ist.

Nun kurz mal zur Bestandsaufnahme:

- Es kommt aktuell ASP.NET MVC 5, EF6 sowie MySQL als auch SqlCE zum Einsatz
- Für Daten werden ca. 1 GB benötigt - hauptsächlich Galeriebilder
- Die Datenbanken haben jeweils eine Größe von ca. 20 MB. Hier werden hauptsächlich Informationen zu Mannschaften, Spielpläne als auch News und Termine vorgehalten
- Die Zugriffzahlen auf die Webseite sind vernachlässigbar (< 100 pro Tag)

Sofern aus Eurer Sicht Azure in Frage kommen würde, was wäre dann die bei Azure zu wählenden Komponenten, um möglichst preisgünstig zu sein? Im Zuge der Umstellung wird auch eine Migration des Projektes nach .NET Core 2.2+ erfolgen. Bei der Wahl der Datenhaltung bin ich flexibel.

Über persönliche Erfahrungen sowie Vorschläge als auch Links zum Thema Azure oder auch Migration würde ich mich freuen. Gerne auch, ob Euch die Komplexität des Angebotes ebenfalls erschlägt.

teebeast


Geschrieben von Abt am 16.05.2019 um 11:01:
 
Zitat von teebeast:
Vor allem aus dem finanziellen Aspekt heraus. Gerade hier habe ich das Gefühl, dass man ganz schnell in finanzielle Dimensionen vorstößt, die für ein Freizeitprojekt nicht akzeptabel ist.

Das kann nicht passieren, wenn man richtig plant.

Zitat von teebeast:
Sofern aus Eurer Sicht Azure in Frage kommen würde, was wäre dann die bei Azure zu wählenden Komponenten, um möglichst preisgünstig zu sein?

Die Technologieauswahl bei Dir erfordert natürlich eine Runtime, da ASP.NET.
Runtimes sind generell Ressourcen-Gebunden in jeder Cloud und damit zahlst Du auch Ressourcen, die Du gar nicht benötigst - vor allem bei dem wenigen Traffic.
Du wirst also vor allem Idletime bezahlen.

Sehr ungünstig ist, dass offensichtlich Galeriebilder in Deiner WebApp liegen - das macht es prinzipiell teurer.
Statische Dateien wie Bilder sollten auf einem Storage liegen. Dort ist der Speicher günstiger, Du kannst informationen länger Cachen, weniger Ressourcen des Webservers und auch weniger Traffic -> Kostenersparnis.

Ein einfaches "Lift and Shift" ohne Anpassungen an die Cloud Technologien wird immer teurer ablaufen.
Immer.

Auch kann man eben OnPrem Hosting mit Cloud nicht 1:1 vergleichen, weil die Cloud aufgrund der Natur schon viel mehr Features und Management mitbringt, um die man sich sonst selbst kümmern muss.

Beispiel:
Dieses Forum läuft auf PHP in einer Web App; wir haben eben viel dynamischen Content aus Datenbanken.

Mein Blog oder azuresaturday.de haben wir jedoch mit statischen Generatoren gemacht.
Mein Blog mit einer eigenen Engine und azuresaturday.de mit Hugo.

Statische Generatoren erzeugen durch ein Template HTML Code, das dann sehr Kostengünstig auf einem Blob Storage liegen kann.
Wir haben bei azuresaturday 1000+ Zugriffe derzeit am Tag und uns kostet die Webseite 2$ im Monat ( https://melcher.dev/2019/03/running-hugo-on-azure-for-2-a-month/).

Die Frage: brauchst Du wirklich eine Datenbank und ASP.NET Core, oder ist das nicht etwas oversized?
Kannst Du nicht einfach die "Daten" in einer YAML halten und durch einen statischen Generator wie WYAM oder Hugo jagen und Du hast am Ende nur eine statische Seite?

Denn Du zahlst natürlich auch die Runtime auf Azure einer Web App - ob Du sie nutzt oder nicht.


Geschrieben von witte am 16.05.2019 um 11:31:
 
Man könnte sich mal überlegen ob serverless computing (azure functions) hier sinnvoll ist. Ich weiß jedoch nicht welche Nachteile sich ergeben wenn man einen kompletten Server damit abbildet.


Geschrieben von Abt am 16.05.2019 um 16:14:
 
Ganz wichtig bevor hier ein falsches Verständnis versteht: Serverless ist nicht gleich Azure Functions!
Serverless bedeutet einfach nur, dass Server wegabstrahiert werden! Azure Functions erfüllt dieses Kriterium wie viele andere Dienste in Azure/AWS/GCP auch.

Es gibt derzeit kein wirklich isoliertes Framework für dynamische Web Apps für Functions.
In AWS gibt es aber die Möglichkeit die Startpipeline so zu ändern, dass ASP.NET Core in AWS Lambda läuft und als Function ausgeführt wird.
Das erfolgt über den Application EntryPoint

C#-Code:
public class LambdaEntryPoint : Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction
{
    protected override void Init(IWebHostBuilder builder)
    {
        builder
            .UseStartup<Startup>();
    }
}

Weiter vebreitet ist da eher, dass eine Function bei einer Write-Operation gestartet wird, um dann neuen statischen Content zu generieren, der dann auf einem Blob Storage abgelegt wird und dann statisch zum User geht.
So funktionieren übrigens auch die meisten Content Systeme von Nachrichten-Websites.


Geschrieben von teebeast am 17.05.2019 um 13:06:
 
Vielen Dank für Eure Antworten. Ich muss mir mal Gedanken machen, ob Azure für das Projekt überhaupt die geeignete Plattform ist. Ich finde Azure eine sehr interessante Plattform und wollte mal etwas Erfahrungen sammeln.

Mein Focus liegt dann aber doch mehr auf dem Sammeln praktischen Erfahrungen mit .NET Core. Wenn das in einem finanziell vernünftigen Rahmen nicht vereinbar ist, dann werde ich wohl zu klassischen Hosting-Lösungen greifen. Hier gibt es passende Angebote bereits ab 4 Euro. Wobei ich für das Sammeln von Erfahrungen mit der Plattform durchaus bereit wäre, den einen oder anderen Euro mehr zu investieren. Auch um mal mit anderen Lösungsansätzen in Berührung zu kommen.

Zitat:
Ein einfaches "Lift and Shift" ohne Anpassungen an die Cloud Technologien wird immer teurer ablaufen.
Immer.

Das ist mir schon klar. Grundsätzlich bin ich hier schon offen für alternative Ansätze. Nur welche die geeigneten sind, ist mir nicht so ganz klar. Ich werde mich hier bei Gelegenheit noch einmal etwas intensiver befassen.

Zitat:
Mein Blog oder azuresaturday.de haben wir jedoch mit statischen Generatoren gemacht.
Mein Blog mit einer eigenen Engine und azuresaturday.de mit Hugo.

Statische Generatoren erzeugen durch ein Template HTML Code, das dann sehr Kostengünstig auf einem Blob Storage liegen kann.

Was in meinem Fall eher gegen eine statische Webseite spricht, ist der Einsatz einer kleinen Benutzerverwaltung zur Inhaltspflege. Als Ersteller der Webseite möchte ich mich nicht um die Contentpflege kümmern.

Derzeit hoste ich noch auf einem virtuellen Windows 2008 R2 Server. Etwas ändern muss sich über kurz oder lang definitiv. Perspektivisch ist die Umgebung jedenfalls nicht.

teebeast


Geschrieben von Abt am 19.05.2019 um 16:23:
 
Zitat von teebeast:
Hier gibt es passende Angebote bereits ab 4 Euro.

4€? Mit Windows (weil Du von Server 2008 sprich, dessen Support im Januar 2020 eingestellt wird).
Rein interessehalber: wo?
Allein die Windows Lizenz dürfte eigentlich schon teurer sein.

Zitat von teebeast:
Nur welche die geeigneten sind, ist mir nicht so ganz klar.

Das kommt eben auf die Anfordungen an.

Zitat von teebeast:
Was in meinem Fall eher gegen eine statische Webseite spricht, ist der Einsatz einer kleinen Benutzerverwaltung zur Inhaltspflege.

No. Du musst nur evtl. einfach die Inhalte (wo)anders pflegen; und dann daraus beim Speichern statischen Inhalt erzeugen.
Im Prinzip, wie genannt, funktionieren so die meisten Nachrichten-Webseites.
Kommt aber eben auf die Anfordungen der Content-Schreiber an.


Geschrieben von teebeast am 21.05.2019 um 08:24:
 
Ich glaube ich habe mich mit dem Hosting-Angebot etwas unglücklich ausgedrückt. Es würde sich dann in dem Fall nicht mehr um einen Server handeln, sondern nur um ein Webhosting-Paket. Aber es würde überraschenderweise .NET-Core mit anbieten.

 https://www.ionos.de/hosting/webhosting

Ob es dann letztendlich meinen Anforderungen entsprechen würde, bleibt noch zu prüfen. Irgend eine Kröte muss man bei solchen Angeboten immer schlucken.

Zitat:
Du musst nur evtl. einfach die Inhalte (wo)anders pflegen; und dann daraus beim Speichern statischen Inhalt erzeugen.

Hm, aber am Ende des Tages brauche ich dann doch eine dynamische Umgebung, wo die Inhalte geflegt werden können. Das verschiebt doch nur die Problematik und am Ende habe ich zwei Ökosysteme zu pflegen. Den einzigen Vorteil hier sehe ich in der Entkopplung zwischen Contentpflege und Contentdarstellung.


Geschrieben von Abt am 21.05.2019 um 11:56:
 
Zitat von teebeast:
Aber es würde überraschenderweise .NET-Core mit anbieten.

Aufgrund der Art und Weise, wie .NET Core funktioniert, ist das für die Hoster quasi äquivalent zu PHP und daher bieten immer mehr Hosting Anbieter dafür auch äquivalente Angebote an.

In Azure gibts eben Features per default, die man bei solchen Angeboten nicht hat.
Ich würde mir aber auch eine noch abgespecktere Web App wünschen, sodass sich Azure auch für Mini-Mini-Mini Dinge lohnen.

Zitat von teebeast:
Hm, aber am Ende des Tages brauche ich dann doch eine dynamische Umgebung, wo die Inhalte geflegt werden können.

Für das Erstellen. Aber nicht für das Ausliefern; hier ist ja nichts mehr dynamisch.

Wir haben zB. Content Writern einen Markdown-Editor zur Verfügung gestellt, der die Dateien direkt in Git eincheckt.
Beim Commit wird dann ein Build gerstartet, der aus den Markdown-Dateien eben statische Files generiert (im Prinzip WYAM).

Für den Content Writer ist nicht ersichtlich, dass beim "Save" ein Git Push erfolgt.
Das Einzige, das für ihn anders ist, dass er nicht sofort beim Save die Sachen online hat, sondern 5 Min warten muss.

Aber ja: kommt immer auf den Benutzerkreis und die totalen Anforderungen hin, was man letzten Endes braucht.


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 16.10.2019 02:52