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