Cloud-Kosten dank JavaScript senken

Ein kleiner Satz, der in einem Kurs im Rahmen des CAS Cloud and Platform Manager 5 fiel, hat mir (endlich) klar gemacht, warum JavaScript immer beliebter wird und dass dieser Trend wahrscheinlich nicht nachlassen wird.

Im Rahmen seiner Präsentation der Azure-Plattform hat unser Lehrer, Walter Pitrof, um uns den Kostenunterschied zwischen einer On-Premises- und einer Cloud-Installation zu erklären, folgende Wendung verwendet: „die Cloud ist wie Prepaid und On-Premises wie Flatrate

Was Walter meinte, war, dass wir wissen, was unsere On-Premises-Installation uns gekostet hat und welche Kosten sie verursacht, unabhängig davon, wie sie genutzt wird. Während in der Cloud die Kosten von der Nutzung der Anwendungen durch unsere Kunden abhängig sind. Typischerweise kostet ein [D]DOS-Angriff ([Distributed] Denial of Service) einen Rückgang der Nutzung unserer On-Premise-Anwendungen, während er in der Cloud sehr kostenintensiv sein kann. Logischerweise achtet man beim Prepaid-Modell besonders auf die Kosten… und natürlich wird man versuchen, den Konsum zu optimieren, um die Kosten zu senken. Und hier spielt JavaScript, ganz offensichtlich, bereits eine führende Rolle.

Wie JavaScript die Cloud-Kosten beeinflussen kann

Seit einigen Jahren beobachte ich, dass meine bevorzugten Programmiersprachen (u. a. Perl, PHP, Ruby) immer weniger gefragt werden, zugunsten von weniger ausgereiften, grundlegenderen Sprachen (im Vergleich zu Ruby, das ich für die ausgereifste und durchdachteste objektorientierte Sprache halte). Die Entwicklung von JavaScript im Besonderen wirft Fragen auf: warum wird diese Sprache, die im Vergleich zu Python an Bedeutung verliert, dennoch von Arbeitgebern immer stärker nachgefragt und ihre Adepten zu den bestbezahlten Entwicklern in den USA macht?

Diese Sprache, die zur Zeit der Web-Entwicklung in den späten 1990er Jahren entwickelt wurde, diente lediglich dazu, Änderungen an Internetseiten vorzunehmen und Effekte zu erzeugen, die durch die Aktionen des Benutzers ausgelöst werden. Seine begrenzten Funktionen wurden von den Browserherstellern erweitert, was die Programmierung mit unterschiedlichen Funktionsaufrufen für jeden Browser mühsam machte.

Erst mit der Version 6, die in 2015 veröffentlicht wurde, brachte JavaScript die Funktionen einer vollständigen Sprache und eine echte Reife mit sich, die die Entwicklung komplexer Anwendungen ermöglicht und in der Lage ist, die Drei-Tier-Architektur zu beeinflussen, indem Anwendungsfunktionen auf Client-Ebene übernommen werden können.

Vor allem ist JavaScript zu einer universellen Sprache geworden, deren Skripte sowohl auf Chrome (inkl. Edge), Firefox, Opera, Safari, auf jedem OS, jedem Desktop und jedem mobilen Medium funktionieren. Zusätzlich zu seinen serverseitigen Einsatzmöglichkeiten (node.js)

Obwohl das Konzept nicht neu ist (siehe Single-page applications), ist es gerade diese Reife und Universalität der Sprache auf der Seite des Kunden, die es ermöglicht, die Cloud-Kosten zu senken: durch die Nutzung der Rechenleistung des Kunden anstatt der des Servers.

Schlussfolgerung

CPU time is money !

Mithilfe von Cloud-Technologien können die IT-Gesamtkosten optimiert werden. Die Verlagerung möglichst vieler CPU-Leistung vom Server auf den Client senkt diese Kosten noch weiter.

Somit…

It’s time to learn JavaScript !

Ich persönlich habe mit w3schools angefangen, die Sprache zu beherrschen und finde alle Referenzen auf der MDN-Webseite.

Viel Spass !!!


Bemerkungen

Für komplexe Anwendungen oder für die Wissenschaftswelt sind Java und Python durch nichts zu ersetzen. Meine Beobachtungen beziehen sich nur auf Webanwendungen.

Ich habe festgestellt, dass ein anderer Teilnehmer des gleichen CAS aus dem letzten Jahr eine These mit anderen Schlussfolgerungen aufgestellt hat… Bilden Sie sich Ihre eigene Meinung!

