Architektura
współczesnych
aplikacji
–
zagadnienie,
które
warto
uwzględnić
w
trakcie
projektowania
systemu.
Zna
je
jedynie
8%
kandydatów!
Wielokrotnie wśród naszych rekrutacji pojawiają się pytania weryfikujące znajomość architektury współczesnych aplikacji. Najbardziej problematyczne okazało się zagadnienie związane z CDN.
Czym zatem właściwie jest CDN?
Content Deliver Network (CDN) to rozproszona sieć serwerów, dzięki której możemy w wydajny sposób dostarczać użytkownikom zawartość internetową. Nadrzędnym celem, który możemy wyróżnić jest wydajne udostępnienie zawartości przy jednoczesnej gwarancji wysokiej dostępności.
Co zyskujemy?
Korzystanie z sieci CDN to przede wszystkim efektywny sposób na redukcję obciążenia aplikacji oraz zwiększenie jej dostępności i wydajności.
Możemy wyróżnić następujące zalety:
1. Optymalizacja czasu ładowania strony – dzięki wykorzystaniu serwerów, które są „bliżej” odbiorcy możemy skutecznie zredukować czas ładowania zasobów strony
2. Obniżenie kosztów transferu danych – wykorzystanie cache’u pozwala na obniżenie łącznego transfer danych
3. Zapewnienie wysokiej dostępności – poprzez zastosowanie architektury CDN, a w szczególności redundancji, jesteśmy w stanie zapewnić wysoką dostępność treści na stronach internetowych
4. Gwarancja bezpieczeństwa – współczesne sieci CDN chronią nas m.in. przed atakami DDoS, co przekłada się bezpośrednio na zwiększone bezpieczeństwo aplikacji w internecie
Projektując swój system warto więc opracować strategię korzystania z sieci CDN.
Czy wiedzieliście, że pierwsza generacja CDN powstała w latach 90? Obsługiwała wtedy jedynie statyczny kod HTML.
Obecnie już ponad połowa całego ruchu w Internecie jest obsługiwana przez sieci CDN!
Powyższy fakt dowodzi, że warto poszerzyć swoją wiedzę o znajomość tego zagadnienia i zapamiętać główne możliwości, które możemy dzięki niemu uzyskać ✅