Docker to narzedzie, ktore pakuje aplikacje razem ze wszystkim, czego potrzebuje do dzialania, w jedna zamknieta paczke zwana kontenerem. Kontener zawiera sam program, jego ustawienia i wszystkie skladniki, od ktorych zalezy. Dzieki temu aplikacja dziala tak samo na komputerze programisty, na serwerze testowym i na serwerze produkcyjnym, na ktorym korzystaja z niej klienci.
Jaki problem rozwiazuje
Klasyczna bolaczka w tworzeniu oprogramowania brzmi "u mnie dziala". Program dziala na komputerze programisty, a po przeniesieniu na serwer sie wywala, bo tam brakuje jakiejs biblioteki albo wersja czegos sie rozni. Docker kasuje ten problem. Aplikacja jedzie razem ze swoim srodowiskiem, wiec nie ma znaczenia, gdzie kontener uruchomisz. Zawsze dostaje ten sam zestaw skladnikow.
Kontener czesto myli sie z maszyna wirtualna, ale jest od niej znacznie lzejszy. Maszyna wirtualna udaje caly osobny komputer i zjada duzo zasobow. Kontener wspoldzieli system serwera i bierze tylko to, co potrzebne dla samej aplikacji. Na jednym serwerze zmiescisz kilkanascie kontenerow tam, gdzie zmiescilibys dwie albo trzy maszyny wirtualne.
Co to daje firmie
Dla firmy zamawiajacej oprogramowanie Docker oznacza mniej awarii przy wdrozeniach i szybsze uruchamianie nowych wersji. Aktualizacja aplikacji sprowadza sie do podmiany jednego kontenera na nowy. Jak cos pojdzie nie tak, wracasz do poprzedniego w kilka sekund. To realnie skraca przestoje i obniza ryzyko, ze wdrozenie poprawki polozy caly system w srodku dnia roboczego.
Docker daje tez oszczednosc na serwerach. Wieksze upakowanie aplikacji na jednej maszynie to nizszy rachunek za hosting.
Jak wykorzystujemy to w Neticat
W Neticat dostarczamy systemy webowe, sklepy i integracje w kontenerach Docker. Kazdy projekt ma zamkniete, powtarzalne srodowisko, wiec przekazanie aplikacji na serwer klienta albo migracja na inny hosting idzie gladko, bez wielogodzinnego dlubania w konfiguracji. Klient nie jest uwiazany do jednego dostawcy serwerow, bo kontener uruchomisz w OVH, na AWS czy na wlasnej maszynie firmy. Docker upraszcza tez wspolprace w zespole, bo kazdy programista pracuje na dokladnie tym samym srodowisku, co koniec konca skraca czas i koszt wdrozenia projektu.