Co junior musi wiedzieć o serwerach, by wdrożyć swoją aplikację?

serwer

Wchodząc w świat programowania, młodzi deweloperzy często skupiają się na doskonaleniu swoich umiejętności kodowania i projektowania aplikacji. Jednak równie istotne jest zrozumienie infrastruktury, na której te aplikacje będą uruchamiane. Zanim junior developer wdroży swoją pierwszą aplikację, musi poznać podstawy dotyczące serwerów, które stanowią fundament dla każdej działającej aplikacji internetowej.

Co junior musi wiedzieć o serwerach – wprowadzenie

Z tego materiału dowiesz się:

  • Jakie są najpopularniejsze rodzaje serwerów?
  • Jaki serwer wybrać?
  • Jak wdrożyć aplikację?

Co junior musi wiedzieć o serwerach – rodzaje serwerów

Do najpopularniejszych rodzajów serwerów należą:

Serwery dedykowane

To fizyczne serwery przypisane do obsługi tylko jednego klienta, aplikacji lub zadania. Oferują one pełną kontrolę nad zasobami sprzętowymi i oprogramowaniem, co jest idealne dla wymagających lub krytycznych aplikacji wymagających wysokiej wydajności.

Serwery VPS (Virtual Private Server)

Technologia wirtualizacji pozwala na dzielenie jednego serwera fizycznego na kilka wirtualnych maszyn, z których każda działa jako oddzielny serwer. Każdy VPS ma przydzielone zasoby i może być niezależnie zarządzany.

Hosting współdzielony (shared hosting)

Na jednym serwerze fizycznym działa wiele niezależnych aplikacji różnych użytkowników. Usługa może być mniej wydajna ze względu na dzielenie się zasobami z innymi użytkownikami.

Chmura obliczeniowa (cloud hosting)

To forma hostingu, która korzysta z rozproszonych zasobów wielu połączonych ze sobą fizycznych i wirtualnych serwerów. Umożliwiają łatwe skalowanie aplikacji i są idealne dla zmiennego obciążenia, oferując przy tym modele płatności za faktyczne użycie zasobów.

Co junior musi wiedzieć o serwerach – wybór serwera

Wybór odpowiedniego serwera do projektów programistycznych, szczególnie dla początkujących w języku Java, wymaga dokładnej analizy potrzeb. Podstawowe projekty, które już zostały przetestowane lokalnie, mogą wymagać określonej konfiguracji serwera aplikacji, ilości RAM, CPU i przestrzeni dyskowej oraz specyficznych baz danych. Serwery współdzielone mogą okazać się niewystarczające z powodu ograniczeń i niestabilności, natomiast serwery dedykowane często są zbyt kosztowne. Z kolei rozwiązania chmurowe zwiększają poziom skomplikowania projektu i mogą stanowić oddzielny temat do nauki. Ostateczne wzmacnia to postrzeganie naszej aplikacji jako całości.

Co junior musi wiedzieć o serwerach – jak wdrożyć twoją aplikację?

Proces wdrożenia aplikacji zaczyna się od jego zakupu i konfiguracji, co zwykle trwa od kilku minut do kilku godzin. Po ustawieniu serwera uzyskujesz zdalny dostęp do niego, zazwyczaj za pomocą SSH, co umożliwia logowanie się z konsoli komputera.

Na nowym serwerze znajdziesz zazwyczaj jedynie goły system operacyjny, czasem z dodatkami takimi jak Docker i podstawowa konfiguracja. Kolejny krok to instalacja niezbędnych komponentów, takich jak Java i Docker, a także konfiguracja bazy danych z użyciem Dockera.

Kiedy wszystko jest gotowe, łączysz się z serwerem za pomocą SSH i SCP, aby przekopiować pliki aplikacji, lub konfigurujesz SFTP. Wdrożenie aplikacji obejmuje zalogowanie się, przesłanie plików i ręczne uruchomienie aplikacji. Alternatywnie, można zautomatyzować ten proces, na przykład tworząc obraz Dockerowy.

Jako element zaawansowany, warto rozważyć automatyzację wdrożeń, używając narzędzi takich jak GitHub Actions. Pozwala to na automatyczne budowanie obrazu i aktualizację aplikacji na serwerze po każdym commitcie (git push), co znacznie upraszcza proces aktualizacji aplikacji.

Co junior musi wiedzieć o serwerach – podsumowanie

Serwery są podstawą infrastruktury IT, umożliwiając działanie aplikacji internetowych i zarządzanie danymi. Istnieją różne typy serwerów, takie jak dedykowane, współdzielone, wirtualne (VPS) oraz serwery w chmurze, które różnią się zasobami, skalowalnością i kosztami. Wybór odpowiedniego serwera zależy od potrzeb projektu.

➡ ZOBACZ 👉: KierunekJava (JOP + EAI)


20+ BONUSOWYCH materiałów z programowania

e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!

Jak zostać programistą

No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *