Dwanaście niezbędnych składników aplikacji webowych
Tym razem nie tylko dla pythonowców.
Utrzymanie i rozwój aplikacji potrafi przysporzyć wielu problemów, zwłaszcza jeśli nie zadbamy o odpowiednią architekturę kodu oraz higienę pracy z kodem. Mnogość przeróżnych podejść do tworzenia aplikacji w dzisiejszych czasach też potrafi doprowadzić do bólu głowy: DDD, TDD, BDD, DRY, WET, KISS i masa innych akronimów prowadzi starcie w naszych głowach, kiedy jeszcze nie wiemy dokładnie w jaką stronę będzie zmierzał projekt.
Poniższy artykuł, a właściwie cała strona, opisuje dwanaście składników aplikacji webowych, które pozwolą nam uniknąć najbardziej fundamentalnych problemów w czasie wdrażania oraz utrzymania oprogramowania. W skrócie są to:
Tym razem nie tylko dla pythonowców.
Utrzymanie i rozwój aplikacji potrafi przysporzyć wielu problemów, zwłaszcza jeśli nie zadbamy o odpowiednią architekturę kodu oraz higienę pracy z kodem. Mnogość przeróżnych podejść do tworzenia aplikacji w dzisiejszych czasach też potrafi doprowadzić do bólu głowy: DDD, TDD, BDD, DRY, WET, KISS i masa innych akronimów prowadzi starcie w naszych głowach, kiedy jeszcze nie wiemy dokładnie w jaką stronę będzie zmierzał projekt.
Poniższy artykuł, a właściwie cała strona, opisuje dwanaście składników aplikacji webowych, które pozwolą nam uniknąć najbardziej fundamentalnych problemów w czasie wdrażania oraz utrzymania oprogramowania. W skrócie są to:
-
Codebase - jedno repozytorium w systemie kontroli wersji, wiele wdrożeń
-
Dependencies - jasno definiuj i izoluj zależności
-
Config - przechowuj konfigurację w środowisku zamiast w kodzie
-
Backing services - traktuj usługi zewnętrzne (np. bazy danych, storage, integracje) jako zasoby
-
Build, release, run - bezwzględnie rozdzielaj od siebie etapy budowania i uruchamiania aplikacji
-
Processes - uruchamiaj aplikację jako jeden lub więcej bezstanowych procesów
-
Port binding - udostępniaj usługi poprzez dowiązanie portów
-
Concurrency - skaluj aplikację w modelu procesowym
-
Disposability - maksymalizuj niezawodność zapewniając szybki start i łagodne zamykanie procesów
-
Dev/prod parity - środowiska lokalne, testowe oraz produkcyjne powinny być do siebie tak podobne, jak tylko możliwe
-
Logs - traktuj logi jako strumienie zdarzeń
-
Admin processes - uruchamiaj zadanie administracyjne jako jednorazowe procesy
@sebkek poprosimy! na pewno ktoś skorzysta
Zaloguj się aby komentować