Docker a desktop app
Często słyszymy, że Docker (konteneryzacja) i mikrousługi nie nadają się do tworzenia aplikacji na desktop. Argumentem jest to, że aplikacje są zbudowane dla systemu Windows, którego Docker nie obsługuje.
Z chęcią obalimy te argumenty.
Konteneryzacja i microservices są odpowiednie do tych zastosowań, ale zgodnie z określonymi procedurami.
Aplikacje, które ewoluowały przez wiele lat, czasem dziesięcioleci, z czasem stają się przestarzałe i wymagają modernizacji. Tutaj konteneryzacja może ci bardzo pomóc.
Stan obecny:
- Mała prędkość - obliczenia są wykonywane w części klienta, a dane przesyłają linię do bazy danych.
- Sterowanie przez serwer terminala – zdalny pulpit lub konsolę.
- Nawarstwianie się kodu na przestrzeni lat.
- Zmiana technologii oznacza całkowite przepisanie aplikacji.
- Zduplikowany kod podczas uruchamiania wersji internetowej i komputerowej aplikacji.
- Edycja w jednym module aplikacji może spowodować awarię całej aplikacji lub inne problemy.
- Często tworzone przez jednego programistę lub blisko współpracujący zespół.
- Kompleksowe włączenie i zrozumienie aplikacji dla nowych programistów.
- Architektura dwuwarstwowa
Z wykorzystaniem konteneryzacji:
- Wysoka prędkość - obliczenia wykonywane są na infrastrukturze serwerowej.
- Połączenie z dowolnym środowiskiem użytkownika (mobilnym, internetowym, stacjonarnym).
- Proste modyfikacje i zmiany funkcji częściowych.
- Możliwość stopniowych i niezależnych zmian dla określonych funkcji.
- Aplikacja kliencka jest tylko interfejsem użytkownika bez obliczeń odnoszących się do funkcji w części serwerowej.
- Edycja jednego modułu nie wpływa na kod innych niezależnych modułów.
- Niezależne zespoły i programiści zarówno dla klienta, jak i dla poszczególnych części składowych aplikacji.
- Prostota i przejrzystość kodu modułów niezależnych.
- Architektura trójwarstwowa
Schemat - aplikacja dwuwarstwowa
Schemat - aplikacja trójwarstwowa