Projektowanie architektury serwerowej

Projektowanie architektury serwerowej to nie wróżenie z magicznej kuli!

Projektowanie architektury serwerowej to proces definiowania struktury systemu informatycznego, który obsługuje aplikacje i usługi. Obejmuje wybór odpowiednich technologii, strategii skalowania, redundancji oraz bezpieczeństwa.

Złota triada dobrych praktyk projektowania

High Availability (Wysoka Dostępność)

High Availability to strategia projektowania systemów, która ma na celu zapewnienie ciągłości działania nawet w przypadku awarii części komponentów tworzących całość środowiska produkcyjnego. 

Podejście to obejmuje stosowanie redundancji w kluczowych elementach infrastruktury, takich jak np. nadmiarowość serwerów fizycznych, dysków a nawet centrów danych. 

Dzięki zastosowaniu architektury High Availability przestoje wynikające z awarii systemu są odczuwalne w stopniu minimalnym lub nie występują wcale. 

Zdolność do skalowania oznacza możliwość dostosowania zasobów infrastruktury IT do zmieniającego się obciążenia systemu (np. kampanie marketingowe).

Skalowalność jest kluczowa dla zapewnienia ciągłości działania Twojego biznesu i musi zostać przewidziana już w procesie projektowania rozwiązania. 

Istnieją dwa modele skalowania infrastruktury serwerowej: 

Skalowanie horyzontalne polega na dodawaniu kolejnych serwerów fizycznych lub kolejnych instancji do systemu w celu zwiększenia jego mocy obliczeniowej i przepustowości. 

Skalowanie wertykalne polega na zwiększaniu konkretnych zasobów dla pojedynczego serwera fizycznego lub pojedynczej instancji (np. dołożenie kolejnych kości pamięci RAM). Skalowanie wertykalne jest stosowane gdy aplikacje wymagają większej mocy obliczeniowej ale nie potrzebują jeszcze dołożenia kolejnego serwera fizycznego. 

Zbieranie wymagań niefunkcjonalnych aplikacji to kluczowy proces, podczas którego zbierane i analizowane są dane niezbędne do prawidłowego zaprojektowania architektury.

Poniżej podajemy kilka przykładowych danych zbieranych w procesie NFR

Obszar wywiadu z klientem:

  • Dane dotyczące ruchu (PV, UU, ilość sesji)
  • Ilość SKU
  • Dane dotyczące peaków w ruchu – wykresy (np. kampanie marketingowe)
  • Informacje dotyczące zewnętrznych integracji z aplikacją
  • Wymagania względem Disaster Recovery Plan (pożądane wskaźniki)
  • Specjalne wymagania dotyczące lokalizacji serwerów lub przepisów przechowywania danych 

Obszar wywiadu z zespołem deweloperów: 

  • Zawartość stosu technologicznego
  • Otwartość na model High Availability 
  • Analiza dokumentacji aplikacji 
  • Dodatkowe usługi typu: CDN, WAF, IDS, IPS
  • Niestandardowe wymagania biznesowe 

Obszar wywiadu z działem infrastruktury (jeśli dotyczy):

  • Analiza pełnej dokumentacji infrastruktury 
  • Analiza danych telemetrycznych infrastruktury 
  • Wywiad z zespołem SysOps/DevOps

Spotkaj się z naszym Architektem Rozwiązań

Dobrze przeprowadzony proces projektowania to stabilne, wydajne oraz tanie środowisko dla Twojego biznesu. 

W EVILFORK przeprowadzamy kompleksową analizę wymagań niefunkcjonalnych oraz projektujemy dedykowane rozwiązania serwerowe dla Twojego biznesu – napisz do nas!

Zainteresowany?

Potrzebujesz wsparcia? Zapraszamy do skorzystania z formularza poniżej.