Wróć do bloga
Pytanie o stos technologiczny rozgałęzione na sześć pytań biznesowych o koszt, bezpieczeństwo danych oraz zakończenie współpracy

Stos technologiczny Open Mercato okiem klienta

Pytanie o technologię, na której zostanie zbudowany system, pada w prawie każdej rozmowie o oprogramowaniu tworzonym na zamówienie, zwykle w pierwszej godzinie. Odpowiedź w postaci listy nazw, czyli PostgreSQL, Redis, Node.js, Next.js oraz React, jest poprawna, lecz niewiele wnosi do decyzji zakupowej.

Za tym jednym pytaniem kryje się zwykle sześć innych, znacznie istotniejszych dla osoby, która podpisuje umowę.

JEDNO PYTANIE TECHNICZNE · SZEŚĆ PYTAŃ BIZNESOWYCH Na jakich technologiach? pytanie zadawane najczęściej Kiedy system zacznie działać? Ile kosztuje utrzymanie? Czy da się dopasować do naszych procesów? Czy nasze dane są bezpieczne? Co pozostaje po zakończeniu współpracy? Czy dane trafią do dostawcy AI? Poniżej sześć odpowiedzi. Lista bibliotek znajduje się na końcu, w akapicie dla działu IT.
Tekst przechodzi te pytania w kolejności, w jakiej padają w rozmowie, a nie w kolejności ważności dla dostawcy.

Wszystkie informacje poniżej odnoszą się do Open Mercato w wersji 0.7.0. Ma to znaczenie przy lekturze tego tekstu za pół roku: platforma jest aktywnie rozwijana, więc lista modułów oraz wersje bibliotek ulegają zmianom.

Co pozostaje po zakończeniu współpracy

Rdzeń platformy jest na licencji MIT. Oznacza to pełne prawo do modyfikacji i dalszego rozwoju kodu, bez opłat liczonych od użytkownika i bez niczyjej zgody. Fundament stanowią PostgreSQL, Redis oraz Node z Next.js i Reactem, czyli cztery technologie, na które rekrutuje się w każdym większym mieście. Nie ma tu autorskiego języka, zamkniętego silnika reguł ani własnego formatu danych, z którego trzeba by kogoś wyprowadzać.

Praktyczne skutki są trzy:

  • Zakończenie współpracy sprowadza się do przekazania repozytorium oraz zrzutu bazy danych, nie do migracji.
  • Dane są przechowywane w standardowej bazie PostgreSQL, dzięki czemu Twój zespół może je odczytywać własnymi narzędziami analitycznymi od pierwszego dnia, bez występowania do kogokolwiek o eksport.
  • Utrzymanie może przejąć inna firma. Nie musi to być zespół, który system zbudował.

Jest to zasadnicza różnica wobec systemów rozliczanych za stanowisko, w których zakończenie umowy oznacza utratę dostępu do aplikacji, a często również do danych historycznych.

Kiedy system zacznie działać

Projekt nie rozpoczyna się od pustego repozytorium. Platforma zawiera ponad czterdzieści modułów biznesowych: sprzedaż, katalog, klienci, magazyn, przewoźnicy, płatności, reklamacje i RMA, workflow, uprawnienia, powiadomienia, tłumaczenia oraz dzienniki audytowe. To nie są przykłady do przepisania, lecz działające moduły z API, ekranami i testami.

Uzupełnieniem jest komplet integracji: Stripe, webhooki w standardzie Standard Webhooks, Akeneo, poczta e-mail, powiadomienia push na iOS, Androida i Expo, Discord, IMAP oraz Gmail. Jest również moduł zgodności z rozporządzeniem EUDR, co dla firmy z branży objętej tą regulacją stanowi gotowy punkt w postępowaniu przetargowym.

Wpływ na harmonogram jest wymierny: przedmiotem projektu przestaje być napisanie systemu, a staje się jego dopasowanie. Własne atrybuty dodaje się do istniejących obiektów z poziomu konfiguracji, bez zmian w kodzie, więc część dopasowania przestaje być pracą programisty. Powody, dla których pozostała część przebiega u nas szybciej niż w klasycznym modelu, opisujemy osobno w tekście o AI-assisted engineering, a efekt na pojedynczym systemie pokazuje realizacja Forteca.

Czy nasze dane są bezpieczne

Rozdzielenie danych między organizacje i tenanty jest wymuszone na poziomie architektury, a nie pozostawione pamięci programisty przy każdym zapytaniu do bazy. To rozróżnienie decyduje o tym, czy pojedyncza pomyłka w kodzie może doprowadzić do ujawnienia danych jednej organizacji drugiej.

