Im Rahmen dieser wissenschaftlichen Arbeit wird der Frage nachgegangen, wann sich der Einsatz eines FaaS-Dienstes lohnt. Hierfür werden im Vergleich zu den von Salesforce bereitgestellten PaaS-Angeboten Heroku und Force.com die Anwendungsbereiche von Funktionen aufgezeigt. Des Weiteren werden die Cloud-Computing-Dienste IaaS, PaaS und SaaS von dem FaaS-Konzept abgegrenzt. Weitere Schwerpunkte liegen im Aufbau und der Implementierung von Salesforce Functions. Ob Software as a Service (SaaS), Platform as a Service (PaaS), Function as a Service (FaaS) oder Infrastructure as a Service (IaaS) – Cloud-Computing-Dienste gewinnen immer mehr an Bedeutung. Mehr als 94 Prozent aller Unternehmen nutzen Cloud-Dienste in irgendeiner Form.
Anhand von Beispiel-Implementierungen und Vergleichen sollen die Einsatzbereiche und Abgrenzungen des FaaS-Dienstes vorgenommen werden. Die vorliegende Arbeit ist folgendermaßen aufgebaut: Das zweite Kapitel bildet die Grundlagen für die Heroku- und Salesforce-Plattform. Darüber hinaus werden die Cloud-Computing-Dienste vorgestellt und im Vergleich zum FaaS-Konzept abgegrenzt. Im darauffolgenden Kapitel werden die theoretischen Grundlagen für die Salesforce-Funktionen geschaffen. Dafür werden die Infrastruktur, der Aufbau und weitere Eigenschaften erläutert. Zusätzlich beinhaltet das Unterkapitel 3.4 die Rechenleistung, Laufzeit und Einschränkungen von Funktionen und Apex. Dies wird anhand eines selbstgewählten Beispiels verglichen.
Das Kapitel 4 zeigt, unter welchen Bedingungen Funktionen im Vergleich zu Apex und Heroku eingesetzt werden sollten. Darüber hinaus werden die Vorteile der Nutzung von Salesforce Functions anhand von Beispielen veranschaulicht. Im nächsten Kapitel wird die Implementierung der Funktionen durch eigene Erfahrung erklärt.
Der Cloud-Trend erfreut sich wachsender Beliebtheit und wird in naher Zukunft weiter zunehmen. Insbesondere der FaaS-Dienstleistungsmarkt ist in den letzten Jahren stetig gewachsen. Es entstehen zunehmend Anbieter, die das neueste Modell des Cloud-Computing-Dienstes bereitstellen. Auch die CRM-Plattform Salesforce hat sich dem angeschlossen und umfasst seit dem 01. August 2021 das Produkt Salesforce Functions.
Inhaltsverzeichnis
1 Einführung
1.1 Motivation und Zielstellung der Projektarbeit
1.2 Zielgruppe
2 Grundlagen
2.1 Salesforce.com
2.2 Heroku
2.3 Cloud Computing
2.3.1 Cloud-Computing-Dienste
2.3.2 Abgrenzung Platform as a Service, Function as a Service und Software as a Service
3 Salesforce Functions
3.1 Infrastruktur
3.2 Aufbau einer Node.js Funktion
3.3 Programmiersprachen, Tools und Integration
3.4 Rechenleistung, Laufzeit und Limits
4 Abgrenzung der Anwendungsgebiete von Salesforce Functions
4.1 Allgemeine Verwendungsregeln von Funktionen und Apex
4.2 Allgemeine Verwendungsregeln von Funktionen und Heroku
4.3 Anwendungsbeispiele von Salesforce-Funktionen
4.3.1 Bibliotheken und Industrie standardisierte-Programmiersprachen
4.3.2 Verarbeitung von großen Datensätzen
5 Implementierung von Salesforce Functions
5.1 Erstellen eines Projektes
5.2 Lokales Testen der Funktionen
5.3 Bereitstellen und Aufrufen einer Funktion
6 Fazit
Zielsetzung & Themen
Diese Projektarbeit untersucht den Einsatz von Salesforce Functions im Vergleich zu bestehenden PaaS-Angeboten wie Heroku und Force.com. Ziel ist es, die technologischen Grundlagen zu beleuchten, die Abgrenzung zu anderen Cloud-Diensten zu definieren und Entscheidungshilfen für die Implementierung bei ressourcenintensiven Aufgaben zu liefern.
- Grundlagen von Cloud-Computing (IaaS, PaaS, FaaS, SaaS)
- Architektur und Infrastruktur von Salesforce Functions
- Vergleich der Leistungsfähigkeit von Apex und Salesforce Functions
- Anwendungsgebiete und Integrationsmöglichkeiten
- Praktische Implementierung und Testverfahren
Auszug aus dem Buch
3.4 Rechenleistung, Laufzeit und Limits
Da Salesforce-Funktionen „außerhalb“ der Salesforce-Org auf einem Heroku-20-Stack ausgeführt werden, unterliegen sie anderen Beschränkungen als Apex. Der Grund dafür ist, dass Force.com auf einer Multi-Mandanten-Architektur läuft und dadurch spezielle Limits existieren müssen. Dadurch kann die CPU- und Rechenleistung mit Funktionen mehr belastet und es können rechenintensive Prozesse mit vielen Datensätzen problemlos ausgeführt werden (siehe 4.3.2). Dennoch besitzen Funktionen auch Limits, welche in drei verschieden Arten unterteilt werden können – die Limits pro Funktionslizenz, asynchrone und synchrone Funktionsbeschränkungen. Für diese erste Einschränkungsart müssen zwei Bedingungen beachtet werden. Dazu ist es wichtig zu wissen, dass jede Zugriffsmethode auf die Funktions-SDK als Anfrage gezählt wird. Die maximale Anzahl pro 24 Stunden beläuft sich auf 235.000 Anfragen und kann nicht überschritten werden. Bei Erreichung dieser Grenze bricht die Funktion ab.
Darüber hinaus haben Funktionen eine maximale Ausführungszeit von einer Million Aufrufen pro GB-Sekunden, die jeden Monat zurückgesetzt wird. Das bedeutet, dass ein Funktionsaufruf mit einer maximalen Speicherauslastung von einem GB eine Sekunde ausgeführt werden kann. Das Überschreiten dieser Begrenzung ist ohne Abbruch der Funktion möglich, jedoch muss automatisch mehr bezahlt werden. Die Einschränkungen der asynchronen und synchronen Funktionen werden in den Tabellen 3 und 4 beschrieben. Obwohl die Funktionen die meisten Salesforce-Org-Limits umgehen kann, gibt es dennoch einige Einschränkungen, bei denen dies nicht der Fall ist. Ein Beispiel dafür ist die Begrenzung der Anzahl der langlaufenden API-Transaktionen von 25.
Zusammenfassung der Kapitel
1 Einführung: Erläutert die Motivation zur Nutzung des neuen FaaS-Dienstes Salesforce Functions und definiert die Zielgruppe der Arbeit.
2 Grundlagen: Beschreibt die Salesforce-Plattform, Heroku sowie die technischen Cloud-Konzepte als Basis für das Verständnis der Arbeit.
3 Salesforce Functions: Behandelt die Infrastruktur, den Aufbau von Node.js-Funktionen sowie technische Limits und Testmethoden.
4 Abgrenzung der Anwendungsgebiete von Salesforce Functions: Analysiert, in welchen Szenarien Funktionen gegenüber Apex oder Heroku bevorzugt eingesetzt werden sollten.
5 Implementierung von Salesforce Functions: Zeigt den praktischen Prozess von der Projekterstellung über das lokale Testen bis zur Bereitstellung der Funktionen.
6 Fazit: Fasst die Ergebnisse zusammen und gibt eine zusammenfassende Bewertung zur Nutzung von Salesforce Functions ab.
Schlüsselwörter
Salesforce Functions, Cloud Computing, FaaS, PaaS, Heroku, Apex, Serverless, Node.js, Architektur, Skalierbarkeit, Programmierung, Integration, Implementierung, Rechenleistung, Datenverarbeitung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit analysiert das Produkt Salesforce Functions, dessen Aufbau und Anwendungsmöglichkeiten innerhalb der Salesforce-Plattform.
Was sind die zentralen Themenfelder?
Die zentralen Felder sind die Cloud-Computing-Modelle (insbesondere FaaS), der Vergleich zur Programmiersprache Apex und zu Heroku, sowie die praktische Implementierung von Funktionen.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist es, aufzuzeigen, wann sich der Einsatz von Functions im Vergleich zu herkömmlichen Salesforce-Lösungen (wie Apex) oder Heroku-Applikationen lohnt.
Welche wissenschaftliche Methode wurde verwendet?
Es wurde eine theoretische Analyse der Cloud-Architekturen vorgenommen sowie praktische Beispiel-Implementierungen durchgeführt, um Performance-Unterschiede zu messen.
Was wird im Hauptteil behandelt?
Im Hauptteil werden Infrastruktur, technische Limits, Anwendungsregeln und der Implementierungsprozess detailliert erläutert.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit fokussiert sich primär auf Salesforce Functions, FaaS, Cloud Computing, Skalierbarkeit und Rechenleistung.
Warum sind Salesforce-Limits ein Grund für Functions?
Apex läuft in einer Multi-Mandanten-Architektur mit strengen Ressourcen-Limits. Salesforce Functions bietet eine ausgelagerte, isolierte Umgebung, die rechenintensive Prozesse ohne diese Beschränkungen ermöglicht.
Was ist der Vorteil von Functions gegenüber Apex bei großen Datensätzen?
Funktionen erlauben die Nutzung von Open-Source-Bibliotheken und bieten eine dynamische, skalierbare CPU-Leistung, die ansonsten bei Apex-Transaktionen zu Fehlermeldungen führen würde.
Was zeigt der Vergleich zwischen lokalem Testen mit und ohne Docker?
Die Untersuchung ergab, dass die modernisierte, "containerlose" Testvariante wesentlich schneller ist als das traditionelle Testen mit Docker-Containern.
- Citar trabajo
- Till Krüger (Autor), 2022, Salesforce Functions. Aufbau, Anwendung und Implementierung, Múnich, GRIN Verlag, https://www.grin.com/document/1351193