Blockchain – płatności w świecie kryptowalut
Blockchainie - poznaj świat transakcji, kryptowalut i elektronicznych płatności.
W niniejszym artykule postaramy się Wam przybliżyć tematykę wirtualizacji, konteneryzacji oraz Docker’a. Czym właściwie jest to oprogramowanie i po co go używamy? Jakie różnice są między maszynami wirtualnymi i Docker’em? Zachęcamy do lektury.
Podstawowe pojęcia
Aby zrozumieć, na czym polega wirtualizacja oraz jak działa oprogramowanie Docker, należy poznać podstawowe terminy:
Dzięki kontenerom będziemy mogli uruchomić nasze oprogramowanie na dowolnym systemie na którym zainstalowano Dockera.
Po co?
Jeśli masz jakieś doświadczenie pracy jako programista w zespole, to z pewnością doświadczyłeś w swoim życiu problemów technicznych związanych z rozwijaniem oprogramowania. Docker nie pomoże nam z całym trudem kodowania, ale jest w stanie wyeliminować najbardziej frustrujące przeszkody jak np.:
Zamknięcie kodu w kontenerze sprawia, że zapewniamy pewien standard oprogramowania w jakim uruchamiany jest kod i mamy pewność, że zawsze będzie on działał.
Najprościej mówiąc – Docker standaryzuje nam sposób uruchamiania aplikacji i sprawia, że mamy pewność, że jeśli aplikacja uruchamia się na jednym środowisku, to tak samo będzie na innym – oczywiście pod warunkiem, że jest tam zainstalowane oprogramowanie Docker.
Maszyny wirtualne kontra konteneryzacja
Wirtualizacja to symulacja poprzez oprogramowanie istnienia zasobów logicznych, które wykorzystują zasoby fizyczne. Wirtualne maszyny mogą uruchamiać system operacyjny wewnątrz innego systemu. System hostujący przydziela wtedy takiej maszynie wirtualnej określone zasoby.
Kluczowym wyróżnikiem pomiędzy kontenerami a maszynami wirtualnymi jest to, że te drugie wirtualizują całą maszynę włącznie z systemem operacyjnym, nazywanym czasami Guest OS. Kontenery wirtualizują tylko warstwy oprogramowania powyżej poziomu systemu operacyjnego i są często stosowane choćby w architekturze mikroserwisów.
Rysunek 1: Porównanie maszyn wirtualnych i kontenerów. Źródło: Atlassian.
Instalacja Docker’a
Instalacja oprogramowania jest zależna od systemu operacyjnego, dlatego zdecydowaliśmy się przedstawić jedną, najpopularniejszą opcję na system Windows. Należy:
Po zainstalowaniu powinniśmy być w stanie wykonać komendę “docker” w dowolnie wybranym terminalu (PowerShell, cmd).
Kontener kontra obraz
Początkujący w tematyce konteneryzacji często mylą na początku te dwa powyższe pojęcia, a ich zrozumienie jest kluczowe dla efektywnej pracy z Docker’em:
Obraz to więc plik, z którego produkujemy instancje naszych aplikacji. To trochę tak jak z klasą w programowaniu oraz obiektem, który jest instancją tej klasy. Jeśli nie jesteś programistą, możesz myśleć o obrazie jak o przepisie kuchennym, a o kontenerze jak o gotowym daniu (z jednego przepisu można zrobić wiele razy to samo danie).
Dockerfile
Dockerfile to plik zawierający konfigurację, z którego generujemy obraz, czyli inaczej mówiąc – definiujemy, z jakiego interpretera i bibliotek ma korzystać nasza uruchamiana aplikacja.
Rysunek 2: Przykład pliku Dockerfile do uruchomienia aplikacji napisanej w React.js.
Ze zdefiniowanego pliku Dockerfile można następnie wygenerować obraz, a z obrazu uruchomić kontener. Jeśli czujesz się zagubiony pod wpływem nowych pojęć, to możesz się wspomóc następującym obrazkiem ze strony medium.com.
Rysunek 3: Workflow, które towarzyszy powstawaniu kontenera. Źródło: medium.com.
Podsumowanie
Reasumując – mamy nadzieję, że udało nam się dzisiaj przedstawić powody, dla których warto poznać Dockera i jak może on pomóc w Waszej codziennej pracy. W następnym artykule postaramy się wgłębić w sposób działania tego oprogramowania oraz nauczymy Was jego podstawowej obsługi.
Źródła:
https://pl.wikipedia.org/wiki/Wirtualizacja
https://www.atlassian.com/pl/microservices/cloud-computing/containers-vs-vms
https://www.ibm.com/cloud/blog/containers-vs-vms
Blockchain – płatności w świecie kryptowalut
Blockchainie - poznaj świat transakcji, kryptowalut i elektronicznych płatności.
BezpieczeństwoFinanse
FastAPI – czyli jak napisać proste REST API w Pythonie? – część 3
REST API z użyciem frameworka FastAPI. Ostatniej części artykułów o API w Pythonie. Zacznij z nami już dziś swoją przygodę z FastAPI!
Programowanie
FastAPI – czyli jak napisać proste REST API w Pythonie? – część 2
REST API z użyciem frameworka FastAPI. Część druga tutoriala. Zacznij z nami już dziś swoją przygodę z FastAPI!
Programowanie