Na tym fundamencie opiera się pozostała część warstwy bezpieczeństwa: szyfrowanie danych tenanta, uprawnienia oparte o niezmienne identyfikatory funkcji zamiast o nazwy ról, które da się podmienić, dzienniki audytowe z konfigurowalną retencją, klucze API oraz uwierzytelnianie wieloskładnikowe. Zbudowanie tego zakresu od podstaw to zwykle od sześciu do dwunastu miesięcy pracy, której nie trzeba finansować ani audytować powtórnie.

Osobno należy wymienić mechanizm, który brzmi jak detal, a bywa źródłem sporów po wdrożeniu: blokada optymistyczna jest domyślnie włączona. Dwóch użytkowników nie nadpisze wzajemnie swoich zmian w tym samym rekordzie bez ostrzeżenia.

Zastrzeżenie: część mechanizmów bezpieczeństwa należy do płatnego pakietu. Temat wraca w sekcji o ograniczeniach.

Czy system da się dopasować do naszych procesów

Rozszerzenia realizowane są przez system modułów: wstrzykiwanie widgetów, podmiana komponentów, przechwytywanie wywołań API oraz pola własne. Pliki platformy pozostają nienaruszone, dzięki czemu każde wydanie nie kończy się konfliktem do rozwiązania.

Nadrzędny wobec tego jest spisany kontrakt kompatybilności wstecznej: trzynaście kategorii powierzchni publicznych, których nie wolno usunąć w jednym wydaniu. Najpierw oznaczenie jako przestarzałe, potem most przez co najmniej jedno wydanie, na końcu instrukcja migracji.

Wyklucza to scenariusz, w którym zespół utrzymuje własną odnogę kodu i przez lata pozostaje na starej wersji, ponieważ aktualizacja stała się zbyt kosztowna. Ten sam mechanizm oznacza również, że możesz zlecić jeden moduł innej firmie, bez ingerencji w pozostałą część systemu.

Ile kosztuje utrzymanie

Wdrożenie startowe obejmuje jeden serwer oraz bazę danych. Bez Kubernetesa, bez klastra, bez abonamentów na usługi zewnętrzne. Każda cięższa warstwa ma wariant lekki, a przełączenie między nimi jest zmianą ustawienia, nie przepisaniem aplikacji.

Poniżej progi, przy których dokładane są kolejne elementy. Każdy wiersz to jedna decyzja odroczona w czasie, a kolumna „start” nie wymaga żadnej dodatkowej usługi ani opłaty.

WarstwaStartPrzy skaliMoment przełączenia
Pamięć podręcznapamięć procesu, SQLite lub plikRediswięcej niż jedna instancja aplikacji
Kolejki zadańkolejka lokalna na dyskuBullMQ na Redisiezadania muszą przetrwać restart albo potrzeba wielu workerów
WyszukiwaniePostgreSQLMeilisearchduży katalog, tolerancja literówek, własny ranking
Wyszukiwanie wektorowepgvector, w tej samej bazieQdrant lub ChromaDBmiliony wektorów
Pliki i załącznikidysk serweraS3wiele instancji albo duże wolumeny
Monitoringlogi aplikacjiOpenTelemetry, New Relicwdrożenie produkcyjne z umową SLA

Powyższe dotyczy wdrożenia na własnym serwerze. Wdrożenie jednym poleceniem uruchamia się od razu z Redisem oraz osobnym procesem zadań w tle, więc dwa pierwsze wiersze go nie obejmują.

Ile to kosztuje miesięcznie

Pierwsza decyzja nie dotyczy dostawcy, lecz przedmiotu wydatku: czy płacisz za oszczędzony czas, czy za moc obliczeniową.

Ścieżka A, wdrożenie w tydzień. Jedno polecenie stawia komplet: aplikację, proces zadań w tle, bazę danych, Redis i publiczny adres. Bez administratora, z powtarzalnym wdrożeniem przy każdej zmianie. Kosztem tej wygody jest mniej więcej dwukrotność rachunku za własny serwer.

Ścieżka B, optymalizacja na lata. Własny serwer u dostawcy europejskiego, całość w kontenerach. Najniższy koszt bieżący oraz pełna kontrola nad lokalizacją danych, kosztem kilku dni konfiguracji i stałej odpowiedzialności za aktualizacje.

ScenariuszWłasny serwerJedno polecenieDuża chmura
Pilot, do 20 osób$14–21$30–45$60–120
Produkcja, 20–100 osób$60–105$85–120$400–600
Produkcja i osobny staging$105–175$150–250$700–1000
Wielofirmowy SaaS, wysoka dostępność$235–465$400–800$900–2000

Kwoty są miesięczne, netto i podane w dolarach amerykańskich, przy typowym obciążeniu. Serwery europejskie rozliczane są w euro, więc ich ceny przeliczyliśmy po kursie 1 EUR = 1,1652 USD, czyli kwotowaniu Europejskiego Banku Centralnego z 9 września 2026, i zaokrągliliśmy. Same widełki to szacunki własne z września 2026, oparte na cennikach dostawców, a nie oferty ani pomiar z wdrożenia. Przed decyzją budżetową odświeżamy zarówno cenniki, jak i kurs.

PRODUKCJA DLA 20–100 OSÓB · KOSZT MIESIĘCZNY W USD 0 150 300 450 600 Własny serwer Jedno polecenie Duża chmura $60–105 $85–120 $400–600 Belka pokazuje zakres od dolnej do górnej wartości widełek z tabeli powyżej.
Wszystkie kwoty w dolarach miesięcznie, zgodnie z tabelą powyżej. Rozrzut między najtańszą a najdroższą ścieżką sięga ośmiu do dziesięciu razy przy tej samej wydajności.

Dla porównania: system klasy ERP rozliczany za stanowisko, przy trzydziestu użytkownikach i pięćdziesięciu dolarach za stanowisko, daje około 1500 dolarów miesięcznie. Różnica na korzyść własnej infrastruktury utrzymuje się do kilkuset użytkowników.

Rachunek da się sprawdzić również na mniejszej skali. Nasz własny system obiegu faktur kosztuje miesięcznie mniej niż dolara, a rozbicie tej kwoty opisaliśmy w realizacji FAKTURY.

Trzy pozycje pomijane w budżecie

Środowiska. Staging podwaja rachunek, osobne środowisko deweloperskie potraja. Większość zestawień obejmuje wyłącznie produkcję. Przy wdrożeniu jednym poleceniem drugie środowisko to dosłownie drugi komplet czterech usług.

Sztuczna inteligencja. Rozliczana od zużycia, nie ryczałtem. Przy intensywnym korzystaniu z asystenta pozycja ta potrafi przekroczyć koszt całej infrastruktury. Model uruchomiony lokalnie eliminuje rachunek za API, lecz wymaga maszyny z kartą graficzną, czyli wydatku rzędu 235–930 dolarów miesięcznie.

Licencja modułów enterprise. Formalnie nie jest infrastrukturą, natomiast w budżecie trafia do tej samej rubryki, dlatego podajemy ją łącznie z kosztem serwerów.

Czy dane trafią do zewnętrznego dostawcy AI

Warstwa AI jest neutralna wobec dostawcy modelu. Anthropic, OpenAI, Google, Mistral, Cohere oraz Amazon Bedrock są wymienne w ustawieniach, dzięki czemu zmiana dostawcy po zmianie cennika albo polityki jest zmianą ustawienia, nie projektem.

W rozmowie o zgodności istotniejsze jest jednak co innego: obsługiwana jest również Ollama, czyli model uruchomiony na serwerze klienta. Dane nie opuszczają wówczas Twojej infrastruktury. Dla firmy z sektora regulowanego bywa to warunek dopuszczenia projektu, a nie przewaga.

Platforma obsługuje także protokół MCP, co pozwala połączyć system z narzędziami AI, z których Twój zespół już korzysta.

Różnicę między systemem z AI w środku a narzędziem kupowanym w abonamencie opisaliśmy osobno, razem z konsekwencjami dla własności danych, w tekście o czterech rodzajach oprogramowania AI.

Sześć ograniczeń, o których warto wiedzieć wcześniej

Każdy z poniższych punktów i tak ujawni się później: na audycie technicznym albo przy negocjacji umowy.

01. Moduły enterprise są płatne. Logowanie SSO, rozszerzone bezpieczeństwo (MFA, TOTP, klucze WebAuthn) oraz blokady rekordów należą do komercyjnego pakietu Open Mercato sp. z o.o. i do zastosowań produkcyjnych wymagają licencji. Rdzeń MIT działa bez nich, natomiast organizacja o dojrzałym dziale IT prawie zawsze zażąda SSO. Pozycja ta powinna zostać ujęta w wycenie od początku.

