Deutsche Startseite · English Homepage
STRAVID - Gemeinsam Software bauen.
Basierend auf persönlicher Erfahrung, Beobachtungen, Ausfällen im Produktivbetrieb und Austausch mit Kolleginnen ist meine Meinung zu Konfiguration wie folgt.
Es gibt einen Unterschied zwischen Konfigurations Werten und der Konfigurations Definition.
Um Ausfälle zu verhindern ist es wichtig eine explizite Definition der Konfiguration zu haben und die Konfiguration sofort beim Start der Web-Applikation zu laden. So können Laufzeitfehler in dynamischen Programmiersprachen denen Konfigurationsfehler zugrunde liegen minimiert werden.
Konfigurations Werte können aus Umgebungsvariablen, Konfigurationsdateien oder Kommandozeilenparameter ausgelesen werden.
Kommandozeilenparameter sind für sensible Werte wie Datenbank Verbindungsdaten nicht geeignet da sie im Prozessbaum des Betriebsystems für alle Benutzerinnen sichtbar sind.
Im Produktivbetrieb eignen sich Konfigurationsdateien da mit Berechtigungen Sicherheit geschaffen werden kann.
In der Entwicklung kann mit --config <( echo '{"database_url":"..."}';)
eine Konfigurationsdatei vorgetäuscht werden um das Entwicklungserlebnis zu verbessern.
Du hast Fragen, Ideen oder Anregungen? Ich lese gerne von dir und freue mich auf einen Austausch von Gedanken. Schreib mir an david@strauss.io und sag „Hallo“.