Self Contained Systems (SCS) ist ein Architekturmuster für die Entwicklung von Softwareanwendungen. Es bezieht sich auf die Idee, dass eine Anwendung in mehrere autonome Systeme aufgeteilt wird, die jeweils in sich geschlossen und unabhängig voneinander sind.
Jedes dieser Systeme ist für eine bestimmte Domäne oder Funktion zuständig und kann eigenständig entwickelt, getestet, bereitgestellt und betrieben werden. Die Systeme kommunizieren über definierte Schnittstellen miteinander, um ihre Funktionen zu erfüllen. Dabei kann jedes System in unterschiedlichen Programmiersprachen und Technologien implementiert sein, solange die Schnittstellen einheitlich und klar definiert sind.
SCS kann dabei helfen, komplexe Anwendungen zu vereinfachen, indem sie in überschaubare und eigenständige Systeme unterteilt werden. Dadurch wird die Wartbarkeit verbessert, da Änderungen an einem System nur dieses System selbst betreffen und nicht die gesamte Anwendung. Auch die Skalierbarkeit wird erleichtert, da jedes System unabhängig skaliert werden kann, um die Anforderungen der Nutzer zu erfüllen.
In der sechsten Ausgabe des Digitale Leute Podcasts gibt uns der Head of Software Engineering Katja Burkert einen Einblick in die Arbeit autonomer Product Teams, die bei Breuninger in Domänen entlang der Customer Journey entwickeln.