Jede App oder Software besteht aus einem komplexen Zusammenspiel zwischen zwei grundlegenden Komponenten. Dem sogenannten Frontend und Backend. Das Frontend ist der Teil einer Applikation, die der Anwender sehen kann und mit der er auf der Benutzeroberfläche interagiert. Das Backend ist der nicht sichtbare Teil einer Applikation, welcher sich im Hintergrund abspielt. Dabei greift das Frontend permanent auf das Backend zurück. Das Backend ist unter anderem für die Verbindung mit Datenbanken, die Integration verschiedener Systeme und die Bereitstellung von Daten und Funktionen für das Frontend zuständig. Bildlich kann man sich das wie folgt vorstellen: Das Frontend ist der sichtbare Bereich eines Eisbergs und das Backend ist der unsichtbare größere Teil des Eisbergs, welcher unter Wasser liegt. Die Entwicklung der Backend-Architektur ist meistens der komplexere Teil bei der Umsetzung einer App bzw. Software.