02. PostgreSQL jest obowiązkowy. Nie ma wsparcia dla MySQL, MS SQL Server ani Oracle, a zmiana ustawień tego nie obchodzi. Jeżeli obowiązuje u Ciebie firmowa polityka bazodanowa, należy to zweryfikować w pierwszej kolejności, przed rozmową o zakresie.

03. Wersje środowiska są bardzo świeże. Next.js 16, React 19, TypeScript 7, MikroORM 7, Node 24. Zaletą jest długi horyzont wsparcia oraz brak długu technologicznego na starcie. Kosztem jest wymaganie wobec hostingu: musi udostępniać Node 24, co wyklucza część tanich hostingów współdzielonych oraz starsze firmowe obrazy systemowe.

04. Komponenty opcjonalne przestają być opcjonalne przy skali. Redis, Meilisearch oraz S3 nie są potrzebne na starcie, lecz przy kilku instancjach aplikacji stają się wymagane. Progi z tabeli powyżej warto czytać łącznie z kosztami, ponieważ moment przełączenia nie powinien być zaskoczeniem.

05. Monitoring wymaga własnego odbiornika. OpenTelemetry i New Relic są podłączone po stronie aplikacji, natomiast miejsce, do którego te dane trafiają, wybierasz i opłacasz osobno. Może to być Grafana, Datadog albo New Relic. Sama integracja nie generuje kosztu, abonament odbiorcy danych już tak.

06. Koszt sztucznej inteligencji jest zmienny. W odróżnieniu od reszty infrastruktury, rozliczanej ryczałtem, warstwa AI rozliczana jest od zużycia i przy intensywnym korzystaniu potrafi przekroczyć koszt wszystkich serwerów łącznie. Dostępne są dwa podejścia: przyjęcie widełek dla typowego scenariusza albo model uruchomiony lokalnie.

Co obejmuje demonstracja systemu

Pięć elementów, które najszybciej pokazują, czym system różni się od arkusza kalkulacyjnego oraz od starszego systemu wewnętrznego:

ElementNa czym polega
Współedycja dokumentówDwie osoby pracują równocześnie nad tym samym dokumentem, widząc wzajemnie położenie kursorów. Podobnie jak w Dokumentach Google, z tą różnicą, że we własnym systemie i na własnym serwerze.
Postęp długich operacjiImport kilku tysięcy rekordów wyświetla pasek postępu w górnej części ekranu i pozwala kontynuować pracę, zamiast blokować przeglądarkę.
Konflikt edycjiDwie osoby otwierają ten sam rekord. Druga otrzymuje czytelny komunikat, zamiast bezgłośnie nadpisać zmiany pierwszej.
Powiadomienia na żywoZmiana w systemie pojawia się u drugiego użytkownika bez odświeżania strony.
WielojęzycznośćPrzełączenie języka interfejsu w całości, łącznie z komunikatami błędów. Brak zaszytych tekstów jest pilnowany automatycznie w procesie budowania.

Dla działu IT: pełna lista

Pozostała część stosu decyduje o jakości pracy zespołu oraz o tempie wprowadzania zmian, natomiast nie zmienia odpowiedzi na żadne z sześciu pytań powyżej. W skrócie: monorepo na Turborepo, wstrzykiwanie zależności, walidacja schematami, testy jednostkowe, integracyjne w Playwright oraz mutacyjne, do tego własne bramki jakości w CI.

Turborepo · Yarn workspaces · Awilix · Zod · ts-pattern · Tailwind · Radix UI · TanStack Query · Jest · Playwright · Stryker · ESLint · date-fns · MikroORM

Podsumowanie

Kod pozostaje Twoją własnością, dane są przechowywane w standardowej bazie, a zakończenie współpracy sprowadza się do przekazania repozytorium oraz zrzutu bazy. Wdrożenie startowe wymaga jednego serwera; cięższe komponenty dokładane są dopiero wtedy, gdy wymusi je skala, a każdy próg można wskazać z wyprzedzeniem. Ograniczenia również są policzalne: płatny pakiet enterprise, wymóg PostgreSQL, świeże wersje środowiska oraz zmienny koszt warstwy AI.

Pytanie, którego ten tekst nie rozstrzyga, brzmi: kto ma system zbudować oraz utrzymać. Omawiamy je osobno, razem z listą pytań do zadania dostawcy, na stronie o wyborze AI software house.

Sprawdź, ile taki system kosztowałby u Ciebie

Bezpłatny audyt cyfrowy trwa jeden do dwóch dni i kończy się diagnozą procesów, nie ofertą. Wychodzisz z zakresem, ścieżką hostingu i rzędem wielkości kosztu utrzymania.

Umów bezpłatny audyt →