w Praktyce
4 godz. 33 min · Docker · Full-stack i Programowanie
Wojciech PołowniakSr. Fullstack EngineerW początkowych sekcjach kursu, zrozumiesz czym jest Docker i jakie ma zalety wobec rozwiązań oferujących pracę z serwerami lokalnymi, np. XAMPP - poznasz jego architekturę, założenia oraz najważniejsze pojęcia, których nieznajomość często spędza sen z powiek nawet doświadczonym programistom.
Jako że Docker jest to narzędzie dla programistów i administratorów systemów operacyjnych, lwia część pracy z tym narzędziem odbywa się w konsoli. Przedstawię Ci najważniejsze polecenia powiązane z tą technologią oraz zestaw dobrych praktyk i protipów które zawstydzą niejednego inżyniera oprogramowania.
W tej sekcji tego kursu przejdziemy przez najważniejsze punkty tworzenia skonteneryzowanych aplikacji z perspektywy programisty aplikacji internetowych - jeśli chcesz szybko rozpocząć swoją przygodę z Dockerem, ponieważ znasz już podstawy teorii i czujesz się wystarczająco pewnie - możesz zacząć z tego miejsca! A jeśli tempo będzie zbyt szybkie - zawsze możesz wrócić do części teoretycznej pracy z Dockerem
Przebudowywanie zasobów na żywo, dynamiczne odczytywanie zawartości plików... To podstawowe koncepty które współcześni programiści sieci web biorą za pewnik. Przy nieznajomości Dockera, łatwo jest strzelić sobie w stopę i utrudnić swoją pracę, zabierając sobie możliwość korzystania z powyższych funkcjonalności. W tym kursie, pokażę Ci jak wygodnie pracować z Dockerem w środowisku developerskim.
Jedną z wielu zalet Dockera jest niewątpliwie proste przenoszenie zmian konfiguracji i infrastruktury ze środowiska developerskiego na produkcyjne. W tym kursie, poza przyswojeniem podstawowej wiedzy na temat Dockera poznasz szereg dobrych praktyk w kontekście bezpieczeństwa oraz przygotowywania Twoich aplikacji pod środowisko, na którym będzie uruchomiona Twoja aplikacja gdy uznasz że jest gotowa by ujrzeć światło dzienne.
Ten kurs to zestaw kompleksowej wiedzy dzięki której dowiesz się jak od zera, na żywo, stworzyć aplikację na Twoim lokalnym środowisku - i jakie kroki należy podjąć, aby móc zobaczyć ją w internecie - wszystko w kontekście Dockera, wysokiej skalowalności i bezpieczeństwa. W jednej z ostatnich lekcji kursu zobaczysz jak robię deploy na serwery DigitalOcean by uzyskać link do swojej nowo zbudowanej aplikacji internetowej.
Ten kurs jest kierowany do webdeveloperów, bądź zaawansowanych programistów którzy nie pracowali jeszcze z Dockerem. Przydatne może być zrozumienie interfejsu linii poleceń czyli tzw. konsoli, oraz podstawowa wiedza na temat web developmentu czy systemów operacyjnych. Jeśli potrafisz korzystać z systemu kontroli wersji git, na pewno ułatwi to Tobie zrozumienie konceptu pracy z poleceniami dockera. Niemniej, każde zagadnienie staram się tłumaczyć na bieżąco.
Cześć, Witam Cię w zakończeniu tego kursu.
W tej lekcji chciałbym Ci troszkę przedstawić jakie są następne kroki, które
możesz podjąć, jeżeli ten kurs wydał się dla Ciebie interesujący i docker.
Czy systemy operacyjne są czymś co chciałbyś dalej rozwijać na własną rękę?
Generalnie następnym krokiem poza pokerem jest z reguły jakaś rejestracja, czyli
albo Swarm, albo Hibernate, albo inne rozwiązania.
Ale ja raczej myślę o orkiestracji tylko jako cybernetyka i o formie cybernetyki.
Jest to po prostu taki framework.
Można to nazwać frameworkiem, który pozwala tworzyć pliki konfiguracyjne
dla naszej infrastruktury, dostarczając nam takie rozwiązania jak np.
Auto Sailing, czyli w zależności od tego
jak dużo jest ruchu na naszej stronie internetowej.
Wtedy nasza infrastruktura dostaje więcej kontenerów, aby obsłużyć ten ruch.
Oczywiście serwer musi być wystarczająco silny, aby udźwignąć te kontenery, ale
wtedy rzeczy takie jak load balance mogą się wydarzyć.
Czyli w zależności od tego jakie jest zużycie
procesora na danym serwerze, to dwóch użytkowników wchodząc
na dokładnie tą samą stronę internetową mogą wejść na
dwa różne kontenery i mieć jednocześnie takie sam user experience dokładnie taką
samą stronę internetową, a więc jest jednym z takich narzędzi,
które ja mogę polecić, którym też mam certyfikacje.
Innym takim narzędziem, troszkę prostszym niż Hibernate jest Swarm.
Jest to część Dockera.
Myślę, że to jest dobry krok dla tych, którzy dobrze czują się np.
z Docker Composer.
Tam składnia jest troszkę inna, ale też
pracujemy z reguły na plikach, ale w sumie też pracujemy na jamach.
Natomiast to jest tylko szczegół implementacji.
Możemy korzystać z plików wyżej stanowych, bo tak naprawdę
Hibernate tak samo jak Docker jest pod spodem po prostu zwykłym API, które
w zależności od tego jakie informacje dostanie tak tworzy naszą infrastrukturę.
No i jeżeli nie interesuje nas o tyle ustawianie produkcyjnych
środowisk infrastruktury, o tyle systemy operacyjne np.
Debian czy po prostu linia poleceń jest
interesująca, to mogę polecić Linux Foundation.
Oni posiadają też kursy kursów.
Niekoniecznie polecę, ale posiadają certyfikacje np.
z FSA czyli Linux Certified
System Administrator bodajże taka jest nazwa chyba skrót, bo inne.
Czyli jeżeli chcecie się sprawdzić i mieć
oficjalną certyfikację od Linux Foundation jest taka szansa.
Możecie stworzyć sobie certyfikację z Hibernate.
Są też certyfikacje z Dockera, w związku z czym jest tutaj na pewno dużo
przestrzeni na self improvement, czyli takie
samodoskonalenie się w kontekście technologii, albo może jakieś
bezpieczeństwo systemów operacyjnych, może jakieś testy.
Tutaj to już oczywiście jest troszkę inny obszar IT niż samo programowanie.
Ja osobiście uważam go za bardzo ciekawy,
dlatego też w tym kierunku troszkę się rozwijam i po prostu chciałem
polecić takie potencjalne kierunki rozwoju.
Jeżeli kurs Dockera wydał Ci się przydatne i przyjemnie było Ci z nim pracować.
Dziękuję Ci serdecznie za udział w tym kursie.
Do zobaczenia w podsumowaniu. Cześć!