Nasza oferta rozwoju produktów cyfrowych

Twórz i rozwijaj Swoje produkty cyfrowe w kategoriach web/mobile/data, korzystając z najnowocześniejszych wzorców i rozwiązań, architektur “composable”, w modelu ciągłej integracji i dostarczania (CI/CD). Jakie techniczne i praktyczne zagadnienia zapewniają zdolność do tworzenia produktów oraz ich uruchamiania w tempie odpowiadającym wymogom rynku?

 

Gilles Guirand

Technical Director

Czy to właściwy moment, aby opracowywać nowe systemy lub produkty? Jak zminimalizować wysiłek konieczny dla utrzymywania wersji web i mobile? Jak wdrażać sprawnie i szybko, jednocześnie unikając regresji? Jak zredukować izolację front-end i back-end na rzecz interdyscyplinarnych zespołów zorientowanych na funkcje czy moduły? Jak połączyć nowy produkt z rozwiązaniami legacy?

Produkt cyfrowy może zaistnieć w różnorodnych okolicznościach: jako nowa iteracja strony internetowej lub aplikacji mobilnej po wcześniejszych działaniach PoC (ang. Proof of Concept) czy PoV (ang. Proof of Value), jako błyskawiczne wdrożenie podbijające rynek lub jako z góry zaplanowany projekt (ang. Digital roadmap) powiązany z rozwiązaniami cyfrowej fabryki (ang. Digital Factory).

Pomimo różnorodności kontekstów powstawania produktów cyfrowych, na przestrzeni lat wyłonił się powtarzalny i dość uniwersalny wzorzec dla ich architektury.  Najlepszym podejściem jest dostosowanie go bez nadmiernego dogmatyzmu, uwzględniając indywidualną historię produktu.

 

Interfejs webowy i/lub mobilny

Po jasnym zdefiniowaniu strategii front-endowej, uwzględniającym wybór pomiędzy rozdzieleniem natywnych  interfejsów web i mobile, a pojedynczym uniwersalnym interfejsem PWA, należy określić strategię rozwoju front-endu:

  • Wykorzystanie dojrzałego systemu graficznego typu Material Design dla interfejsów graficznych, posiadających gotowe implementacje w ultra-produktywnych frameworkach komponentowych, takich jak Vuetify (szczególnie do tworzenia graficznych interfejsów do zarządzania).
  • Zaprojektowanie spójnego i kompletnego systemu design w odniesieniu do warstwy graficznej front-endu, co czasami jest uważane za znaczny początkowy wysiłek, ale zwraca się w długim okresie, zapewniając łatwość utrzymania i modyfikacji, spójność wizualną i funkcjonalną, produktywność, czy narzędzia dla zespołu deweloperskiego.
  • Rozważnie użycia frameworka CSS podnoszącego produktywność, takiego jak Tailwind CSS.
  • Projektowanie komponentowe Vue lub React oraz gromadzenie ich dokumentacji oraz renderowania za pomocą rozwiązania Storybook.
  • Opracowanie najlepszych strategii renderowania kodu HTML, wybierając pomiędzy modelami Client Side Rendering (CSR), Server Side Rendering (SSR), Server Side Generating (SSG) i ich możliwymi hybrydami.

Back-for-Front i usługi aplikacji zewnętrznych

Widoczna dla użytkowników część aplikacji internetowej czy mobilnej często ukrywa rozległy zbiór back-endów, endpointów API (ang. Application Programming Intefrace) i usług (Web Services) udostępnianych przez istniejące systemy legacy, często o bardzo zróżnicowanej nowoczesności i wydajności. W naszych projektach regularnie stawiamy na wzorzec BFF (ang. Backend for Frontend) wobec aplikacji backend’owych, którego rolą jest:

  • Udostępnienie ujednoliconego API dla wywołań front-endowych, najczęściej w oparciu o graphQL (Apollo), dedykowanego i dostosowanego do doświadczeń użytkowników końcowych i ograniczających liczbę zapytań między front-endem a faktycznym back-endem.
  • Zapobieganie publicznemu udostępnianiu lub ujawnianiu API biznesowych ze względów bezpieczeństwa, niezawodności i wydajności, a także celem zapewnienia możliwości tzw. decouplingu (możliwość podłączania i odłączania nowych API zgodnie z planem systemu informacyjnego).
  • Pobieranie danych z biznesowych systemów backendowych (REST API, SOAP, pliki itp.), repozytoriów treści (headless CMS, takich jak: Strapi, Contentful, Ibexa DXP itp.; systemów innych klas typu PIM czy ERP), w celu ich łączenia, dostosowania i przekształcenia w API serwowane na użytek warstwy front-end.
  • Przechowywanie niezbędnych danych w sposób trwały (dane, które nie istnieją na backendzie biznesowym) lub tymczasowo (nietrwała pamięć cache, indeks wyszukiwania itp.), w zależności od potrzeb funkcjonalnych.
  • Ujednolicenie uwierzytelniania między różnymi backendami.
  • Korzystanie z systemów buforowania wejścia (odpowiedzi API) i wyjścia (pamięć podręczna HTTP) w celu ochrony API biznesowych i samej warstwy BFF przed zbyt dużą liczbą wywołań.

