Avatar von Der MSGuru
  • Der MSGuru

348 Beiträge seit 09.10.2017

Re: Erst Denken dann posten.

AMDAthlon schrieb am 11.06.2018 13:43:

Der MSGuru schrieb am 11.06.2018 11:59:

Deine Anwendung die du drauf hosten willst, muss schon für skalierbarkeit entwickelt sein und auf die entsprechenden Services (Azure Table Storage, redis, distributed) von Azure oder AWS ausgerichtet sein.

Auch hier glänzt du mit der Abwesenheit von Fachwissen.
Skalierbarkeit ist nicht so besonders wichtig wenn es um das Preis-/Leistungsverhältnis geht. Skalierbarkeit bedeutet, dass eine Anwendung so erweitert werden kann, dass sie beliebig viele Clients bedienen / Aufgaben erledigen kann. Das ist zwar schön, aber nicht wichtig bei den Kosten.

Ich liebe es wenn Fachidioten, die von tuten und blasen keine Ahnung haben, meinen etwas dazuschreiben zu müssen.

Skalierbarkeit ist ein Entscheidender Faktor für die Cloud. Weil das erst erlaubt es dir die kleinstmöglichsten Instanzen für den Normalfall zu Buchen und diese dann horizontal oder vertikal zu skallieren, wenn mal Last kommt.

Das geht mal eben nicht mit ner 0815 Webanwendung oder so dahingeklatschtem PHP Skript. Wenn das nicht für Skallierbarkeit ausgelegt ist, fällst du ordentlich mal auf die Fresse, wenn dann 3 Instanzen laufen und die miteinander nicht gut arbeiten (sich Daten gegenseitig überschreiben, die Sessions nicht konsistent sind, concurrency Probleme).

Wer glaubt mal jede App in nem VM oder App Service dahinzuklatschen und die Instanz so groß bucht um für den "Worstcase" gerüstet sein, der muss sich ned wunder wenn er mehr zahlt.

Der Trick bei der Cloud ist eben nur zu Stoßzeiten auf höhere und teuerere VMs zurück zugreifen. Damit lassen sich dann mal locker 50 bis 70% der on-premise oder eines dedizierten Servers sparen.

Wenn eine Anwendung sauber entwickelst, z.B. via Domain Driven Design, wo die Modelle klar definiert sind oder eine geordnete Ablage für Datensätze brauchst (welche über max. 2 Keys identifizierbar sind), dann kannst locker Azure Table Storage benutzen, statt einer teueren SQL Datenbank, welche auf einer teueren Hardware laufen muss.

Azure Table Storage is ziemlich schnell und performant, wenn es Entsprechend entwickelt wurde und über 2 einzig indizierbaren Spalten (Partitionkey und RowKey) zugreifen kannst. Das Preisleistungsverhältnis ist mit kaum was anderen vergleichbar.

Eine X-beliebige Anwendung einfach mal eben so in die Cloud klatschen funzt halt nicht. Aber du hast ja kein Blassen schimmer von dem Thema.

Für die Kosten ist vor allem eine niedrige Grundlast(geringer Ressourcenbedarf) der Anwendung entscheidend. So wie eine effiziente(ressourcen-schonende) Abarbeitung der Aufgaben.

Nein, eine niedrige Grundlast alleine ist eben nicht allein entscheidend. Wennd eine Anwendung auf MSSQL zugeschnitten ist, dann brauchst eben einen (relativ) teuere MSSQL SaaS oder separate VM in welcher du es betreibst (wer will schon auf einem IFS ein SQL Server hosten). MSSQL in VM kannst auch ned einfach so mal hoch skallieren.

Azure Table Storage (oder Cosmo Db) geht mal schon, ohne downtimes etc. Fängst halt mit 1-2 RUs/Sekunde an und skallierst hoch wenn die Last steigt.

Sagen wir 10 GB und 50 millionen Transaktionen mit Azure Table Storage und du bist bei 3.68$ im Monat. Selbst mit höchsten Redudanz (RA-GRS) kommst gerade mal auf 6.18$. Und ein Sehr großer Teil der Daten lässt sich auf Azure Table Storage lagern, z.B. die ganzen "Write-Modell" Seite von DDD & CQRS da hier viele Events anfallen, welche aber nicht ständig vollständig gelesen oder verarbeitet werden.

Für Suchen und Statistiken hat man dann dafür optimierte Projektionen, welche dann in Dokumentendatenbanken ablegen (z.B. das ehemalige Azure DocumentDB, was jetzt in Azure Cosmos DB einhergegangen ist).

Hier ist es nur zweit ranging wie CPU oder Speichereffizient die Anwendung selber ist, wenn die 80% der Zeit auf 10% idled und in 20% der Zeit das 15 oder 30 fache der idle Leistung brauchst, dann spielt Skallierbarkeit eine enorme Rolle. Die wenigsten klassischen Webanwendungen und Line of Business Anwendungen sind auf konsequentes starten und beenden hin entwickelt worden.

Für all das brauchst dann keine externe VM "leistung" und du kannst per RU, Platz und/oder Transaktionen abrechnen, damit reicht für die meisten Webanwendungen und LoB-Software eine recht kleine Azure App Service Instanz oder von mir aus auch eine kleine A1 oder A1v2 VM für 24 bzw. 31$

Bewerten
- +
Anzeige