Lesezeit: 2 Minuten

 

Optimierung von Serverless Funktionen - Performance und Kosten

 

Serverless Funktionen sind hervorragend geeignet, um schnelle, stark skalierende Programme auszuführen. In den meisten Fällen wird die Funktion pro Ausführung gestartet. Dabei wird üblicherweise anhand ausgeführter Rechenzeit und benötigtem Arbeitsspeicher abgerechnet.

Um dem Anspruch an die Skalierbarkeit und Neustart pro Ausführung optimal gerecht zu werden, muss also die Startzeit möglichst gering gehalten werden. Wenn die Funktion häufig verwendet wird, ist auch die Optimierung der Kosten und damit der Laufzeitperformance interessant.

Im Folgenden betrachten wir ein bewährtes Vorgehen und geben einige konkrete, praktische Tipps, um so eine Optimierung durchzuführen.

Anforderungen als Grundlage der Optimierung

Bevor optimiert werden kann, müssen die Anforderungen an die Anwendung spezifiziert werden. Optimierung muss zielgerichtet erfolgen. Eine Backend-for-Frontend-Anwendung beispielsweise muss in Hinblick auf die Round-Trip-Time der Endnutzer-Anfrage ausgelegt werden, da hier die User-Experience betroffen ist.

Ebenso kann es erforderlich sein, die Kosten pro Ausführung zu verbessern. Welche Anforderung hier wichtiger ist, muss aus den Qualitätsanforderungen entschieden werden. Die Verbesserung der Round-Trip-Time kann beispielsweise möglicherweise durch asynchrone Verarbeitung erreicht werden, während eine Erhöhung des Arbeitsspeichers für die Funktion hier meist wenig Einfluss hat.

Umsetzung

Nachdem das Ziel und die Anforderungen an die Optimierung festgestellt wurden, erfolgt die Umsetzung der Optimierung in mehreren Schritten. Zuerst müssen die zu verbessernden Kennzahlen messbar gemacht werden. Dann werden die Optimierungsschritte selbst unternommen und die Auswirkungen erneut gemessen. Iterativ kann man sich so dem Optimierungsziel nähern.

Messungen

Die Durchführung der Messungen ist abhängig vom verwendeten Cloud Service Provider. Am Beispiel von AWS können die Kosten im Cost Manager eingesehen werden, wobei die Trennung auf einzelne Funktionen kaum möglich ist.

Deshalb bietet sich zusätzlich die Verwendung von Cloud Watch an, wo mittels geeigneter Abfragen die Kosten ermittelt werden können. Für die aktuellen Preise wäre eine folgende Abfrage möglich, die dann direkt die Kosten im betrachteten Zeitraum ausgibt:



In der Query werden zwei Konstanten verwendet (2):

  • 1,627607421875e-11: Kosten pro ms und MB (0,0000166667 USD für jede GB-Sekunde / 1024 (GB zu MB) / 1000 (Sekunde zu ms))
  • 2.0e-7: Kosten pro Millionen Ausführungen

Ein sehr nützliches Tool zur Messung von Performance und Kosten ist in AWS auch das sogenannte Power Tuning Tool (1).

Das Tool ermöglicht es, die Funktion mit verschiedenen Speicherkonfigurationen mehrfach auszuführen und gibt die Laufzeit und Kosten unter diesen Konfigurationen an. So lässt sich sehr einfach eine optimale Konfiguration gemäß den eigenen Anforderungen finden.

Das Ergebnis dieser Messung wird wie in Abbildung 1 dargestellt. In diesem Beispiel sieht man, dass die Kosten mit steigendem Speicher natürlich steigen, dort die Durchlaufzeit aber nicht nennenswert verbessert wird. Hier wird also kaum Mehrwert von mehr Speicherzuweisung erzielt. In anderen Anwendungen kann das Ergebnis völlig anders ausfallen.

Abbildung 1: Ergebnis des Power Tuning Tools

Optimierung vornehmen

Hat man präzise Messungen erhalten, müssen nun die Optimierungen in Bezug auf die eigenen Anforderungen durchgeführt werden. Soll die Performance gesteigert werden, ist die Erhöhung des zugewiesenen Arbeitsspeichers meist das einfachste Mittel. Hier muss dann aber (z.B. mittels Power Tuning Tool) verifiziert werden, dass wirklich die gewünschte Verbesserung erzielt wird.

Ein anderes Mittel ist die Optimierung der Ausführungsumgebung. Die Wahl der Programmiersprache hat enormen Einfluss auf die Startzeiten der Funktion. Sollen sogenannte Cold Starts ganz vermieden werden, kann auch „Provisioned Concurrency“ gebucht werden, wo immer mehrere Funktions-Instanzen vorab gestartet und bereitgehalten werden. Das geht aber auch mit deutlich erhöhten Kosten einher (3).


