Sobes.tech
Middle

Jakie są typy architektury usług internetowych?

sobes.tech AI

Odpowiedź od AI

  1. Architektura monolityczna:

    • Jednolity, samodzielny kod łączący wszystkie komponenty (UI, logika biznesowa, dostęp do danych).
    • Prosty rozwój i wdrożenie na początkowych etapach.
    • Trudności z skalowaniem, utrzymaniem i wprowadzaniem zmian w miarę rozwoju projektu.
  2. Architektura mikroserwisów:

    • Aplikacja podzielona na zestaw małych, niezależnych usług komunikujących się przez sieć (często przez API).
    • Każda usługa odpowiada za odrębną funkcję i może być rozwijana, testowana i wdrażana niezależnie.
    • Lepsza skalowalność, odporność na awarie (awaria jednej usługi nie wpływa na pozostałe), możliwość użycia różnych technologii dla różnych usług.
    • Złożoność zarządzania dużą liczbą usług, konieczność rozproszonego logowania i monitorowania.
  3. Architektura zorientowana na usługi (SOA):

    • Składa się z usług komunikujących się przez przedsiębiorczy bus (ESB - Enterprise Service Bus).
    • Usługi mogą być duże i używać różnych protokołów.
    • Cel: zwiększenie elastyczności i ponownego użycia usług w ramach organizacji.
    • Różnice od mikroserwisów: większe usługi, centralny bus komunikacyjny.
  4. Architektura bezserwerowa (Serverless):

    • Programista skupia się na pisaniu kodu, a zarządzanie serwerami i infrastrukturą przejmuje dostawca chmury (np. AWS Lambda, Azure Functions).
    • Płatność za użycie, automatyczne skalowanie.
    • Redukcja kosztów operacyjnych i wysiłków administracyjnych.
    • Ograniczenia czasowe i zasobowe, zależność od dostawcy chmury.
  5. Architektura na poziomach N:

    • Aplikacja podzielona na warstwy lub poziomy logiczne, z których każdy pełni określoną rolę i komunikuje się tylko z sąsiednimi warstwami.
    • Typowe warstwy: warstwa prezentacji (UI), warstwa logiki biznesowej, warstwa dostępu do danych.
    • Zwiększa modularność i ułatwia podział obowiązków.
graph TD
    A[Użytkownik] --> B{Usługa webowa};
    B --> C[Architektura];
    C --> D[Monolityczna];
    C --> E[Mikroserwisy];
    C --> F[SOA];
    C --> G[Serverless];
    C --> H[Architektura wielowarstwowa];