Ressourcen- und Kostenoptimierung
Ressourcenoptimierung und Kostenoptimierung arbeiten zusammen, damit Ihr Unternehmen den maximalen Wert pro Kosten erzielen kann. Salesforce verwaltet die Mandanteninfrastruktur, erzwingt die Obergrenzen, die die Plattform für jeden Mandanten fair halten, und berechnet den Zugriff über Lizenzen und Verbrauchsgutschriften. Was Sie optimieren, ist der Wert, den Sie zurückerhalten: Gibt an, wie viel Geschäftsergebnis jeder Dollar an Ausgaben und jede Einheit der Plattformkapazität zurückgibt. Ressourcenoptimierung ist der Mechanismus: Es nutzt das, wofür Sie bereits bezahlen, effizient. Die Kostenoptimierung ist das Ergebnis: Sie lenkt die Ausgaben bewusst auf das, was den Wettbewerbsvorteil steigert. Diese Säule behandelt sie als eine Entscheidung, da sie zwei Ansichten desselben Ziels sind.
Diese Value-per-Cost-Ansicht prägt jede Architekturentscheidung, die Sie treffen. Wenn Sie die Gesamtbetriebskosten verstehen, können Sie bessere Kompromisse zwischen Fähigkeiten und Investitionen eingehen. Sie haben die richtige Lösung, um die Geschäftsanforderungen zu erfüllen, statt Funktionen zu überbieten, die ungenutzt bleiben oder zu wenig in Funktionen investieren, die die Wertschöpfung beschleunigen. Eine Lizenz, eine Verbrauchsgutschrift, ein API-Aufruf und eine Sandbox-Umgebung sind Eingaben für dieselbe Gleichung. Wichtig ist, welcher Wert zurückgegeben wird und nicht, auf welchem Buch er landet. Die Frage ist nie "ist dies ein Kostenfaktor oder eine Ressource", sondern "hat dieser Input eine angemessene Amortisation?"
Die Vernachlässigung dieser Säule führt zu vorhersehbaren Konsequenzen. Unternehmen akkumulieren ungenutzte Lizenzen, die Budget verbrauchen, während andere Funktionen nicht finanziert werden. Ineffiziente Architekturen verschwenden API-Kapazität, Speicher und Entwicklungsaufwand für Probleme, die durch besseres Design verhindert werden. Ressourcenineffizienz bei bestimmten Verbindungen im Zeitverlauf auf vorhersehbare Weise:
- Die Leistung verschlechtert sich mit zunehmendem Datenvolumen.
- Abfrage-Timeouts treten bei einigen hunderttausend Datensätzen auf, wenn nicht selektive Abfragen ganze Tabellen scannen.
- Ausnahmen von Heap-Obergrenzen werden angezeigt, wenn Lösungen nicht benötigte Felder abrufen.
- CPU-Zeitüberschreitungen werden angezeigt, wenn komplexe Berechnungen synchron ausgeführt werden.
- Problemumgehungen vervielfachen sich, wenn Teams die einzelnen neuen Obergrenzen durch Patches umgehen.
Jeder dieser Fehler ist sowohl ein Zuverlässigkeits- als auch ein Kostenproblem, da die verschwendete Berechnung die von Ihnen bezahlte Kapazität beansprucht. Am wichtigsten ist, dass Teams Opportunities verpassen, um in Innovationen zu investieren, da Budget und Engineering-Kapazität durch Abfälle und nicht durch strategische Initiativen verbraucht werden.
Kostengünstige Lösungen maximieren den Wert durch:
- Verwenden von bereits erworbenen Plattformfunktionen
- Angleichen der richtigen Lizenzierung und des Verbrauchs an die tatsächliche Nutzung
- Modellieren der Gesamtkosten vor dem Festlegen eines Ansatzes
- Kontinuierliche Überwachung der Ausgaben im Vergleich zu den Geschäftsergebnissen
Diese Praktiken verdichten sich. Teams, die Kostenbewusstsein und Ressourceneffizienz in ihr Design integrieren, bieten mehr Möglichkeiten pro Dollar als Teams, die die Optimierung wie eine Bereinigung behandeln, nachdem die Ausgaben bereits gestiegen sind.
Die Ressourcen- und Kostenoptimierung ist direkt mit anderen architektonischen Säulen verbunden. Operational Excellence reduziert die laufenden Kosten durch Automatisierung, die den manuellen Aufwand reduziert. Zuverlässigkeit und Trust rechtfertigen Prämieninvestitionen durch Sicherung der Geschäftskontinuität und Einhaltung gesetzlicher Vorschriften. Zusammen helfen diese Säulen Unternehmen, selbstbewusst zu investieren, da ihre Architektur maximale Erträge bringt.
Verwenden Sie diese Grundsätze, um Ihre Architekturentscheidungen für die Ressourcen- und Kostenoptimierung auf der Plattform zu leiten.
-
Optimieren Sie die Gesamtbetriebskosten. Die Gesamtbetriebskosten erstrecken sich über Abonnementgebühren hinaus auf Verbrauchsgutschriften, Implementierungskosten, Betriebskosten, Integrationskosten und Aufwand für die Änderungsverwaltung. Werten Sie Entscheidungen mithilfe von TCO-Analysen aus, um das vollständige Investitionsbild über die Lebensdauer einer Lösung aufzuzeigen. Manchmal reduzieren höhere Vorabinvestitionen die laufenden Betriebskosten erheblich und die TCO-Analyse zeigt einen Kompromiss. Optimieren Sie für einen langfristigen Wert und nicht für eine kurzfristige Kostenminimierung.
-
Passen Sie die Ausgaben an den Geschäftswert an. Verbinden Sie jede Salesforce-Investition mit einem messbaren Geschäftsergebnis. Die Lizenzausgaben ermöglichen die Produktivität der Benutzer, gemessen durch Akzeptanz und Aufgabenabschluss. Data 360-Investitionen unterstützen die Entscheidungsfindung, gemessen anhand der Konvertierung und des Kundenlebenszeitwerts. Sandbox-Kosten – Geschwindigkeit der Mittelentwicklung gemessen an Bereitstellungshäufigkeit und -qualität. Wenn Ausgaben mit dem Wert übereinstimmen, investieren Sie selbstbewusst in das, was den Erfolg steigert, und identifizieren Sie Ausgaben, die nicht mehr rentabel sind.
-
Design innerhalb der Plattformobergrenzen. Obergrenzen definieren, was eine Lösung pro Transaktion verarbeiten kann. Behandeln Sie sie von Anfang an als Designeinschränkungen und nicht als Hindernisse, die umgangen werden können. Entwerfen Sie Transaktionen, die unter Spitzenlast und maximalem Datenvolumen bequem in Grenzen funktionieren, und schaffen Sie Spielraum für künftige Funktionen, andere installierte Pakete und unerwartete Datenmuster. Lösungen, die von der Konzeption an in Grenzen konzipiert wurden, weisen eine vorhersehbare Leistung auf und vermeiden spätere Notfallrefaktoren.
-
Optimieren Sie die Ressourcen, für die Sie bereits bezahlen. Bevor Sie mehr Kapazität kaufen, maximieren Sie den Durchsatz, die Effizienz und den Wert der bereits bereitgestellten Plattformvermögenswerte. Effiziente Abfragen, Massenverarbeitung von Datensätzen (Massenverarbeitung), Zwischenspeicherung und disziplinierter Datenlebenszyklus reduzieren den Rechen-, Speicher- und API-Verbrauch, den eine Lösung benötigt. Diese Ressourceneffizienz ist der Mechanismus zur nachhaltigen Kostenoptimierung: Abfälle, die aus bereitgestellten Ressourcen entfernt werden, verbessern die Leistung und die langfristige Gesamtbetriebskosten.
-
Richtige Lizenzierung und Verbrauch bis zur tatsächlichen Verwendung. Stimmen Sie jeden Benutzer mit dem Lizenztyp ab, den seine Arbeit erfordert, und entwerfen Sie Automatisierungen und Agenten, um dosierte Services effizient aufzurufen. Überlizenzen und nicht überwachte Verbrauchsrechte gehören zu den häufigsten und kostspieligsten Abfallquellen. Durch regelmäßige Überprüfungen von Rollen, Anmeldeaktivitäten und Opportunities mit Nutzungsrechten und klare Einblicke in die Kreditverbrennung werden verbrauchsbasierte Kosten prognostiziert.
-
Errichten Sie eine Finanz-Governance- und Kostenbewusstseinskultur. Verwalten Sie Salesforce-Ausgaben als strategische Investition durch aktive Aufsicht und gemeinsame Rechenschaftspflicht. Die Finanz-Governance integriert Kosten-Nutzen-Analysen in Designentscheidungen, statt Kosten nach der Bereitstellung zu ermitteln. Das Kostenbewusstsein liegt in einer gemeinsamen Verantwortung von Beteiligten, Architekten und Entwicklern, die Kostenauswirkungen und funktionale Anforderungen abwägen. Daher werden intelligente Investitionsentscheidungen auf jeder Ebene ohne zentralisierte Engpässe getroffen.
-
Praxis der kontinuierlichen Optimierung. Die Optimierung ist eine fortlaufende Praxis und keine einmalige Übung. Überwachen Sie die Ausgaben und den Ressourcenverbrauch über Dashboards, auf die technische und geschäftliche Beteiligte zugreifen können. Konfigurieren Sie Warnungen, die ausgelöst werden, wenn die Verbrauchsausgaben Schwellenwerte erreichen, bevor der unkontrollierte Verbrauch unbemerkt bleibt. Regelmäßige Überprüfungen zeigen Abfall auf, der sich nach und nach ansammelt, validieren, dass vorherige Optimierungsinvestitionen die erwartete Rendite erbracht haben, und decken neue Opportunities auf, wenn sich Geschäftsprioritäten und Datenvolumen weiterentwickeln.
Wenn Sie wissen, was Salesforce betreibt, können Sie sich bei der Optimierung auf das konzentrieren, was Sie steuern. Die Plattform übernimmt die Ressourcenverwaltung auf Infrastrukturebene, die dedizierte Teams in traditionellen IT-Umgebungen erfordert:
- Zuteilung von mandantenfähigen Ressourcen: Salesforce gewährleistet eine faire CPU-, Speicher- und Datenbankverbindungsfreigabe für alle Kunden in freigegebener Infrastruktur, überwacht den Mandantenverbrauch und setzt Obergrenzen durch, die verhindern, dass einzelne Mandanten die Leistung für andere beeinträchtigen.
- Obergrenzenarchitektur für Gouverneure: Plattformerzwungene Grenzen (100 SOQL-Abfragen pro synchrone Transaktion, 10 Sekunden CPU-Zeit, 6 MB Heap-Größe) schützen alle Mandanten vor Ressourcenerschöpfung. Salesforce kalibriert diese Obergrenzen für die Infrastrukturkapazität für mehrere Mandanten. Diese Obergrenzen sind architektonische Grenzen und keine willkürlichen Einschränkungen.
- Abfrageoptimierung und Ausführungsmodul: Die Salesforce-Abfrageoptimierung generiert Ausführungspläne, verwaltet Statistiken zur Datenverteilung und wählt optimale Abfragepfade aus. Plattformverwaltete Indizes für Standardfelder beschleunigen allgemeine Abfragemuster und die Optimierung passt sich automatisch an Änderungen des Datenvolumens an.
- Infrastrukturskalierung: Salesforce stellt Hardwarekapazität bereit, verwaltet Datenbank-Cluster, verteilt die Auslastung und skaliert die Infrastruktur entsprechend der wachsenden Nutzung. Sie können niemals Server bereitstellen, den Datenbankabgleich verwalten oder Lastenausgleiche konfigurieren.
- Plattformleistungsoptimierung: Salesforce optimiert kontinuierlich den zentralen Plattformcode, die Abfrageausführung, die API-Antwortzeiten und die Leistung des Benutzeroberflächen-Frameworks und bietet Infrastrukturverbesserungen durch seine regulären Versionen, ohne dass Kundenaktionen erforderlich sind.
Salesforce verwaltet auch die kommerzielle Seite der Plattform. Daher gehören Lizenzierung und Verbrauch zur gleichen Säule wie Berechnung und Speicher. Die Plattform definiert die Editionen, Lizenztypen, Add-Ons und Verbrauchskreditmodelle, über die Kapazität gekauft wird, und misst die Nutzung, die diese Gutschriften abruft. Sie legen diese Preise nicht höher fest, als Sie die Server bereitstellen, aber Sie entscheiden, wie viel Sie jeweils verbrauchen: welche Lizenz die einzelnen Benutzer besitzen, wie effizient eine Automatisierung einen dosierten Service aufruft und wie viele Sandbox-Instanzen aktiv bleiben.
Diese Plattformvorgänge sind die Grundlage, auf der Sie aufbauen. Da Salesforce sowohl die Infrastruktur als auch das Preismodell verwaltet, fließen Ihre Optimierungsmaßnahmen vollständig in die Architekturentscheidungen ein, die Sie darüber hinaus treffen: wie effizient Sie die Ihnen bereitgestellten Ressourcen verwenden und wie bewusst Sie die Ausgaben steuern, die sie bereitstellen.
Das Modell für die gemeinsame Verantwortung bedeutet, dass Sie die Ressourceneffizienz für alles besitzen, was Sie in Salesforce erstellen. Die Plattformressourcenverwaltung unterstützt Ihre Arbeit, ersetzt jedoch nicht Ihre Optimierungsbedürftigkeit. Eine effiziente Lösung bringt mehr Geschäftswert aus der Berechnungs-, Speicher- und API-Kapazität, für die Sie bereits bezahlen. Dies ist der Mechanismus, der die Kostenoptimierung nachhaltig hält und nicht zu einer einmaligen Budgetkürzung führt. Verschwenderische Berechnungen hingegen verbrauchen Infrastrukturressourcen, ohne einen Geschäftswert zu liefern, und ihre Kosten werden höher angesetzt. Die Leistung verschlechtert sich prognostiziert, wenn das Datenvolumen wächst, und die Problemumgehungen vervielfachen sich, wenn Teams die Obergrenzen umgehen, die sie hätten festlegen können.
Ihre Optimierungsaufgaben erstrecken sich auf vier miteinander verbundene Bereiche: Leistung, Codeorganisation, Paketerstellung und Daten. Jede ist eine Value-per-Cost-Entscheidung, bevor sie eine technische Entscheidung ist. In diesem Abschnitt wird erläutert, wie Sie diese Entscheidung treffen und warum sie wichtig ist. Die genauen Implementierungsrezepte, Vorlagen auf Code-Ebene, die Setup-Navigation und bestimmte Optimierungsschwellenwerte, auf die in diesem Abschnitt verwiesen wird, befinden sich in der Musterbibliothek "Ressourcen- und Kostenoptimierung".
Die Leistungsoptimierung beginnt mit einer Änderung Ihrer Sicht auf die Obergrenzen. Sie sind keine Hindernisse für die Arbeit. Es sind architektonische Einschränkungen, die, wenn sie vom ursprünglichen Entwurf übernommen werden, Lösungen mit vorhersehbaren Leistungsmerkmalen ergeben. Jede Transaktion wird innerhalb fester Grenzen ausgeführt und diese Grenzen sind vorhanden, um eine faire Ressourcenfreigabe für jeden Mandanten auf der Plattform zu erzwingen. Eine Apex-Transaktion, die 95 der 100 zulässigen SOQL-Abfragen verbraucht, lässt keinen Spielraum für künftige Funktionen, von anderen Teams hinzugefügte Auslöser oder unerwartete Datenmuster. Architekten, die Transaktionen deutlich unter der Hälfte der Obergrenze halten, erstellen Lösungen, die ohne Notfall-Refaktorierung wachsen können, wenn eine Obergrenze ausgeschöpft ist. Die Disziplin besteht darin, bei Spitzenlast und maximalem Datenvolumen innerhalb der Grenzen zu entwerfen, sodass das Hinzufügen einer Funktion oder der Automatisierung eines anderen Pakets eine Transaktion niemals über den Tellerrand schiebt. Ein häufiger, teurer Fehler: Die Lösung funktioniert perfekt für 10 Datensätze in einer Developer Sandbox, erreicht jedoch die Obergrenzen in der Produktion. Developer Sandbox-Instanzen kopieren nur die Konfiguration und enthalten keine Daten. Beim Testen realistischer Volumen in einer Full Copy-Sandbox treten Probleme mit der Skalierbarkeit auf, bevor Kunden dies tun.
Die Abfrageselektivität ist der größte Hebel dafür, ob eine Lösung auf Millionen von Datensätzen skaliert werden kann oder ob eine Zeitüberschreitung bei Hunderttausenden auftritt. Selektive Abfragen verwenden Indizes, um Datensätze effizient zu finden, während nicht selektive Abfragen ganze Tabellen scannen, übermäßige Datenbankressourcen verbrauchen und schließlich Zeitüberschreitungen verursachen. Die Plattform behält Standardindizes für einen definierten Satz von Feldern bei und wendet Selektivitätsschwellenwerte an, die sich verschärfen, wenn ein Objekt seine ersten Millionen Datensätze überschreitet. Wenn Sie auf Selektivität achten, müssen Sie nach indizierten Feldern als primären Kriterien filtern und sie mit dem Abfrageplan-Tool validieren, bevor Sie sie für große Objekte bereitstellen, da es sich bei einer Abfrage, die einen Tabellenscan für ein Objekt mit hohem Volumen anzeigt, um einen Produktionsvorfall handelt, der auf das Eintreten wartet. Selektivität ist Kapazität, die Sie nicht kaufen müssen: Eine effiziente Abfrage wird in Millisekunden zurückgegeben und lässt Datenbankressourcen für jeden anderen Mandanten und jede andere Transaktion in Ihrer eigenen Organisation verfügbar.
Bei der Bulkification handelt es sich um das grundlegende Skalierbarkeitsmuster, das Apex, das skalierbar funktioniert, von Apex unterscheidet, das Obergrenzen erreicht. Das Anti-Pattern – eine Abfrage oder eine DML-Anweisung, die in einer Schleife platziert wird – funktioniert bei kleinen Datensatzgruppen ordnungsgemäß, verstößt jedoch gegen die Obergrenzen, sobald ein Massenvorgang ausgeführt wird. Die Abhilfe besteht darin, alle erforderlichen Daten in einzelnen Anweisungen außerhalb von Schleifen abzufragen, die Ergebnisse in Karten zu organisieren, die von der ID eingegeben werden, um während der Iteration schnell nachschlagen zu können, und eine gesamte Sammlung mit Batch-DML zu verarbeiten. Entwerfen Sie jede Automatisierung so, dass sie den standardmäßigen Auslöserbatch mit 200 Datensätzen verarbeitet, ohne sich den Obergrenzen zu nähern, und derselbe Code wird unabhängig von der Auslastung in der Produktion skaliert.
Die asynchrone Verarbeitung ist für Arbeiten vorhanden, die nicht innerhalb der synchronen Obergrenzen einer Benutzertransaktion abgeschlossen werden können oder sollen. Wenn Sie diese Arbeit in einen asynchronen Kontext verschieben, werden die verfügbaren Obergrenzen in etwa verdoppelt und verhindert, dass Benutzer durch langfristige Vorgänge blockiert werden. Dieser Headroom ist real, aber nicht kostenlos und es ist ein Fehler, nach asynchron zu suchen, wenn eine Obergrenze sich in der Nähe anfühlt. Asynchron ist ein bewusster architektonischer Kompromiss: Sie führt zu einer endgültigen Konsistenz, sodass das Ergebnis der Arbeit in der Transaktion, die sie angefordert hat, nicht sichtbar ist, was Entscheidungen über die Benutzererfahrung erzwingt, die nicht von der sofortigen Bestätigung abhängen. Sie erfordert eine explizite Fehlerbehandlung und -überwachung, da ein Fehler in einem Auftragsprotokoll angezeigt wird und nicht bei dem Benutzer, der ihn ausgelöst hat. Und es kann das mentale Modell des Systems verkomplizieren, wenn sich ein einzelner Geschäftsvorgang über mehrere Transaktionen erstreckt. Die Value-per-Cost-Entscheidung besteht darin, diese zusätzliche Komplexität mit der Kapazität abzuwägen, die die Arbeit wirklich benötigt, und die Arbeit synchron zu halten, wenn sie bequem passt.
Wenn asynchron der richtige Aufruf ist, richtet sich die Auswahl unter den Mechanismen nach der Form der Arbeit und nicht nach der Größe der Obergrenze. Batch Apex ist für Volumen. Sie verarbeitet Millionen von Datensätzen, indem sie in Blöcke unterteilt werden, wobei jeder seine eigenen Obergrenzen hat. Daher gehören Datenmigration, Datenarchivierung und Massenanreicherung hierher. Warteschlange ist für Sequenz: Sie verarbeitet Workflows mit mehreren Schritten, die synchrone Obergrenzen überschreiten, aber keine Batch-Skalierung erfordern, und unterstützt das Verketten eines Auftrags von einem anderen für Schritte, die ordnungsgemäß ausgeführt werden müssen. Plattformereignisse dienen zur Entkopplung: ein Hersteller sendet ein Ereignis aus, ohne seine Verbraucher zu kennen oder darauf zu warten. Verwenden Sie dieses Muster für systemübergreifende Benachrichtigungen und zum Trennen von Arbeit, die nicht zur selben Transaktion gehört, mit der Überlegung, dass für die Zustellung mindestens einmal idempotente Abonnenten erforderlich sind. Zukünftige Methoden decken den engen Fall einfacher asynchroner Arbeit mit primitiven Eingaben ab, in der Regel einem Callout über einen synchronen Auslöser. Ihre Unfähigkeit, komplexe Objekte zu verketten oder zu akzeptieren, ist genau der Grund, warum sie kein Tool für die asynchrone Arbeit für alle Zwecke sind. Passen Sie den asynchronen Mechanismus an die Form der Arbeit an. Andernfalls tauschen Sie ein Obergrenzenproblem gegen Konsistenz und Überwachungskosten aus, die den Gewinn überwiegen.
Durch das Zwischenspeichern wird wiederholte Arbeit in Kapazität umgewandelt, die Sie beibehalten. Der Plattform-Cache speichert serialisierbare Daten über Transaktionsgrenzen hinweg, sodass bei einem Cache-Treffer vermieden wird, dass die Abfrage oder Neuberechnung, die den Wert erzeugt hat, erneut ausgeführt wird, was den SOQL- und CPU-Verbrauch direkt reduziert. Die Entscheidung, mit der ein Cache erstellt oder unterbrochen wird, wird von Ihnen festgelegt und wie lange. Zwischenspeichern von Daten, die viel häufiger gelesen werden, als sie geändert werden, beispielsweise benutzerdefinierte Metadaten, Konfigurationen und Auswahllistenwerte, und Festlegen der Lebenszeit an die Volatilität der Daten statt an eine einzelne Standardeinstellung. Referenzdaten, die sich monatlich ändern, können sicher stundenlang zwischengespeichert werden, während die Konfiguration, die sich durch den Tag verschiebt, ein kurzes Zeitfenster benötigt, sodass der Cache niemals einen veralteten Wert bereitstellt, der wichtig genug ist. Ein zu aggressiver Cache tauscht einen Leistungsgewinn gegen ein Korrektheitsrisiko aus und ein Cache mit einer schlechten Trefferquote verbraucht Speicherplatz, ohne Kapazität zurückzugeben. Daher ist die Trefferquote eine zu überwachende Kennzahl und keine anzunehmende Einstellung. Die Partitionsauswahl ist eine Sicherheitsentscheidung: Verwenden Sie die Organisationspartition für benutzerübergreifend freigegebene Daten, verwenden Sie die Sitzungspartition für benutzerspezifische Daten, die isoliert bleiben müssen, und platzieren Sie niemals personenbezogene Informationen in der Organisationspartition, wo jeder Benutzer sie lesen kann. Lightning Data Service erweitert dieselbe Idee auf den Client: Sie gibt zwischengespeicherte Datensätze für alle Komponenten auf einer Seite frei und eliminiert redundante Serverumgehungen. Bei jedem Cache-Treffer handelt es sich um Rechen- und API-Kapazität, die Sie nicht aufwenden müssen, solange der zurückgegebene Wert noch richtig ist.
Bei Datenschieflagen handelt es sich um einen Leistungs-Hotspot, der durch unausgewogene Datensatzverteilung entsteht. Wenn ein einzelner übergeordneter Datensatz mehr als 10.000 untergeordnete Datensätze ansammelt, verschlechtert sich die Abfrageleistung und es treten bei gleichzeitigen Vorgängen Probleme mit der Zeilensperre auf. Bei dem Schwellenwert handelt es sich um ein Designsignal und nicht um eine feste Obergrenze. Sie können die Last auf mehrere übergeordnete Elemente verteilen, Objekte mit hohem Volumen mit geplanten Aufträgen überwachen, die benachrichtigt werden, wenn sich ein übergeordnetes Element der Grenze nähert, und Massenlasten nach übergeordneter ID sortieren, damit gleichzeitige Batches nicht um dieselben Zeilen kämpfen. Inhaberschaftsverzerrung, bei der ein Integrationsbenutzer Inhaber von Hunderttausenden von Datensätzen ist, erzeugt dieselbe Sperre und verdient dieselbe Lastverteilung.
Salesforce stellt Tools bereit, um die Leistungsmerkmale während der Entwicklung einer Lösung gesund zu halten. Das Skalierungscenter bietet Einblicke auf Transaktionsebene in langfristige Vorgänge, Zeilensperrkonflikte und Transaktionen, die sich den Obergrenzen nähern, und benennt dann den spezifischen Auslöser und das Objekt. ApexGuru wendet die AI-Analyse auf die Produktionslaufzeit-Telemetrie an, um Anti-Patterns anzuzeigen, bevor sie die Skalierung erreichen, und Salesforce Code Analyzer führt statische Analysen in der CI/CD-Pipeline durch, sodass Erstellungen fehlschlagen, wenn Abfragen in Schleifen angezeigt oder andere Leistungsmängel erkannt werden. Die Ereignisüberwachung deckt Verbrauchstrends im Laufe der Zeit auf und Proactive Monitoring, eine Funktion für den Signature Success Plan, wertet die Organisation kontinuierlich auf Leistungs- und Skalierbarkeitsrisiken aus.
Bei der Codeorganisation handelt es sich um eine Kostenentscheidung, die als Wartbarkeit angegeben wird. Die Wartung beansprucht in der Regel den Großteil der Entwicklungskapazität für eine ausgereifte Lösung. Daher bestimmt die von Ihnen ausgewählte Struktur, wie viel zukünftige Kapazität geändert und nicht überarbeitet werden soll. Drei Muster enthalten den größten Teil dieses Werts. Das Auslöser-Handler-Muster zentralisiert die Auslöserlogik in den Handler-Klassen und reduziert die Auslöserdatei selbst auf einen minimalen Delegierungspunkt, wodurch die Logik unabhängig vom Auslöserkontext getestet werden kann und die Rekursionssteuerung eine einzige Startseite erhält. Das Serviceebenenmuster kapselt Geschäftslogik in Klassen, die Vorgänge anzeigen, die über einen Auslöser, einen REST-Endpunkt, einen aufrufbaren Flow oder einen Batchauftrag aufgerufen werden können, sodass eine Geschäftsregel in einer Implementierung existiert und nicht über jeden Eintrittspunkt hinweg dupliziert wird und nicht mehr synchron ist. Das Auswahlmuster zentralisiert SOQL für jedes Objekt in dedizierten Klassen, wodurch die Abfrageabstimmung eine Einzelpunktänderung darstellt und jeder Abfrage ein expliziter benannter Intent zugewiesen wird.
Gemischte DML-Fehler sind ein unterschiedliches Organisationsrisiko, das es sich lohnt, explizit dagegen vorzugehen. Sie treten auf, wenn eine Transaktion DML für Setup-Objekte wie "Benutzer" und "Berechtigungssatz" und Nicht-Setup-Objekte wie "Account" und benutzerdefinierte Objekte ausführt, da Setup-Änderungen, die sich auf den Zugriff eines Benutzers auswirken, in einer separaten Transaktion übernommen werden müssen. Der Fehler tritt in großem Umfang bei Integrationsaufträgen, beim Test-Setup und bei der Benutzerbereitstellungsautomatisierung auf. Die architektonischen Abhilfemaßnahmen bestehen darin, Setup- und Nicht-Setup-DML über Transaktionsgrenzen hinweg mithilfe der asynchronen Verarbeitung oder von Plattformereignissen zu trennen, Datenmodelle zu entwerfen, die eine Kombination der beiden Vorgänge in einem einzelnen Geschäftsschritt vermeiden, und Setup-DML in Tests zu isolieren.
Paketerstellungsentscheidungen beeinflussen die langfristigen Entwicklungskosten und die Wiederverwendung, die Sie unternehmensweit erreichen können. Verwaltete Pakete der zweiten Generation bieten eine quellgesteuerte modulare Entwicklung mit Namespace-Schutz und sind die richtige Wahl für Produkte vom Typ "Unabhängiger Softwareanbieter (ISV)", die über AgentExchange vertrieben werden. Entsperrte Pakete bieten internen Teams die gleiche Modularität und Abhängigkeitsverwaltung ohne Namespace-Overhead, was für Unternehmensanwendungen geeignet ist, die eine unabhängige Bereitstellung, aber keine Marktplatzauflistung benötigen. Verwaltete Pakete der ersten Generation werden weiterhin für vorhandene Produkte verwendet, es fehlt jedoch der quellgesteuerte Workflow, der die Wartung neuer modularer Entwicklungen ermöglicht.
Die Modularität erstreckt sich auf die von Ihnen erstellten Komponenten. Entwerfen Sie Lightning Web Components auf der Grundlage einer einzelnen Verantwortung mit klaren Eigenschaftenoberflächen, bevorzugen Sie die Zusammensetzung gegenüber der Übernahme, sodass komplexe Benutzeroberflächen aus kleinen fokussierten Komponenten zusammengestellt werden, und verwenden Sie benutzerdefinierte Ereignisse für die Kommunikation mit übergeordneten Elementen, statt sie direkt an übergeordnete Benutzer weiterzuleiten. Stellen Sie wiederverwendbares Apex als aufrufbare Aktionen bereit, damit Administratoren die Automatisierung in Flow Builder anhand der vom Entwickler erstellten Funktionen erstellen können, wodurch Duplikate reduziert und die deklarative und programmatische Welt überbrückt werden. Durch eine gut konzipierte Modularität kann eine Funktion einmal erstellt und wiederverwendet werden, statt sie erneut zu implementieren und an allen benötigten Stellen separat zu warten.
Das Wachstum nicht verwalteter Daten ist die häufigste Quelle für eine allmähliche Leistungsverschlechterung und treibt die Speicherkosten und die Sandbox-Aktualisierungszeit parallel an. Zwei Entscheidungen regeln die Dateneffizienz. Der erste ist das Datenmodelldesign. Master-Detail-Beziehungen bieten das Löschen von Kaskaden, Rollup-Zusammenfassungen und die Datenfreigabe auf Kosten einer engeren Kopplung. Nachschlagevorgänge bieten Flexibilität auf Kosten einer benutzerdefinierten Rollup-Logik und eine bewusste Indexstrategie für die von Ihnen gefilterten Felder sorgt dafür, dass Abfragen beim Wachstum von Objekten selektiv bleiben. Der zweite ist der Datenlebenszyklus. Definieren Sie einen vollständigen Lebenszyklus von der Erstellung bis zur Archivierung, statt Objekte unbegrenzt Datensätze ansammeln zu lassen, da ein Objekt, das ohne Archivierungsstrategie in die Millionen geht, schließlich Abfrage-Timeouts, nicht selektive Abfragen und Listenansichten mit dieser Zeitüberschreitung erzeugt.
Wählen Sie den Archivierungsmechanismus erst aus, nachdem Sie die Compliance abgewickelt haben. Überprüfen Sie vor der Auswahl eines Mechanismus, ob Anforderungen an die Datenresidenz, das Recht auf Löschung oder die Aufbewahrung Ihre Optionen einschränken. Große Objekte können nach dem Einfügen nicht mehr geändert werden, wodurch das Löschen archivierter personenbezogener Daten nur für Datensätze zu einem Lösch- und Erstellvorgang wird, der sich auf Prüfprotokolle auswirken kann. Große Objekte speichern umfangreiche historische Datensets getrennt von Standardobergrenzen und passen zu abgeschlossenen Transaktionen und Überwachungsprotokollen, die für die tägliche Arbeit nicht mehr benötigt werden. Durch den externen Speicher können Daten über Salesforce Connect abgefragt werden, während gleichzeitig das Organisationsvolumen reduziert wird. Zudem sind flexible Abfragemuster oder die Integration in ein Data Warehouse für Unternehmen möglich. Überwachen Sie den Speicherverbrauch auf Objektebene, damit das Wachstum sichtbar wird, bevor es zu einem Problem wird, verwenden Sie Salesforce Files anstelle veralteter Anhänge und konfigurieren Sie die Aufbewahrung des Feld-Aktivierungsprotokolls pro Feld, um die Compliance zu gewährleisten, statt ein Maximum anzuwenden, das Speicher verschwendet.
Die Kostenoptimierung gleicht den Geschäftswert mit den Kosten der Lösung aus und hängt davon ab, ob eine genaue Kostenfestlegung erfolgt. Berücksichtigen Sie dazu jede Kostenkomponente, da die Betrachtung einer einzelnen Komponente wie Lizenzkosten zu einem falschen Verständnis der tatsächlichen Kosten der Lösung führt. Eine bescheidene Lizenzgebühr kann Implementierungs-, Betriebs-, Integrations- und Änderungskosten verbergen, die sie in den Schatten stellen. Eine Entscheidung über die sichtbare Zahl allein verwendet nur einen Teil des Bildes. Die Gesamtbetriebskosten sind das Modell, das das Gesamtbild erfasst. Sie umfasst alle Kosten, die mit einer Salesforce-Lösung während ihrer Lebensdauer verbunden sind, und teilt sie in direkte Kosten, die eindeutig mit der Lösung verbunden sind, und indirekte Kosten, die real sind, aber leicht übersehen werden können. Die Modellierung wandelt eine Kostenschätzung in eine fundierte Architekturentscheidung um, die den langfristigen Wert und nicht nur die anfänglichen Kosten abwägt.
Durch die Implementierung, den Betrieb und die Wartung des Systems entstehen direkte Kosten:
- Bei Lizenz- und Verbrauchskosten handelt es sich um laufende Abonnementgebühren, die je nach Edition, Benutzertyp und Funktionssatz variieren, sowie um verbrauchsbasierte Gutschriften. Die Editionsentscheidung ist eine grundlegende Kostenentscheidung, da die Unterschiede zwischen den einzelnen Benutzern erheblich sind. Verbrauchskosten lassen sich nur schwer frühzeitig modellieren. Daher sollten Sie diese Schätzungen erneut überprüfen, wenn Designentscheidungen getroffen werden.
- Die Implementierungskosten decken das Design, die Entwicklung, Tests, die Datenmigration und Schulungen von Lösungen ab. Sie sind überwiegend einmalig, führen jedoch zu fortlaufenden Wartungsverpflichtungen, die proportional zur Komplexität sind. Unternehmen unterschätzen den Implementierungsaufwand systematisch, da sie sich auf die Entwicklung und Unterbewertung von Tests und Schulungen konzentrieren.
- Die Betriebskosten decken die Verwaltung, den Benutzersupport, die Überwachung, die Reaktion auf Vorfälle und die Betriebsmittel ab. Sie wachsen mit der Komplexität der Lösung und sind in der Planung oft unsichtbar, da sie sich als interner Aufwand und nicht als externe Rechnungen manifestieren.
- Die Wartungskosten umfassen Verbesserungen, technische Schuldenbeseitigung, Versionsanpassung und Konfigurationsänderungen. Die Wartung beansprucht in der Regel 60–80 % der Entwicklungskapazität für ausgereifte Lösungen, was sie zur größten fortlaufenden Kostenkategorie macht.
- Zu den Integrationskosten zählen Integrationsplattformlizenzen, API-Verbrauch, Synchronisierungsentwicklung und laufende Wartung. Sie wachsen mit der Komplexität des Ökosystems, da die Punkt-zu-Punkt-Integration bei zunehmender Systemanzahl aufrechterhalten wird.
- Die Änderungskosten decken die Neugestaltung von Geschäftsprozessen, die Änderungsverwaltung, die Akzeptanz und die Koordinierung der Beteiligten ab. Sie erhöhen sich mit der Reichweite über Geschäftseinheiten und Regionen hinweg und werden häufig ausgelassen, da sie sich als Geschäftsteamarbeit manifestieren.
Indirekte Kosten sind in der anfänglichen Planung nicht sofort sichtbar, kumulieren jedoch über die Lebensdauer einer Lösung erheblich und übersteigen bei ausgereiften Implementierungen oft die direkten Kosten. Ein Unternehmen, das nur seine direkten Kosten optimiert, während indirekte Ausgaben ignoriert werden, verpasst den Großteil seiner Gesamtinvestitionen. Mehrere Kategorien verdienen explizite Aufmerksamkeit.
Organisationskosten sind die Investitionen, die den Erfolg von Salesforce steigern, jedoch nie auf einer Salesforce-Rechnung angezeigt werden. Dazu zählen Gehälter für Administratoren, Entwickler und Architekten im internen Team, Entwicklungsinfrastrukturen wie Versionskontrolle und CI/CD-Tooling, Schulungen und Zertifizierungen für die Wartung und Fertigkeitsentwicklung sowie die Opportunity-Kosten für Entwicklungskapazitäten, die der Wartung und nicht der Innovation zugewiesen sind. Das letzte Element ist schwer zu erkennen, da es überhaupt nicht als ausgegeben angezeigt wird. Es zeigt sich als die Innovation, die nie ausgeliefert wurde.
Bei den Zinsen für technische Schulden handelt es sich um die zusammengesetzten Kosten von Architekturkürzungen. Kürzel, die zum Einhalten einer Einführungsfrist getroffen werden, führen zu einer Wartungslast, die ein Mehrfaches der ursprünglichen Bemühungen erfordern kann, um sie später zu lösen, und jeder Sprint, der für die Schuldenbehebung aufgewendet wird, ist ein Sprint, der keinen neuen Geschäftswert bietet. Teams, die Architekturverbesserungen lange genug zurückstellen, stellen schließlich fest, dass der Großteil ihrer Kapazität in die Wartung und nicht in neue Funktionen fließt.
Der Verwaltungsaufwand nimmt durch Genehmigungsprozesse, Koordinierungsbesprechungen und manuelle Überprüfungen Zeit in Anspruch. Governance bietet echten Wert durch Risikoreduzierung und Konsistenz, aber übermäßige Governance verursacht versteckte Kosten durch verzögerte Entscheidungen und doppelte Anstrengungen. Daher ist das Ziel, Systeme zu entwerfen, die eine sichere Autonomie fördern, statt bei jeder Änderung einen zentralen Genehmigungsengpass zu erfordern.
Nicht verwendete Funktionen werden angesammelt, wenn Funktionen implementiert, jedoch nie vollständig übernommen werden. Eine teilweise bereitgestellte Lösung verbraucht die laufende Wartung, ohne einen proportionalen Wert zu bieten, und die Überwachung der Lizenznutzung und der Funktionsakzeptanz zeigt Möglichkeiten, in weitere Investitionen zu investieren oder die Umleitungskapazität einzustellen.
Für eine umfassende Kostensichtbarkeit müssen sowohl direkte Belegposten als auch diese indirekten Belegposten zugeordnet werden, da nur das Gesamtbild eine fundierte Investitionsentscheidung unterstützt.
Erstellen Sie TCO-Modelle für Ihre Basis und für optimierte architektonische Alternativen, bevor Sie sich auf einen Ansatz festlegen. Mit Modellen, die Kosten für 3–5 Jahre mit dokumentierten Annahmen projizieren, können Sie Optionen systematisch vergleichen. Führen Sie eine Sensitivitätsanalyse anhand der wichtigsten Annahmen aus, um die Varianzen und Grenzen der Kostenschätzungen zu bestimmen. Planen Sie, Entscheidungen erneut aufzurufen, wenn sich die Bedingungen ändern. Die Disziplin, die Annahmen aufzuschreiben, ist Teil des Werts, da eine spätere Neubewertung zu einem evidenzbasierten Vergleich und nicht zu einem neuen Argument wird.
Bewerten Sie kommerziell verfügbare Lösungen anhand der benutzerdefinierten Entwicklung, indem Sie einen umfassenden TCO-Vergleich durchführen und nicht nur die anfänglichen Kosten. Entscheidungen vom Typ "Build-versus-Buy" prägen langfristige Investitionen entweder durch laufende Abonnementgebühren oder laufende Wartungsverpflichtungen und die beiden Pfade weisen grundlegend unterschiedliche Anlageprofile auf.
AgentExchange (ehemals AppExchange) ist die führende Quelle für vorgefertigte Lösungen aus der Salesforce ISV-Community. Das zugehörige Anlageprofil begünstigt Geschwindigkeit und gemeinsame Wartung. Die Bereitstellung wird in Wochen und nicht in Monaten gemessen, die für eine vergleichbare benutzerdefinierte Erstellung erforderlich sind. Der Anbieter behält die Funktionen, einschließlich der Plattformversionskompatibilität, ohne Kundenaufwand bei. Die Funktionalität wird durch einen vorhandenen Kundenstamm nachgewiesen, was das Implementierungsrisiko reduziert. Spezialisierte Funktionen profitieren von der Expertise in der Anbieterdomäne und Forschungsinvestitionen, die über das hinausgehen, was ein einzelnes Unternehmen alleine finanzieren würde. Die Supportverfügbarkeit variiert je nach ISV, in der Regel mit einem definierten Eskalationspfad für Probleme, und es werden laufende Abonnementkosten für das Modell berechnet.
Die benutzerdefinierte Entwicklung begünstigt Anpassung und Kontrolle. Sie passt sich genau an die individuellen Organisationsanforderungen an, ohne generische Lösungsmuster zu beeinträchtigen, bietet vollständige Kontrolle über die Funktionen und die Prioritäten der Roadmap, bietet kein laufendes Abonnement über Basisplattformlizenzen hinaus und kann Wettbewerbsvorteile durch Funktionen schaffen, die Mitbewerbern mit denselben Standardlösungen nicht zur Verfügung stehen. Der Kompromiss besteht darin, dass das Unternehmen die volle Verantwortung für die Wartung übernimmt und dafür sorgt, dass die Lösung mit jeder Salesforce-Version kompatibel bleibt.
Ein langfristiger TCO-Vergleich verwandelt diese Profile in eine Entscheidung. Vorgefertigte Lösungen beinhalten zusammengesetzte jährliche Abonnementgebühren, enthalten jedoch vom Anbieter bereitgestellte Wartungs-, Erweiterungs- und Kompatibilitätsaktualisierungen. Benutzerdefinierte Lösungen erfordern eine einmalige Entwicklungsinvestition, tragen jedoch laufende Wartungskosten sowie die volle Verantwortung für die Versionskompatibilität. Projektsummen von 3–5 Jahren für beide, sodass der Vergleich die gesamte Investition und nicht die anfänglichen Ausgaben widerspiegelt, was in der Regel die Option bevorzugt, die am ersten Tag günstiger aussah.
Abgesehen von den Rohkosten prägen vier Faktoren die Entscheidung zwischen Build und Kaufentscheidung.
- Die strategische Differenzierung bestimmt, ob eine Funktion einen Wettbewerbsvorteil darstellt, der sich lohnt, oder ob eine Ware besser gekauft werden sollte.
- "Zeit bis zur Wertschöpfung" begünstigt den Kauf, wenn eine Funktion sofort benötigt wird, um eine Opportunity zu erfassen oder auf Wettbewerbsdruck zu reagieren, da umfangreiche benutzerdefinierte Funktionen Monate dauern.
- Organisationsfunktionen begünstigen den Aufbau nur dort, wo ein fähiges internes Team vorhanden ist, das in der Lage ist, die Lösung im Laufe der Zeit zu pflegen und weiterzuentwickeln, und begünstigen den Kauf, wenn diese Funktion fehlt.
- Die Beendigungskosten begünstigen Optionen, die Flexibilität bewahren, da eine Lösung, die Deep Lock-In durch proprietäre Formate oder umfangreiche Anpassungen erstellt, ein Risiko darstellt, wenn sich die Anforderungen ändern.
Systematisieren Sie die Entscheidung so, dass sie auf einer einheitlichen Bewertung und nicht auf einem Ad-hoc-Urteil beruht.
Lizenzierung und Verbrauch sind Eingaben in die Wert-pro-Kosten-Gleichung, genau wie Berechnung und Speicherung, und sie zählen zu den häufigsten Abfallquellen. Bei der Optimierung geht es nicht um stumpfe Reduzierungen. Es geht darum, jeden Benutzer mit der richtigen Lizenz für seine Arbeit abzugleichen und jeden gemessenen Service effizient aufzurufen.
Die Lizenzoptimierung gleicht jeden Benutzer mit dem richtigen Lizenztyp ab. Im Kern geht es darum, jeden Benutzer im Unternehmen mit der für seine Arbeit erforderlichen Lizenz abzugleichen. Überlizenzierungen, beispielsweise das Zuweisen von vollständigen Plattformlizenzen zu Benutzern, die nur eingeschränkte Funktionen benötigen (schreibgeschützter Zugriff oder einfache Workflow-Genehmigungen), sind einer der häufigsten und kostspieligsten Fehler, die Unternehmen machen, und sie sind unsichtbar, bis jemand hinschaut. Eine regelmäßige Überprüfung von Benutzerrollen, Anmeldeaktivitäten und Funktionsnutzung führt zu erheblichen Einsparungen, da Zuweisungen für die gesamte Benutzerbasis berechtigt werden. Führen Sie sie in einem Rhythmus aus, nicht nur bei der Verlängerung – Diskrepanzen wachsen, wenn sich Rollen ändern und Personen ihre Positionen im Unternehmen ändern.
Die Optimierung von Verbrauchskrediten nimmt zu, da Unternehmen Agentforce, Data 360 und andere AI-gestützte Funktionen verwenden, die Preise nach Nutzung statt nach Sitzplatz berechnen. Kreditpools können überraschend schnell erschöpfen, wenn Teams ihre Prozesse ineffizient entwerfen oder ihre Nutzungsmuster nicht überwachen. Im Gegensatz zu einer festen Lizenzanzahl kann der Verbrauch ohne Bereitstellungsentscheidungen steigen. Schaffen Sie einen klaren Überblick über die Kreditverbrennungsraten, legen Sie Verbrauchsschwellenwerte fest, die eine Überprüfung auslösen, und entwerfen Sie Automatisierungen und Agenten so, dass sie die gemessenen Services effizient aufrufen. Durch die gleiche Effizienzarbeit, die eine Transaktion innerhalb der Obergrenzen hält, bleibt ein gemessener Service innerhalb seines Kreditbudgets. Dies ist die gleiche Value-per-Cost-Idee, ausgedrückt in Verbrauchsbegriffen.
Die Strategie für Umgebung und Sandbox ist eine Ressourcenentscheidung mit direkten Kostenfolgen und ein ausgereiftes Salesforce-Bereitstellungsmodell erfordert eine gut strukturierte Umgebungsstrategie. Entwicklungs-, Test-, Staging- und Produktionsumgebungen erfüllen jeweils einen eigenen Zweck und mit der richtigen Mischung an Sandbox-Typen können Teams Änderungen sicher erstellen und validieren, bevor sie die Produktion erreichen. Die Herausforderung besteht darin, dass ohne bewusste Governance die Anzahl der aktiven Sandbox-Instanzen schnell zunimmt, insbesondere bei großen oder langfristigen Programmen, und die Kosten so in die Höhe treibt, dass Unternehmen überrascht werden. Die Abhilfe besteht darin, die Sandbox-Bereitstellung mit derselben Intentionalität wie jede andere Ressource zu behandeln. Aktualisieren oder heben Sie die Bereitstellung von Sandbox-Instanzen auf, die nicht mehr aktiv verwendet werden, statt sie leer zu lassen. Legen Sie klare Richtlinien für Inhaberschaft, Aktualisierungsrhythmus und Außerbetriebnahme fest, damit der Bestand funktionsgerecht bleibt.
Architektur mit mehreren Organisationen multipliziert die Kosten. Eine Architektur mit einer einzigen Organisation profitiert von konsolidierten Lizenzen, gemeinsamer Plattforminfrastruktur und reduziertem Verwaltungsaufwand, da es einfach weniger zu verwalten, zu konfigurieren und zu warten gibt. Wenn alle Geschäftseinheiten in einer Organisation funktionieren, sind Integrationen intern und nicht organisationsübergreifend, die Datenfreigabe ist nativ und die Gesamtbilanz von Sandbox-Instanzen, Support und Governance-Tools bleibt proportional kleiner. Architekturen mit mehreren Organisationen sind zwar manchmal für geografische, behördliche oder organisatorische Trennungen erforderlich, führen jedoch bei einigen Kostenkategorien zu einem Multiplikatoreffekt. Jede zusätzliche Organisation bringt ihre eigenen Lizenzanforderungen, ihren eigenen Sandbox-Bestand, ihren eigenen Integrations-Overhead und ihren eigenen Verwaltungsaufwand mit sich und erfordert komplexere Tools zum Verwalten der organisationsübergreifenden Bereitstellung, der Identitätszuordnung und der Datensynchronisierung. Machen Sie sich mit den tatsächlichen Gesamtbetriebskosten für jede weitere Organisation vertraut, bevor Sie eine architektonische Entscheidung treffen, die schwierig und teuer rückgängig zu machen ist.
API- und Integrationskosten zählen zu den am meisten unterschätzten Kostenfaktoren in einem Salesforce-Ökosystem. Die Verbindung von Salesforce mit einem externen System kann einfach aussehen, aber komplexe Integrationsanforderungen führen schnell zu Kosten für Middleware-Lizenzen, Entwicklungsaufwand, laufende Wartung und den API-Verbrauch, der bei jedem Datenaustausch anfällt. Unternehmen mit vielen integrierten Systemen, hohen Datenvolumen oder Anforderungen an die Synchronisierung nahezu in Echtzeit sind besonders betroffen. Hier kommt es auf die Architektur an. Chattige, detaillierte Integrationen, die häufige kleine API-Aufrufe vornehmen, sind teurer und anfälliger als gut konzipierte Massen- oder ereignisgesteuerte Muster, die Umwege minimieren, und die Unterschiede vervielfachen sich, wenn verbundene Anwendungen verwendet werden. Steuern Sie Integrationsdesignstandards, konsolidieren Sie Integrationsplattformen nach Möglichkeit und überprüfen Sie regelmäßig, ob vorhandene Integrationen noch so effizient funktionieren, wie sie ursprünglich konzipiert wurden.
Eine nachhaltige Architektur erfordert mehr als anfängliche Designoptimierungen. Sie verlangt eine kontinuierliche Überwachung und strukturierte Rechenschaftspflicht. Kostenüberwachung und Governance sind das Framework, das die Optimierung von einer einmaligen Übung in eine fortlaufende betriebliche Praxis umwandelt. Konsistente Verfolgung und klare Inhaberschaft reduzieren das Risiko unerwarteter Kostenüberschüsse, sodass jeder ausgegebene Dollar dem Geschäftswert entspricht.
Schaffen Sie Einblicke in die Ausgabenmuster über Dashboards, auf die sowohl technische Teams als auch Geschäftsbeteiligte zugreifen können, damit Investitionsunterhaltungen auf Daten und nicht auf Rechnungen basieren. Die Kostentransparenz startet eine datengesteuerte Unterhaltung über Investitionsprioritäten und Optimierungsmöglichkeiten und funktioniert am besten, wenn drei unterschiedliche Ansichten verfügbar sind. Lizenznutzungs-Dashboards zeigen inaktive Benutzer, überlizenzierte Benutzer und Inkongruenzen beim Lizenztyp auf. Hierbei handelt es sich um Optimierungsmöglichkeiten, die sich in einer flachen Anzahl von Mitarbeitern verbergen. Kapazitäts-Dashboards zeigen die Speicher-, API- und Verarbeitungsauslastung mit Wachstumstrends an, sodass Teams optimieren können, bevor eine Obergrenze zu einem Ausfall führt und nicht erst danach. Investitions-Dashboards zeigen Ausgaben nach Geschäftseinheit, Umweltkosten des Inhaberteams, Zusatzkosten im Vergleich zu ihrer Auslastung und prognostizierte Ausgaben basierend auf dem aktuellen Wachstum an, wodurch eine Budgetunterhaltung in eine Zuteilungsunterhaltung umgewandelt wird.
Diese Dashboards können aus einer Vielzahl von Tools stammen, darunter Digital Wallet und benutzerdefinierte Berichte, die Metadaten abfragen. Das Tool ist weniger wichtig als die Disziplin, in der die Daten angezeigt werden, in denen Entscheidungen getroffen werden. Geben Sie die Dashboards für Beteiligte und Führungskräfte frei, um Transparenz für eine fundierte Investitionsdiskussion statt für eine reaktive Budgetdebatte zu schaffen. Ein Finanzteam, das Auslastungsmuster sieht, kann die Ausgaben optimieren. Ein Team, das nur eine Gesamtrechnung sieht, kann sie nur kürzen.
Implementieren Sie das Ausgabenbewusstsein im gesamten Unternehmen, einschließlich proaktiver Warnungen, die die Optimierung kennzeichnen, bevor Sie Obergrenzen überschreiten:
- In Lizenzbudgets werden Zuteilungsziele nach Abteilung festgelegt und es werden Warnungen angezeigt, sobald sie sich der Kapazität nähern, damit unkontrollierte Bereitstellungen nicht erst bei der Verlängerung erkannt werden.
- Mit Speicherbudgets wird die Wachstumsrate mit Warnungen überwacht, wenn Trends vor dem nächsten Verlängerungszyklus Obergrenzen überschreiten. In diesen Warnungen wird im Voraus gewarnt, sodass die Archivierung implementiert werden kann, bevor Überbeträge auftreten.
- API-Budgets verfolgen den Verbrauch anhand von Obergrenzen mit Warnungen bei Auslastungsschwellenwerten wie 70 % und 85 %, sodass die Optimierung proaktiv ist und nicht als Notfallreaktion ausgeführt werden kann, wenn Obergrenzen zu Fehlern führen.
- Sandbox-Budgets steuern die Ausbreitung der Umgebung durch Zuteilungsobergrenzen und Genehmigungsprozesse.
Budgetkontrollen schaffen Kostenbewusstsein, ohne notwendige Investitionen zu blockieren. Warnschwellenwerte bieten frühzeitige Warnungen, die eine durchdachte Optimierung anstelle einer reaktiven Verwürfelung ermöglichen.
Die Kostenzuteilung schafft Rechenschaftspflicht und fundierte Entscheidungsfindung über mehrere Geschäftseinheiten hinweg. Unternehmen implementieren sie über eines von zwei Modellen, die sich in ihrer Auferlegung unterscheiden. Zeigen Sie Berichte zu Kosten nach Geschäftseinheit an, ohne eine tatsächliche finanzielle Belastung zu erheben. Sie schafft Transparenz und fördert die kostenbewusste Diskussion und Optimierungspriorität, ohne dass interne Abrechnungen in Frage kommen, was für ein Unternehmen geeignet ist, das das gemeinschaftliche Kostenmanagement der finanziellen Rechenschaftspflicht vorzieht. Durch die Kostenerstattung werden die tatsächlichen Kosten den Geschäftseinheiten zugeordnet und eine direkte finanzielle Rechenschaftspflicht für Verbrauchsentscheidungen geschaffen. Sie fördert ein stärkeres Optimierungsverhalten, da sich die Kosten direkt auf die Budgets der Abteilungen auswirken, erfordert jedoch eine genaue Zuteilungsmethode, um Streitigkeiten darüber zu vermeiden, wer wofür bezahlt. In beiden Fällen folgen die Zuteilungsregeln derselben Logik: Lizenzkosten nach Benutzerabteilung, Umweltkosten durch Inhaberschaft des Entwicklungsteams, Integrationskosten durch den Geschäftsprozess, der die Integration verwendet, und Entwicklungskosten durch die Initiative, die die Arbeit finanziert. Wenn diese Regeln fehlen, landen alle Kosten in einem zentralen IT-Budget und Geschäftsbeteiligte behandeln die Plattform als kostenlos. Dies ist genau die Bedingung, die Anforderungen ohne Kostenbewusstsein generiert.
Passen Sie Cloud-FinOps-Praktiken an die Salesforce Platform-Wirtschaftlichkeit an, um eine kontinuierliche Optimierungsfunktion anstelle einer regelmäßigen Bereinigung zu erstellen. Fünf Übungen tragen das Gewicht.
- Die funktionsübergreifende Zusammenarbeit zwischen Finanz-, Architektur- und Geschäftsbeteiligten stellt sicher, dass Kostenentscheidungen den Geschäftswert und die Ausgaben abwägen. Es bringt Finanz-Know-how in Architekturdiskussionen und technisches Verständnis in die Budgetplanung ein.
- Ein kontinuierlicher Optimierungsrhythmus verhindert Kostenabweichungen durch regelmäßige Überprüfungszyklen: eine monatliche Anomalieüberprüfung, die Ausgabenspitzen erfasst, eine vierteljährliche Auslastungsüberprüfung, die Lizenzzuweisungen und Kapazitätsauslastung validiert, und eine jährliche umfassende TCO-Bewertung, die Ausgaben mit strategischen Prioritäten abgleicht.
- Datengesteuerte Investitionsentscheidungen verwenden Nutzungsdaten und TCO-Modelle anstelle von Annahmen oder historischen Gewohnheiten. Diese Entscheidungen ersetzen "wir haben es immer so gemacht" durch eine Analyse, ob die laufenden Ausgaben einen optimalen Wert liefern.
- Die Automatisierung der Kostenüberwachung reduziert den manuellen Aufwand beim Verfolgen der Auslastung, Identifizieren von Optimierungs-Opportunities und Generieren von Berichten, sodass die Praxis mit organisatorischer Komplexität skaliert werden kann, ohne dass die Anzahl der Mitarbeiter linear wächst.
- Mithilfe der Schulung zum Kostenbewusstsein können Teams nachvollziehen, wie sich architektonische Entscheidungen auf die Gesamtbetriebskosten auswirken, da ein Architekt, der die Kosten versteht, bessere Kompromisse entwickelt und ein Entwickler, der die Plattformökonomie versteht, eine effizientere Automatisierung schreibt.
Integrieren Sie das Kostenbewusstsein in den Architekturüberprüfungsprozess, damit Investitionsauswirkungen neben funktionalen und technischen Überlegungen sichtbar sind und nicht erst nach der Bereitstellung erkannt werden. Fügen Sie eine Kostenfolgenabschätzung in die Architekturentscheidungsdatensätze ein, die wichtige Designentscheidungen dokumentieren. Fordern Sie eine TCO-Projektion für Lösungen an, die einen definierten Investitionsschwellenwert überschreiten. Bewerten Sie die Lizenzauswirkungen während des Designs und bestimmen Sie, ob für einen Ansatz Premium-Lizenzen oder Add-Ons erforderlich sind, bevor er übernommen wird. Bewerten Sie die Integrationskosten, bevor Sie ein Muster übernehmen, das sich auf den API-Verbrauch oder die Middleware-Lizenzierung auswirkt. Ein Architekturüberprüfungsgremium, das neben funktionalen und nicht funktionalen Anforderungen auch eine Kostenperspektive berücksichtigt, führt zu besser abgestimmten Investitionsentscheidungen. Behandeln Sie die Kosten als einen Input für eine Architekturentscheidung und nicht als alleinigen Treiber, damit Unternehmen angemessen in das Wesentliche investieren und gleichzeitig Verschwendung für das, was nicht wichtig ist, vermeiden.
Die Nachhaltigkeit von Cloud Computing konzentriert sich auf die Minimierung der Umweltauswirkungen der digitalen Infrastruktur durch effiziente Ressourcennutzung und richtet sich natürlich nach dem Wert pro Kosten: Dieselbe Effizienz, die den Ressourcenverbrauch senkt, senkt auch die Kosten. Salesforce und Architekten sind gemeinsam für Nachhaltigkeitsergebnisse verantwortlich. Salesforce verwaltet die Rechenzentrumsinfrastruktur, einschließlich Optimierung der Effizienz bei der Stromnutzung, Kühlungseffizienz und Hardware-Lebenszyklusverwaltung, zusammen mit der Pooling-Funktion für mehrere Mandanten und Verbesserungen der Effizienz auf Plattformebene. Sie beeinflussen die Ressourcenverbrauchsmuster Ihrer Lösungen in dieser Mandantenumgebung.
Die Beziehung zwischen einer einzelnen Lösung und den Emissionen des Rechenzentrums ist indirekt und es kommt darauf an, genau zu sein. Die Optimierungen eines einzelnen Mandanten reduzieren nicht direkt die Emissionen von Rechenzentren. Sie tragen zu einem aggregierten Effekt bei: Durch Effizienzsteigerungen bei allen Mandanten kann Salesforce seine Infrastruktur mit höherer Auslastung betreiben und Kapazitätserweiterungen zurückstellen. Ressourceneffizienzkennzahlen, einschließlich SOQL-Abfragen, CPU-Zeit, Heap-Verbrauch und Speicher, dienen daher als Proxy-Indikatoren für Nachhaltigkeit. Durch die Beseitigung von Rechenmüll werden Leistung und Kosten verbessert und dies trägt zu plattformweiten Effizienzzielen bei. Die Designprinzipien in dieser Säule, einschließlich Massenverarbeitung, selektiver Abfragen, Zwischenspeicherung, asynchroner Verarbeitung und diszipliniertem Datenlebenszyklus, führen zu Lösungen, die weniger Ressourcen verbrauchen. Nachhaltigkeit ist keine separate Initiative, die auf der Architektur aufbaut. So sieht Ressourceneffizienz aus, wenn man sie an den Umweltauswirkungen und nicht nur an den finanziellen Kosten misst.
Mehrere architektonische Vorgehensweisen tragen den größten Teil des Nachhaltigkeitswerts bei und jede verbessert auch die Leistung oder die Kosten, weshalb sie zur selben Säule gehören.
Die inaktive Automatisierung verbraucht Infrastrukturressourcen, ohne einen Geschäftswert zu bieten. Auslöser, die irrelevante Datensätze verarbeiten, unnötig ausgeführte Workflows und geplante Aufträge, die ausgeführt werden, wenn keine Arbeit vorhanden ist, verschwenden Berechnung, Speicher und Energie. Abhilfe schafft eine vierteljährliche Automatisierungsprüfung mit expliziten Kriterien für das, was als nicht verwendet gilt: keine Ausführungen in den letzten 90 Tagen, Batchaufträge, die konsistent null Datensätze verarbeiten, und Automatisierung, die durch neuere Implementierungen ersetzt, aber nie deaktiviert wurde. Dokumentieren Sie jede Deaktivierung, damit sie zurückgesetzt werden kann, wenn eine Geschäftsanforderung erneut auftritt. Ein Unternehmen, das Dutzende von Prozessgeneratoren aus vorherigen Implementierungen enthält, von denen die meisten im letzten Jahr nicht ausgeführt wurden, zahlt dafür, dass jeder einzelne bei jedem relevanten Datensatzspeicher ausgewertet wird.
Durch die Planung von ressourcenintensiven Vorgängen außerhalb der Hauptverkehrszeiten wird die Auslastung auf die Zeitfenster verteilt. In einer mandantenfähigen Umgebung verbessert diese Disziplin die Reaktionsfähigkeit der Plattform während der Geschäftszeiten und ermöglicht es Salesforce, die Infrastruktur in aggregierter Form über Mandanten hinweg mit einer höheren durchschnittlichen Auslastung zu betreiben. Planen Sie die Batch-Archivierung, -Anreicherung und -Bereinigung für Zeitfenster mit geringer Auslastung, Staffelungsaufträge, statt 20 um Mitternacht zu starten und eine Verarbeitungsspitze zu verursachen, und bevorzugen Sie ereignisgesteuerte Muster gegenüber geplanten Abstimmungen, damit keine Zyklen damit verbracht werden, nach nicht vorhandener Arbeit zu suchen.
Bei der Berechnung desselben Werts werden wiederholt CPU-Zyklen und Infrastrukturkapazität verschwendet. Berechnen Sie einmal, zwischenspeichern Sie das Ergebnis und verwenden Sie es transaktions- und benutzerübergreifend wieder. Der Plattform-Cache stellt wiederholt abgefragte Referenzdaten bereit, zwischengespeicherte Rollup-Werte vermeiden Echtzeit-Aggregatabfragen, bei denen die Genauigkeit nahezu in Echtzeit ausreicht, Formelfelder werden beim Datensatzzugriff dynamisch neu berechnet, statt einen Wert zu speichern und ihn automatisiert verwalten zu müssen, und Lightning Data Service beseitigt redundante Serveranforderungen auf dem Client. Bei jeder vermiedenen Berechnung handelt es sich um Kapazität, die an die Plattform zurückgegeben wird.
Der Datenspeicher verbraucht Infrastrukturressourcen und beeinträchtigt die Abfrageleistung, während er wächst. Aufbewahrungsrichtlinien, die Daten archivieren oder löschen, die für aktive Vorgänge nicht mehr benötigt werden, halten aktive Tabellen klein und Abfragen schnell. Archivieren Sie überalterte Datensätze in großen Objekten oder externem Speicher für einen geplanten Auftrag, löschen Sie sie endgültig, wenn sie konform sind, statt sich auf die Softlöschung zu verlassen, die weiterhin Speicherplatz beansprucht, und konfigurieren Sie die Aufbewahrung des Feld-Aktivierungsprotokolls pro Feld, statt ein Maximum anzuwenden, das viel mehr Verlauf speichert, als die Compliance erfordert. Wie bei der geplanten Verarbeitung reduzieren einzelne Archivierungsentscheidungen nicht direkt den Energieverbrauch im Rechenzentrum, aber die aggregierte Disziplin des Datenlebenszyklus über alle Mandanten hinweg verbessert die Plattformeffizienz und verschiebt die Erweiterung der Speicherinfrastruktur.
Externe Integrationen verbrauchen Ressourcen in Salesforce und den Systemen, mit denen sie eine Verbindung herstellen. Durch die Datenerfassung und andere ereignisgesteuerte Muster für Änderungen werden die Abfrageaufrufe, die wiederholt nach Änderungen suchen und keine finden, eliminiert, was den API-Verbrauch reduziert, die Obergrenzen erhöht und die verschwenderische Berechnung entfernt. Zusammengesetzte API-Muster aggregieren mehrere Vorgänge in einem einzelnen Aufruf, die Bulk-API v2 verarbeitet große Volumen viel effizienter als Tausende einzelner REST-Aufrufe und die Wiederholungslogik mit exponentieller Absicherung verhindert, dass ein schwieriges externes System beschädigt wird. Eine einzelne Integration, die alle fünf Minuten abfragt und die meiste Zeit nichts zu tun hat, ist reine Verschwendung, während dieselbe Integration, die durch Änderungsereignisse gesteuert wird, nur echte Änderungen verarbeitet.
Agentenarchitekturen verbrauchen Rechenressourcen durch große Sprachmodellrückschlüsse und es gilt die gleiche Effizienzeinstellung. Minimieren Sie die Eingabeaufforderungslänge, fassen Sie den Unterhaltungsverlauf zusammen, statt vollständige wörtliche Abschriften zu tragen, die unbegrenzt wachsen, verwenden Sie das kleinste Modell, das für eine Aufgabe ausreicht, statt standardmäßig die fähigsten zu verwenden, und zwischenspeichern Sie Referenzdaten und deterministische Antworten. Wenn Sie 50 Vektorsuchergebnisse abrufen, wenn nur 5 ausgewertet sind, werden Rückschluss- und Abrufressourcen ohne Mehrwert ausgegeben. Konfigurieren Sie daher die Abrufobergrenzen entsprechend der tatsächlichen Nutzung.
Nachhaltigkeit erfordert, wie der Rest dieser Säule, eine kontinuierliche Überwachung und keine einmalige Überwachung, da sich die Ressourcenverbrauchsmuster im Zuge der Weiterentwicklung der Lösungen ändern, das Datenvolumen wächst und die Benutzerpopulationen zunehmen. Die Überwachung ist nur wichtig, wenn sie eine Aktion auslöst. Definieren Sie handlungsrelevante Schwellenwerte für jede Kennzahl – SOQL-Abfrageanzahl, die ein Ziel pro Transaktion überschreitet, Speicherwachstum über einen monatlichen Prozentsatz oder eine Cache-Trefferrate, die unter ein Ziel fällt – und dokumentieren Sie, welche Optimierungen zuerst verfolgt werden sollen. Konzentrieren Sie sich auf Transaktionen mit hohem Volumen und häufig ausgeführte Automatisierungen, bei denen Effizienzverbesserungen die größte aggregierte Auswirkung haben. Der Prozessgenerator hat die Unterstützung am 31. Dezember 2025 eingestellt. Migrieren Sie verbleibende Prozessgeneratoren zu Flow. Deaktivieren Sie sie nicht einfach.
Verwenden Sie diese Checkliste, um zu beurteilen, ob eine Lösung den Höchstwert pro Kosten zurückgibt. Es kombiniert die Vorgehensweisen zur Ressourceneffizienz und Kostendisziplinierung aus dieser Säule in einer Überprüfung, da beides eine einzige Entscheidung ist.
Wert- und Kostenmodellierung
- Verbinden Sie jede wichtige Salesforce-Investition mit einem messbaren Geschäftsergebnis.
- Modellieren Sie die Gesamtbetriebskosten über direkte, indirekte, einmalige und fortlaufende Kategorien hinweg, bevor Sie sich für einen Ansatz entscheiden.
- Vergleichen Sie die TCO für die Basis und für optimierte architektonische Alternativen über einen Zeitraum von 3 bis 5 Jahren.
- Wenden Sie eine konsistente Build-vs-Buy-Evaluierung an, die strategische Differenzierung, die Zeit bis zur Bewertung und die Austrittskosten abwägt, statt sich auf Ad-hoc-Urteile zu verlassen.
Ressourceneffizienz
- Gestalten Sie Transaktionen so, dass sie unter Spitzenlast und maximalem Datenvolumen bequem innerhalb der Obergrenzen funktionieren.
- Legen Sie fest, dass Abfragen für indizierte Felder selektiv sind, und validieren Sie sie mit dem Abfrageplantool, bevor Sie sie für große Objekte bereitstellen.
- Massenvorgang aller Datenvorgänge und bewusste asynchrone Verarbeitung dort, wo synchrone Obergrenzen dies erfordern.
- Zwischenspeichern von Referenzdaten über Plattform-Cache und Lightning Data Service, um wiederholte Abfragen und Neuberechnungen zu vermeiden.
- Verhindern Sie Datenverzerrungen, indem Sie Last verteilen und Objekte mit hohem Volumen überwachen.
- Zentralisieren Sie die Auslöser-, Service- und Auswahllogik, damit die Geschäftslogik testbar und kostengünstig zu ändern bleibt.
- Definieren Sie einen vollständigen Datenlebenszyklus von der Erstellung bis zur Archivierung und überwachen Sie den Speicherverbrauch auf Objektebene.
Lizenzierung und Verbrauch
- Gleichen Sie jeden Benutzer mit dem Lizenztyp ab, den seine Arbeit erfordert, und überprüfen Sie regelmäßig die Rollen, die Anmeldeaktivität und die Funktionsnutzung.
- Schaffen Sie Einblicke in die Verbrauchskredit-Verbrennungsraten und entwerfen Sie Automatisierungen und Agenten, um dosierte Services effizient aufzurufen.
- Steuern Sie die Sandbox-Bereitstellung mit klaren Richtlinien für Inhaberschaft, Aktualisierungsrhythmus und Stilllegung.
- Machen Sie sich vor dem Hinzufügen einer Organisation mit dem vollständigen Kostenmultiplikator für mehrere Organisationen vertraut und bevorzugen Sie die Massen- oder ereignisgesteuerte Integration gegenüber Chatty-Mustern.
Überwachung und Governance
- Stellen Sie Dashboards für Kosten und Kapazität bereit, auf die technische Teams und Beteiligte aus Unternehmen zugreifen können.
- Legen Sie Budgetbenachrichtigungen für Lizenzen, Speicher, API-Verbrauch und Sandbox-Instanzen fest, damit die Optimierung proaktiv und nicht reaktiv ist.
- Richten Sie Showback oder Chargeback ein, damit die Kostenzuteilung die Rechenschaftspflicht über alle Geschäftseinheiten hinweg schafft.
- Übernehmen eines FinOps-Rhythmus: monatliche Anomalieüberprüfung, vierteljährliche Auslastungsüberprüfung und jährliche umfassende TCO-Bewertung.
- Integrieren Sie die Kostenfolgenabschätzung in Architekturüberprüfungen und Architekturentscheidungsdatensätze.
Kontinuierliche Optimierung und Nachhaltigkeit
- Behandeln Sie die Optimierung als fortlaufende Praxis und validieren Sie, dass vorherige Optimierungsinvestitionen die erwartete Rendite erbracht haben.
- Beseitigen Sie ungenutzte Automatisierungen und redundante Berechnungen durch regelmäßige Prüfungen.
- Verfolgen Sie den Ressourcenverbrauch im Zeitverlauf und definieren Sie handlungsrelevante Schwellenwerte, die eine Optimierung auslösen, wenn eine Kennzahl sie überschreitet.
Teilen Sie uns Ihr Feedback zum Well-Architected Framework mit.