Abbildung 2: Lambda Ausführungsschritte

Zuletzt muss immer durch erneute Messungen sichergestellt werden, dass das Optimierungsziel erreicht wurde. Meist sind mehrere Iterationen dieses Vorgehens sinnvoll, um sich dem eigenen Ziel stückweise anzunähern.

Fazit

Man sieht also, dass die Optimierung von Funktionen nicht trivial ist und immer eine Abwägung widersprüchlicher Ziele beinhaltet. Die Steigerung der Leistung steht meist höheren Kosten gegenüber.

Die Bestimmung der eigenen Ziele muss also immer zuerst erfolgen und dann auch kontinuierlich überprüft werden.

 

Quellen:
(1) https://github.com/alexcasalboni/aws-lambda-power-tuning
(2) https://aws.amazon.com/de/lambda/pricing/
(3) https://docs.aws.amazon.com/lambda/latest/operatorguide/execution-environments.html#cold-starts

Blogautor

Johannes Brühl
Softwarearchitekt ARS Computer und Consulting GmbH
Ihr Erfolg ist unser Ziel

Stehen Sie vor komplexen IT-Projekten? Mit unserer Expertise bieten wir Ihnen maßgeschneiderte Lösungen. Erfahren Sie mehr.

Werde Teil unseres Teams

Wir suchen ständig nach neuen Talenten. Für dich haben wir genau die richtige Stelle. Schau dir unsere offenen Positionen an.

Noch Fragen? Wir helfen Ihnen gerne!

Blog 05.10.23

AWS Lambda vs. AWS Fargate

Entdecken Sie die Unterschiede zwischen Serverless-Technologie und Container-Technologie und erfahren Sie, wie AWS Lambda und AWS Fargate von Amazon Web Services diese Ansätze unterstützen. Erfahren Sie, welche Technologie am besten zu Ihren Anforderungen für Anwendungsbereitstellung und -verwaltung passt.

Blog 01.08.24

Migration von HOST-Anwendungen zu AWS: Modernisierung

Legacy-Systeme bieten oft wertvolle Funktionen für Unternehmen. Dieser Artikel beschreibt, wie HOST-Anwendungen in die Cloud migriert werden können, ohne dass die Datensicherheit leidet. Lernen Sie, wie moderne AWS-Services nahtlos in bestehende Host-Landschaften integriert werden und profitieren Sie von den Vorteilen von Serverless-Technologien.

Offering 21.08.24

Nahtlose Migration Ihrer VMWare-Workloads zu Amazon EC2

Mit der jüngsten Ankündigung der Preiserhöhung für VMWare durch Broadcomm und dem Ende des VMWare-on-AWS-Dienstes, stehen viele Unternehmen vor der Herausforderung, ihre Workloads zu einem neuen Anbieter oder einer neuen Technologie zu migrieren. Doch diese Herausforderung bietet auch eine einzigartige Chance: Durch die Migration zu Amazon EC2 können Sie nicht nur die Betriebskosten senken, sondern auch von der nativen Cloud-Infrastruktur profitieren, die für Skalierbarkeit, Sicherheit und Flexibilität bekannt ist.

Wissen

Optimierung der Auftragsbearbeitung

Durch eine Optimierung der Auftragsbearbeitung können Unternehmen ihre Ressourcen schonen und ihren Gewinn steigern. Dieser Artikel zeigt, wie man mit SAP APO und IBM ILOG CPLEX beispielsweise Produktionswege optimieren kann.

Mathematische Optimierung
Kompetenz 03.09.20

Mathematische Optimierung

Mathematische Optimierung hilft Unternehmen dabei, über den Einsatz begrenzter Ressourcen komplexe Entscheidungen zu fällen und zielgerichtete Kompromisse zu machen.

Headerbild für Wissensbeitrag zu Optimierung und Business Analytics
Kompetenz 22.09.20

Lösungsansätze durch Optimierung

Um im immer globaler werdenden Wettbewerb bestehen zu können, hält der Alltag jedes Unternehmens unzählige Herausforderungen bereit. Optimierung bietet dabei Orientierung und schafft den entscheidenden Vorsprung zur Konkurrenz.

Kompetenz

Digitalisierung und Optimierung in der Fertigungsindustrie

Die TIMETOACT GROUP ist ein führender Anbieter von Lösungen für die Fertigungsindustrie. Wir sind stolz darauf, unseren Kunden innovative Technologien und Dienstleistungen anzubieten, die ihre Fertigungsprozesse optimieren und ihre Wettbewerbsfähigkeit steigern.

vdp Research Logo
Referenz

Optimierung der Datenanbindung für vdpResearch

X-INTEGRATE verbesserte für ihren Kunden vdpResearch ihre Datenanbindung durch eine zentrale Managed-File-Transfer-Lösung basierend auf IBM Sterling Connect:Direct.

