Salesforce.com Deployment Management

Salesforce.com und andere Cloud-basierten Systeme haben gegenüber herkömmlichen "On-Premise-Systemen" den Vorteil, dass Änderungen direkt und unmittelbar live sind, sobald diese in die Produktionsinstanz geladen und umgesetzt werden. Daraus ergeben sich viele positive Möglichkeiten, um Änderungen and Anpassungen schnell und unkompliziert zur Verfügung zu stellen. Einige Aspekte und Releasestrategien gilt es jedoch zu beachten.

Es ist wichtig die Releases in verschiedene Kategorien – in Abhängigkeit von Komplexität, Entwicklungsdauer und Anzahl der Beteiligten – zu unterscheiden. Im folgenden Beitrag präsentieren wir Ihnen unterschiediche Vorgehensweisen über Salesforce Deployments für diverse Release-Szenarien.

Direkte bzw. unmittelbare Releases

Wenn Änderungen sich auf Konfiguration wie z. B. neue Picklistwerte, Formeln oder Felder in Standard oder Custom Objects in Salesforce beziehen, können diese direkt in der Produktionsinstanz vorgenommen werden. Dies gilt allerdings nur dann, wenn a) keine Sandboxen bereits aktiviert wurden oder b) die Änderungen vom Umfang minimal sind und sich auf das Salesforce Customizing beschränken.

Sofern eine Sandbox aktiv ist oder die Änderungen im Vorfeld abgenommen werden sollen, sollten die Customizings in der Sandbox implementiert werden und danach über Changesets deployed werden. Eine Sandbox ist insofern notwendig, als dass programmatische Entwicklungen ("Developments") durchgeführt werden müssen. Denn diese können ausschließlich in Sandboxen oder Developer Editions programmiert werden. Für direkte Release, mit einem geringen Änderungsumfang, eignet sich eine Developer Sandbox am besten. Diese kann täglich aktualisiert werden – eine Full Copy Sandbox ist nicht unbedingt erforderlich.

Mittlere Releases

Bei etwas umfangreicheren Anpassungen und Entwicklungen, bei denen mehr als ein Administrator oder Entwickler beteiligt sind, empfiehlt es sich i. d. R. mehrere Sandbox-Instanzen im Einsatz zu haben. Dadurch können die Änderungen unabhängig voneinander entwickelt werden und in der UAT ("User Acceptance Testing") bzw. Stageing Sandbox zusammengeführt werden, bevor die Änderungen in die Produktion übertragen werden. Diese Vorgehensweise ist auch dann sinnvoll, wenn Integrationen vorhanden sind und die Neuerungen gegen bestehenden Integrationen getestet werden müssen.

In den Developer Sandboxen findet das Unit Testing der einzelnen Komponenten statt. Diese werden in der UAT/Stageing Sandbox zusammengeführt und gegen bestehende Integrationen getestet. Der UAT wird durchgeführt. Ein Deployment kann danach aus dieser Sandbox in die Produktion erfolgen.

Umfangreiche Releases

Bei komplexen und parallelen Entwicklungsprojekten, die sich über längere Zeiträume erstrecken können, empfiehlt es sich, die einzelnen Entwicklungen erst in einer Roll-Up Sandbox zusammenzuführen und auch gegen vorhandene Integrationen zu testen.

Unabhängige oder kurzfriste Entwicklungen, die außerhalb des Entwicklungsprojektes laufen, sollten in separaten Sandboxen realisiert werden und gegen die UAT/Stageing Sandbox deployed werden. So wird sichergestellt, dass die verschiedenen Entwicklungsprojekte in getrennten Entwicklungsumgebungen entwickelt werden können und sich nicht gegenseitig beeinträchtigen.

Bei diesen umfangreichen Entwicklungsszenario sollte das Deployment in die Produktion mit den offiziellen Salesforce.com Releases harmonisiert werden, damit die Entwicklungen auch gegen die neuen Salesforce Releases getestet werden können. Sandboxen werden immer vor der Produktivinstanzen mit dem neuen Salesforce Releases aktualisiert.

Fazit

Je nach Komplexität und Umfang der Änderungen und Entwicklungen gilt es im Vorfeld eine Releasestrategie zu entwickeln. In einigen Szenarien ist es notwendig, ein UAT bzw. Test gegen bestehende Integrationen vorzunehmen oder es laufen unabhängige Entwicklungsprojekte parallel zueinander.

Generell gilt jedoch, dass direkte Änderungen in der Produktivinstanz vermieden werden sollten, sobald mindestens eine Sandbox aktiv ist. Müssen Anpassungen doch in der Produktivinstanz direkt vorgenommen werden, ist es ratsam alle Sandboxen nach Möglichkeit sofort zu aktualisieren. Andernfalls müssen Änderungen manuell in den Sandboxen nachgezogen werden.

Ressourcen

Zurück zur Artikelübersicht

Teilen Sie diesen Artikel