Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

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

Mit uns arbeiten

Sie suchen einen Partner, der nicht nur berät, sondern mit Ihnen gemeinsam gestaltet? Ob Strategie, Technologie oder Umsetzung – wir unterstützen Sie entlang der gesamten digitalen Wertschöpfungskette. Lernen Sie unsere Leistungen kennen und finden Sie genau den Einstieg, der zu Ihren Zielen passt.

Bei uns arbeiten

Du willst nicht nur abwarten, was als nächstes passiert, sondern es mitgestalten? Dann bist du bei uns genau richtig. Wir suchen Menschen mit Haltung, Leidenschaft und Lust auf Wirkung – Entwickler:innen, Strateg:innen, Consultants und Kreative, die mit uns digitale Lösungen vorantreiben möchten.

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.

Blog 01.08.24

Migration von HOST-Anwendungen zu AWS: Modernisierung

Lernen Sie, wie moderne AWS-Services nahtlos in bestehende Host-Landschaften integriert werden und profitieren Sie von den Vorteilen von Serverless-Technologien.

Kompetenz

Digitalisierung und Optimierung in der Fertigungsindustrie

Die TIMETOACT GROUP ist ein führender Anbieter von Lösungen für die Fertigungsindustrie. Innovative Technologien, die ihre Fertigungsprozesse optimieren und ihre Wettbewerbsfähigkeit steigern.

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 einen erfolgreichen Journey.

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

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.

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.

Referenz

Freshdesk-Optimierung: Erfolgreiches Lizenzupgrade

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

Blue sky and clouds
Blog 12.08.14

Farben zur Optimierung des SharePoint-Kalender

Auch in SharePoint kann man Kategorien für Teamkalender-Einträge farblich abheben und damit die Lesbarkeit erhöhen. Wir zeigen Ihnen, wie das geht.

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.

Vogelperspektive Laptop Tastaturen
Training_Anfrage

IBM Cognos Analytics – Überblick und neue Funktionen

Vogelperspektive Laptop Tastaturen
Training_Master

IBM Cognos Analytics – Überblick und neue Funktionen

Blog 25.07.24

ROI-Optimierung mit KI, B2H & Omnichannel-Strategy

In der Folge von insights! begrüße ich Frank Miller, den CEO der straight. Was folgt, ist ein Gespräch über Digitalisierung, Marketingstrategien und die Rolle von KI im modernen Geschäftsleben

Calendulafeld
Referenz

Weleda AG: Optimierung von SharePoint-Suche und Usability

Das Weleda-Intranet ist allgemein beliebt und wird von den Mitarbeitern gerne genutzt. Nicht so beliebt war jedoch die Suche im Intranet. Hier half novaCapta mit SharePoint- und Usability-Know-how.

Unternehmen

Anfahrt zur TIMETOACT GROUP in Köln

Egal ob mit dem Auto, mit dem Zug oder mit dem Flugzeug: Wir zeigen Ihnen, wie Sie am besten zu ins in den Mediaparkt nach Köln kommen.

Logo RedHat
Technologie 02.07.20

RedHat

Wir sind RedHat Advanced Partner. Mit RedHat als dem Marktführer in Open-Source-IT-Lösungen unterstützen wir unsere Kunden ihre Cloud Journey aktiv zu gestalten und umzusetzen.

Event

Webcast:RPA in Versicherungen: Effizienzstifter oder Chaot?

Schon seit Jahren setzen Versicherer RPA als Baustein für mehr Automation vor allem in den Bereichen Vertrieb, Kundenservice, Policierung, Schaden- und Leistungsmanagement ein.

Sep 22
Software & Application
Service

Software & Application

Agilität, Application Modernization, Fullstack Development und Requirement Engineering sind wichtige Aspekte der Business Application Development.

Webcast

Microsoft 365 Operations-Meetup

In unserem Microsoft 365 Operations-Meetup stellen wir Ihnen innerhalb von 4 Wochen Optimierungsmöglichkeiten rund um Ihren Microsoft 365 Digital Workplace vor. Jetzt anmelden!

Oct 27
Standort

München

Finden Sie u.a. vor Ort in München: ARS Computer und Consulting GmbH; catworkx GmbH, novaCapta GmbH; TIMETOACT Software & Consulting GmbH

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!