Wyspecjalizowane klasy rozwiązań i systemów

Architektury komponowalne (ang. Composable), w przeciwieństwie do monolitycznych architektur „wszystko w jednym”, zarówno umożliwiają, jak i wymagają wyboru najlepiej dopasowanych narzędzi SaaS lub Open Source dla każdej z głównych funkcji w ekosystemie, w tym:

  • rozwiązania CMS (ang. Content Management System) do zarządzanie treścią,
  • rozwiązania DXP (ang. Digital Experience Platform) do budowania doświadczeń użytkowników,
  • rozwiązania IAM (ang. Identity & Access Management) do zarządzania tożsamością,
  • rozwiązania DAM (ang. Digital Asset Management) do zarządzania zasobami cyfrowymi, e-commerce do budowania sklepów i rozwiązań transakcyjnych,
  • rozwiązania CRM (ang. Customer Relation Management) do zarządzania relacjami z klientami,
  • rozwiązania PIM (ang. Product Information Management) do zarządzania informacją o produktach,
  • innych rozwiązań i narzędzi do zaspokojenia potrzeb marketingowych i innych.

Możemy doradzić Ci najodpowiedniejsze rozwiązania dla Twojego biznesu i wyzwań związanych ze skalowalnością, bezpieczeństwem, zarządzaniem i zgodnością z istniejącymi systemami:

  • Headless CMS: Strapi, Contentful lub API dla istniejących CMS (Ibexa DXP, Drupal itp.),
  • Silniki wyszukiwania: Elastic Search, Algolia lub inne zarządzane usługi w chmurze,
  • E-commerce jako rozwiązanie headless SaaS (Bigcommerce) lub jako rozwiązanie na miarę, gdy wymagania są zbyt specyficzne,
  • Frameworki backendowe i ich tryby wykonania: Node.js, graphQL, Nest.js w trybie serverless lub kontenerowym,
  • Bazy danych: PostgreSQL, MySQL/MariaDB, MongoDB itp.
  • Menedżery tożsamości i SSO: Keycloak, Okta, zarządzane tożsamością (IAM) itp.

DevOps i automatyzacja QA

W dzisiejszych czasach firmy i organizacje bardzo często korzystają z jednego lub wielu rozwiązań chmurowych, narzędzi SaaS, narzędzi on-premise, własnych repozytoriów Git i pipeline’ów, czy własnych zestawów szablonów Terraform. Opracowując nowe produkty, konieczne jest dostosowanie się i integracja z zastanym zbiorem rozwiązań i praktyk. W Kaliop zawsze współdziałamy z Twoją cyfrową fabryką i działami IT/IS, aby stworzyć najlepszą możliwą fuzję między Twoimi praktykami, ekosystemem rozwiązań oraz nowymi rozwiązaniami i zmianami wymuszonymi naszym doświadczeniem w zakresie DevOps i automatyzacji:

  • Gitflow i pipeline (CI/CD) zgodnie z naszymi praktykami lub we współpracy z Tobą,
  • Zarządzanie katalogiem usług w sposób jak najbardziej zbliżony do filozofii AWS, GCP, Azure, Scaleway i Kubernetes,
  • Optymalizacja wydajności i łańcucha cache, od CDN (ang. Content Delivery Network) do wewnętrznej pamięci podręcznej aplikacji,
  • Dzielenie się praktykami bezpieczeństwa dotyczącymi dostępu VPN, prywatnych kluczy (KMS), szyfrowania, ochrony przed DDoS i WAF,
  • Współpraca z działem IT nad skryptami Terraform.

Każdy przypadek takiej integracji jest unikalny i jej strategia musi być dostosowana do rzeczywistych potrzeb i umiejętności zespołów, dlatego warto skorzystać z naszej usługi doradztwa, aby pomóc Ci podjąć właściwe decyzje organizacyjne i architektoniczne.

Aby przyspieszyć czas wprowadzenia produktu na rynek, można zorganizować Digital Factory. To, wraz z kulturą produktową oferującą doświadczenie skoncentrowane na potrzebach użytkowników, jest kluczem do sukcesu projektu cyfrowego, tak samo jak wiedza technologiczna.

Masz pytanie? Nasz zespół chętnie na nie odpowie

Skontaktuj się z nami