Von Cloud-Anwendungen, best practices und der ewigen Frage: Warum nicht gleich 12 Gebote?

Kennt ihr die 10 Gebote? Natürlich kennt ihr sie. Aber habt ihr schon einmal von den 12 Faktoren gehört? Sie sind quasi wie die 10 Gebote, nur mit zwei Bonus-Geboten für alle, die in der Cloud-Softwareentwicklung nach der goldenen Regel leben möchten. Und seien wir ehrlich: Wer möchte nicht zwei zusätzliche Ratschläge, wenn er schon dabei ist?

Aber bevor wir uns in die Tiefen dieser mysteriösen 12 Faktoren stürzen, hier ein kleiner Witz für euch: Warum haben Softwareentwickler nicht nur 10, sondern 12 Faktoren? Weil sie immer ein bisschen extra geben!

Gelacht? Nein? Okay, ich versuch’s weiter…

1. Codebasis: Eines für alle!
Hier geht es nicht um einen Ring, sondern um einen Code. Jede App sollte genau eine Codebasis haben, die in verschiedenen Umgebungen genutzt wird. Stell dir vor, du hättest für jeden Freund eine andere Telefonnummer – chaotisch, oder? Genau so ist es mit mehreren Codebasen. Also, einen für alle und alle für einen!

2. Abhängigkeiten: Wer braucht schon Freunde? Apps!
Jede App hat Freunde, auch Abhängigkeiten genannt. Und diese sollten klar deklariert und isoliert werden. Denn wie bei einem Buffet willst du ja auch wissen, was genau auf deinem Teller landet, oder?

3. Konfiguration: Ordnung muss sein!
Stell dir vor, du versteckst jedes Mal dein Geld in einem anderen Raum deines Hauses. Konfigurationen gehören nicht in den Code verstreut, sondern sollten extern gespeichert werden. Ein Platz für alles und alles an seinem Platz!

4. Backing Services: Jeder Star braucht seine Co-Stars!
Deine App mag das Rampenlicht lieben, aber ohne ihre Backing-Services, wie Datenbanken oder Caches, wäre sie nicht so schillernd. Behandle sie wie angeschlossene Ressourcen.

5. Build, Release, Run: Das 1×1 der Entwicklung!
Einfachheit siegt. Denke an sie als die Evolution deiner App – vom Skelett zum voll funktionsfähigen Organismus. Der Build erstellt, das Release fügt Konfigurationen hinzu, und Run startet den Prozess.

6. Prozesse: Keine Spuren hinterlassen!
Deine App-Prozesse sollten starten, ihre Aufgabe erledigen und dann verschwinden. Es ist, als ob du nach einer Party aufräumst. Niemand will am nächsten Morgen noch die Überreste sehen.

7. Portbindung: Kommunikation ist der Schlüssel!
Deine App möchte sprechen, also gib ihr die Mittel dazu. Über Ports kommuniziert sie mit der Außenwelt.

8. Concurrency: Mehr Bälle, mehr Spaß!
Jongleure machen es vor: Mehrere Bälle gleichzeitig in der Luft halten ist beeindruckend. Anwendungen können das auch – mit mehreren Prozessen.

9. Einwegprozesse: Einfachheit zählt!
Prozesse sollten gestartet werden, ihre Aufgabe tun und dann stoppen. Ohne Drama, ohne Nebenwirkungen.

10. Dev/Prod-Parität: Konstanz ist der Schlüssel!
Entwicklungs-, Test- und Produktionsumgebungen sollten so ähnlich wie möglich sein. Stell dir vor, du übst einen Tanz für eine Bühne, aber am Auftrittstag ist die Bühne plötzlich eine Eisfläche. Überraschungen sind nicht immer gut!

11. Logs: Das Tagebuch deiner App!
Logs erfassen, was in deiner Anwendung vor sich geht. Und ja, manchmal klingt es, als ob deine App sich über das Wetter beschwert oder über das letzte Update, das sie hatte.

12. Admin-Prozesse: Manchmal muss man improvisieren!
Gelegentlich gibt es Aufgaben, die nicht Teil des alltäglichen Prozesses sind. Das ist okay! Führe sie als einmalige Prozesse aus.

Fazit:
Die 12 Faktoren mögen zwar wie eine Liste von „Das musst du tun“ klingen, aber in Wirklichkeit sind sie mehr wie eine Party-Einladung für all diejenigen, die ihre Cloud-Anwendungen zum Leben erwecken wollen. Und wer weiß? Vielleicht bekommen wir in der Zukunft ja die 15 Faktoren. Bis dahin, lasst uns nach diesen zwölf leben – schließlich sind sie mehr als nur zwei Bonus-Gebote.

Gemeinsam in eine digitale Zukunft: Diese Unternehmen vertrauen bereits auf König-Digital.

Logo Lars Bofinger Gartenanlagen
Logo von GTÜ Franchise
Logo Shapti GmbH
Logo Outlet 34 GmbH
Sauna Zabergaeu Logo
abstract-logo-white