Es ist amüsant, nur wenige Hinweise auf die enormen Möglichkeiten von JavaScript ab Version 6 und seine Auswirkungen zu finden: für die meisten ist JavaScript „best known for its ability to add responsive elements to web pages“ (JavaScript ist vor allem für seine Fähigkeit bekannt, dynamische Elemente zu Webseiten hinzuzufügen)…

Es ist nicht das erste Mal, dass ein Unternehmen seine Kosten auf seine Kunden abwälzt: typischerweise beschloss Swisscom 2014, das Festnetztelefon durch VoIP, also über das Internet, zu ersetzen. Damals wechselten 1.3 Millionen Swisscom-Kunden, die kein Internet brauchten (!), wie mein 90-jähriger Nachbar, von einem analogen Telefon (0[W] Standby-Verbrauch und 2[W] Gesprächsverbrauch auf Kosten des Betreibers) zu einer Installation mit ADSL- oder Kabelmodem (durchschnittlicher Verbrauch 6[W], 24 Stunden am Tag auf Kosten des Kunden)…

Durch die Übertragung der Aufgaben auf den Client sinken nicht nur die Kosten und die Serverressourcen, sondern die Architektur wird auch einfacher. So:

  • Die Aufgaben auf der Serverseite werden reduziert: es werden nur noch statische Seiten serviert, die JavaScript enthalten. Für die Datenverarbeitung: da die Formulare bereits vom clientseitigen Skript überprüft werden, können einfache Mikrodienste die Funktion der Validierung und Speicherung in den Datenbanken übernehmen. Der beobachtete Rückgang des PHP könnte ein Hinweis auf diese Bewegung sein.
  • Die Verwendung von Techniken, die es ermöglichen, sich an den Zustand des Clients zu „erinnern“ (typischerweise die Verwendung von Cookies, Sessions usw.), kann serverseitig stark optimiert oder sogar aufgegeben werden. Dadurch kann die Infrastruktur vereinfacht werden (typischerweise auf der Seite der Load Balancer, die sich nicht mehr um den Aspekt der Sitzungen kümmern müssen).
  • Ebenso kann der Einsatz von komplex zu verwaltenden WAFs (Web Application Firewalls) durch effizientere WSGs (Web Service Gateways) ersetzt werden, da diese nur mit strukturierten Daten arbeiten können.
  • Umgekehrt könnte die Verwendung von JavaScript dazu benutzt werden, Regeln zu umgehen (ich denke da an die Funktion „localstorage“, die Cookies ersetzen kann: in diesem Fall kann der Anbieter des Dienstes verbergen, was er an Daten über seine Kunden sammelt…) und vor allem Ressourcen des Kunden nutzen, ohne diesen darüber zu informieren.

Referenzen

Das Bild in diesem Blog ist eine Montage aus einem Bild aus Pixabay (https://pixabay.com/illustrations/cloud-network-website-computer-6515064/), das ich mithilfe des Inkscape-Tools (https://inkscape.org/de/) erweitert habe.

Um meine Theorie zu überprüfen, durchforstete ich das Internet mithilfe der ökologischen Suchmaschine Ecosia (https://www.ecosia.org/?c=de), Google Scholar (https://scholar.google.com/) und die HSLU-Bibliothek (https://rzs-hslu.swisscovery.org/).

Die folgenden Links wurden in der einen oder anderen Form im Blogtext erwähnt oder verwendet:

Nota bene: Der Originaltext (Französisch) wurde mit der wertvollen Hilfe von Deepl (https://www.deepl.com/translator#fr/de/) übersetzt…

Beitrag teilen

Marc-Alain Gross

M-A Gross ist Lösungsarchitekt bei der VBS und bloggt aus dem Unterricht des CAS Cloud and Platform Manager. Seit 1986 als Mikroinformatik-Ingenieur und nach diversen Nachdiplomstudien in Software, KI, Neuronale Netzwerke, Communication-Science, Cyberdefense und Digitalisierung (CAS <a href="https://blog.hslu.ch/informatik-wb/2021/01/05/digitalisierung-ein-erklaerungsversuch-aus-dem-blickwinkel-eines-alten-fuchses-der-generation-x/">DIA</a>, <a href="https://blog.hslu.ch/informatik-wb/2022/01/02/no-paper-no-flight/">CDO</a> und <a href="https://www.hslu.ch/de-ch/informatik/weiterbildung/networking/cas-cloud/">CPM</a>) spezialisiert.

Alle Beiträge ansehen von Marc-Alain Gross →

Schreibe einen Kommentar