Mathematische Optimierung und Supermärkte
Wissen

Mathematische Optimierung und Supermärkte

Mathematische Optimierung findet in vielen Bereichen Anwendung. So auch zur Standortplanung für eine Supermarktkette. Dieser Blogartikel fasst die Eckpunkte des Projektes zusammen.

Teaserbild Expertenbericht IAMcloud Journey von IPG
Blog 30.03.23

Der Weg in die Cloud: Optimierung Ihres IAM

Identity Management aus der Wolke - vom On-Prem IAM zum «Cloud IAM». Erfahren Sie, welche Best Practices für eine erfolgreiche Migration angewendet werden sollten und welche Herausforderungen es zu meistern gilt.

Referenz

Freshservice-Optimierung bei ATU

Erfahrt, wie CLOUDPILOTS ATU half, Freshservice von einem IT Tool zur vitalen Unternehmenslösung zu transformieren, indem Nutzungsbarrieren überwunden wurden

Optimierung & Business Analytics
Kompetenz 03.09.20

Optimierung & Business Analytics

Mit Optimierung nach den Kriterien der Business Analytics erzielen Unternehmenssteuerung und Prozessoptimierung ungeahnte Ergebnisse, die das Unternehmen positiv vom Markt abheben.

Blog

Supply Chain Optimierung

Wie die Analyse und Optimierung von Lieferketten mittels Graphdatenbanken für Euch zum entscheidenden Erfolgsfaktor werden kann, erfahrt ihr im Blog.

Wissen

Filetransferlösungen Teil 3 - Funktionen und Eigenschaften

Nachdem die vorangegangenen zwei Blogeinträge nähere Details zu WebSphere MQ und der WebSphere MQ FTE-Architektur lieferten, geht der dritte Teil der Blogserie nun näher auf die Funktionen ein, welche WebSphere MQ FTE im Wesentlichen bietet.

Frau am Laptop in einem Videocall
Blog 29.01.21

Neue Funktion Gruppenräume in Microsoft Teams

Nutzen Sie die Gruppenräume für Brainstorming und Diskussionen. Bringen Sie frischen Wind in die Arbeitsgruppen. Viele neue Möglichkeiten, aber auch einige Stolperfallen, die es zu vermeiden gilt.

Tafel mit mathematischen Formeln
Wissen

Wozu dient die mathematische Optimierung?

Der Lösungsansatz „mathematische Optimierung“ ist ein sehr mächtiges Werkzeug, wenn es darum geht, verschiedenste Fragestellungen zu untersuchen und eine bestmögliche Lösung zu finden. Dieser Blogbeitrag untersucht häufige Fragen rund um das Thema.

X-INTEGRATE Standortoptimierung
Lösung

X-INTEGRATE Standort Optimierung

Nahezu jedes größere Unternehmen ist auf eine geeignete Methode angewiesen, Standorte sinnvoll auszuwählen und zu betreiben. Um die besten Standorte zu ermitteln, setzen wir auf mathematische Optimierung.

Referenz

Freshdesk-Optimierung: Erfolgreiches Lizenzupgrade

Erfahrt, wie CLOUDPILOTS durch ein Freshdesk Lizenzupgrade, Schulungen und Prozessoptimierung den Support eines österreichischen Unternehmens effizienter gestaltete.

Blog 06.06.23

Cloud Sustainability als umweltbewusste Revolution

Cloud Sustainability bezeichnet das Bestreben der Cloud-Computing-Industrie, ökologisch, sozial und ökonomisch nachhaltig zu handeln. Dieser Artikel beleuchtet wichtige Aspekte der Cloud Sustainability, wie den Umweltschutz und die nachhaltige Lieferkette, und präsentiert beispielhafte Maßnahmen führender Cloud-Anbieter wie OVHcloud und Amazon Web Services (AWS). Erfahre, wie diese Unternehmen erneuerbare Energien nutzen, Emissionen reduzieren und auf Recycling sowie ethische Richtlinien setzen, um die Cloud-Infrastruktur umweltfreundlicher und nachhaltiger zu gestalten. Entdecke die Bedeutung von Cloud Sustainability und wie du als Unternehmen von einer nachhaltigen IT-Infrastruktur profitieren kannst.

News 03.05.24

Jira Work Management-Funktionen jetzt in Jira Cloud

Atlassian hat eine bedeutende Änderung für Nutzer von Jira Software und Jira Work Management bekannt gegeben: Beide Produkte werden nicht mehr einzeln angeboten. Stattdessen werden alle Funktionen zu einem neuen Jira zusammengeführt. Diese Veränderung soll ein einheitliches Erlebnis schaffen und mit neuen Funktionen die Teamarbeit verbessern.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!