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:
  1. Codebase - jedno repozytorium w systemie kontroli wersji, wiele wdrożeń
  2. Dependencies - jasno definiuj i izoluj zależności
  3. Config - przechowuj konfigurację w środowisku zamiast w kodzie
  4. Backing services - traktuj usługi zewnętrzne (np. bazy danych, storage, integracje) jako zasoby
  5. Build, release, run - bezwzględnie rozdzielaj od siebie etapy budowania i uruchamiania aplikacji
  6. Processes - uruchamiaj aplikację jako jeden lub więcej bezstanowych procesów
  7. Port binding - udostępniaj usługi poprzez dowiązanie portów
  8. Concurrency - skaluj aplikację w modelu procesowym
  9. Disposability - maksymalizuj niezawodność zapewniając szybki start i łagodne zamykanie procesów
  10. Dev/prod parity - środowiska lokalne, testowe oraz produkcyjne powinny być do siebie tak podobne, jak tylko możliwe
  11. Logs - traktuj logi jako strumienie zdarzeń
  12. Admin processes - uruchamiaj zadanie administracyjne jako jednorazowe procesy
Zdaję sobie sprawę, że te opisy są bardzo ogólne, ale jeśli chcecie, mogę przygotować serię, w której dokładniej omówię każdy z punktów. Tymczasem, po więcej szczegółów możecie sięgnąć na stronę The Twelve-Factor App .
Swiniotygrys

@sebkek poprosimy! na pewno ktoś skorzysta

Zaloguj się aby komentować