Zarządzanie tożsamością i dostępem użytkownika, czyli o co chodzi z IDP?
Czym jest tożsamość użytkownika? Z czego wynika potrzeba zarządzania dostępem w firmie? Jak działa tzw. IDP? Odpowiedź na te pytania znajdziesz w artykule.
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
Zarządzanie tożsamością i dostępem użytkownika, czyli o co chodzi z IDP?
Czym jest tożsamość użytkownika? Z czego wynika potrzeba zarządzania dostępem w firmie? Jak działa tzw. IDP? Odpowiedź na te pytania znajdziesz w artykule.
Bezpieczeństwo
Hej, hej... Programisto, to kolejny artykuł dla Ciebie! Druga część artykułu na temat wzorców projektowych. Poznaj Adapter oraz Memento.
Programowanie
Programisto, to artykuł dla Ciebie! Łap garść przydatnych informacji na temat wzorców projektowych.
Programowanie