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.

Blog 11.08.23

AWS Lambda: Erste Schritte mit Java

In diesem Artikel lernen wir, was die Vorteile bei der Verwendung von AWS Lambda sind u. wie wir Java-Code in AWS-Lambda installieren und ausführen können.

Referenz

Digitale Transformation: HUK ersetzt Papier durch Cloud

ARS unterstützte HUK-COBURG dabei, Papierprozesse durch moderne Cloud-Microsites zu ersetzen, um fehlende Versicherungsdaten effizient zu erfassen.

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.

Blog 27.02.25

ChatGPT & Co: Dezember-Benchmarks für Sprachmodelle

Entdecken Sie die neuesten Erkenntnisse aus unseren unabhängigen LLM Benchmarks für Dezember 2024. Erfahren Sie, welche großen Sprachmodelle am besten abgeschnitten haben.

Blog 07.07.23

Amazon EC2: Performance richtig messen und optimieren!

Im Blog zeigen wir Ansätze zum Messen und Verwalten der Leistung von EC2-Instanzen. Zudem erfahren Sie, wie Sie mit IBM Turbonomic die Performance der darauf betriebenen Anwendungen optimieren.

Icon Atlassian Dev Tools
Produkt 25.02.25

Dev Tools

Durchsuchen, testen, reviewen und verwalten Sie Ihren Code mit den Atlassian Entwicklungstools (Dev Tools): Bitbucket, Bamboo, Fisheye etc.

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

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.

Mathematische Optimierung
Kompetenz 25.02.25

Mathematische Optimierung

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

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.

Referenz

Warum Performance ausschlaggebend ist

Um die Leistungsfähigkeit einer Atlassian Toolchain messbar machen zu können, müssen individuelle Untersuchungen durchgeführt werden. catworkx setzt beim Controlling von Performance-Werten auf die Paarung von Open-Source-Software und eigenen, internen Werkzeugen, z.B. catworkx SPIN (Stress-App).

Technologie Übersicht

Beratung und Lösungen rund um AWS Services

Als führender AWS Select Partner stehen wir Ihnen mit Rat und Tat zur Seite.

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.

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.

Google Cloud News
Referenz

European Pressphoto Agency: Datenübertragung leicht gemacht!

Die European Pressphoto Agency (epa) ist eine internationale Bildagentur mit Sitz in Frankfurt und wurde 1985 von sieben europäischen nationalen Nachrichtenagenturen gegründet. Die täglich produzierten Bilder werden in der Zentrale in Frankfurt bearbeitet und im Anschluss an die Kunden geliefert. Um diese Herausforderung möglichst kosteneffizient und dabei funktional umzusetzen, hat sich epa an uns gewandt.

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.

Optimierung & Business Analytics
Kompetenz 25.02.25

Optimierung & Business Analytics

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

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.

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.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!