Wydajność w systemach i aplikacjach

Wydajność jest jednym z ważniejszych elementów funkcjonowania systemów, aplikacji czy usług informatycznych. Problemy z wydajnością są odczuwalne od razu, widoczne przez klienta i potrafiące wpłynąć na nasze przychody czy zyski np. poprzez niezrealizowanie umownego poziomu SLA (Service Level Agreement).

Problemy z wydajnością mogą dotyczyć:

  • Niepoprawnie stworzonej aplikacji lub zapytań sql do bazy
  • Ataków na dostępność i wydajność usług (Ataki DoS i DDos – Denial of Service)
  • Niepoprawnych konfiguracji bazy danych
  • Braki w zasobach sprzętowych serwerów czy macierzy
  • Niepoprawne konfiguracje serwerów i ich usług

Najczęstsze problemy spotykany w ostatnim roku związane z systemami i wydajnością:

  • Mało wydajne środowisko serwerowe
  • Brak rozdzielanie serwerów bazodanowych od aplikacyjnych
  • Pojedyncze bazy danych, brak separacji
  • Niewydajne API
  • Niepoprawne konfiguracja baz danych np. mała alokacja pamięci RAM
  • Niezoptymalizowane zapytania do baz danych
  • Brak wykorzystania cachowania
  • Brak wykorzystania narzędzi typu CDN czy Cloud dla aplikacji internetowych
  • Brak wykorzystania modularności czy mikrousług w architekturze platform czy sklepów internetowych
  • Problemy wydajnościowe na poziomie intergacji i wymiany danych pomiędzy sklepami internetowymi a systemami ERP czy WMS.

Zobacz także:

Jeśli potrzebujesz wsparcia w zakresie architektury systemów, poprawy wydajności czy audycie kodu źródłowego zapraszamy do kontaktu.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Centrum usług wspólnych (CUW) – Shared Service

Centra usług wspólnych (Shared Service Center, SSC) są bardzo popularną formą tworzenia struktur korporacyjnych wydzielając i centralizując kluczowe usługi w osobnych podmiotach. Podmioty te świadczą usługi głównie dla klienta wewnętrznego choć zawsze pojawia się strategi dywersyfikacja przychodów i otwarcie się na klienta zewnętrznego często konkurencyjnego do klienta wewnętrznego.

Najpopularniejszymi usługami świadczonymi przez tzw. CUW-y są usługi finansowo-księgowe i informatyczne z uwagi na ich skomplikowanie, czasochłonność, powtarzalność i często dużą dojrzałość procesu. Głównymi powodami powoływania shared service-ów lub jednostek BPO (Business Process Outsourcing) w Polsce są niższe koszty obsługi procesów niż w innych krajach, dostęp do wyspecjalizowanej kadry, aspekty kulturowe oraz przewidywalność gospodarcza czy prawna (!).

CUW-y informatyczne skupiają się na świadczeniu następujących usług:

  • Wytwarzanie oprogramowania
  • Utrzymanie systemów tele-informatycznych jak np. systemów SAP
  • Usługi Service Desk (Help Desk)
  • Utrzymanie infrastruktury sieciowej i tele-informatycznej

Głównymi parametrami takich usług jest cena świadczenia usługi oraz jakość świadczenia usługi SLA (Service Level Agreement). Często shared service specjalizują się w jednej usłudze np. centrum kompetencyjne SAP, które utrzymuje i rozwija systemy SAP dla całej grupy. Często centrum kompetencyjne skupia się np. tylko na wytwarzaniu oprogramowania i jego utrzymaniu.

Ostatnio bardzo popularne są shared service specjalizujące się w działaniach badawczo-rozwojowych (B+R, R&D – Research and Development).

Często wydzielenie shared service-ów lub tworzenie centrów kompetencyjnych jest elementem strategii cyfrowej transformacji a często wynika z analizy kosztów i możliwości.

Zobacz także:

Jeśli potrzebujesz wsparcia w cyfrowej transformacji, optymalizacji procesów IT zapraszamy do kontaktu.

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Mikroserwisy w eCommerce – Architektura eCommerce

Mikroserwisy są podstawą architektury rozproszonej systemów zdecydowanie różniącej się od architektury monolitycznej oprogramowania. Mikroserwisy są pojedynczymi komponetntami, aplikacjami czy modułami realizującymi daną funkcjonalność lub świadczący usługi. Mikroserwisy wymieniają się danymi lub wchodzą w interakcję z innymi modułami architektury poprzez np. API (Application Programming Interface).

Mikroserwisy – korzyści

Mikroserwisy posiadają wiele korzyści np.:

  • Łatwiejsze zarządzanie architekturą oprogramowania, modułami, usługami
  • Łatwiejszy development w postaci rozwijania danych komponentów przez osobne zespoły
  • Minimalizacja błędów w innych modułach
  • Skalowanie na poziomie danej usługi nie systemu
  • Zwiększenie ciągłości biznesowej w przypadku awarii, internetu, Data Center, itd.
  • Zwiększenie wydajności systemu
  • Zmniejszenie (potencjalne) kosztów rozwojowych systemu

Mikroserwisy – wady

  • Zwiększenie stopnia trudności oprogramowania i projektu z uwagi na złożoność architektury rozproszonej (komunikacja pomiędzy usługami, itd.)
  • Zwiększenie kosztów wytworzenie i i utrzymania systemu
  • Zwiększenie skomplikowania testów usług dostawrczanych przez mikroserwisy
  • Trudniejsze wdrażania niż w architekturze monolitycznej

Mikroserwisy w eCommerce?

Mikroserwisy świetnie wpisują się w architekturę systemów eCommerce szczególnie tam gdzie jest dużo systemów takich jak sklepy internetowe B2B i B2C, pasaże handlowe, systemy wymiany danych, systemy kurierskie, systemy PIM (Product Information Management), systemy OMS (Order Management System), systemy CRM (Customer Relationship Management), systemy ERP (Enterprise Resources Management), systemy WMS (Warehouse Management System), systemy Marketplance, systemy do obsługi BOK (Biuro Obsługi Klienta), systemy kioskowe lub POS (Point of Sales) czt programy lojalnościowe. Mikroserwisy świetnie wkomponowują się w podejście Headless w CMS (Content Management System) oddzialającego backend od frontendu czy wykorzystaniu PWA (Progressive Web Application).

Jeśli potrzebujesz wsparcia w obszarze architektury eCommerce czy optymalizacji procesów eCommerce zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Technologia Headless w eCommerce

Technologia Headless staje się coraz bardziej popularna zarówno w sklepach internatowych czy CMS-ach (Content Management System). Charakteryzuje się tym, że składa siętylko z backendu i nie koncentruje się na warstwie graficznej (frontend) jak było do tej pory. Oprogramowanie Headless może korzystać za pomocą API (Aplication Programming Interface) z różnych interfejsów graficznych zarówno na desktopie czy w mobile.

Obecnie bardzo modne są Headless CMS dla eCommerce i stron internetowych. Typowy CMS dla stron internetowych składa się z trzech elementów:

  • Baza danych
  • Backend – panele do zarządzania treścią
  • Frontend – warstwa wizualna

Headless eCommerce CMS pozwala skupić się na funkcjonalnościach panelu zarządczego, API i integracji z innymi systemami pozostawiając warstwę graficzną wyspecjalizowanym developerom skupiającym się na interfejsie i użyteczności (UX – User Experience, UI – User Interface).

Jakie są zalety Headless eCommerce CMS?

  • Odseparowanie prac and backend i frontend np. celem tworzenia frontendu poprzez zewnętrzną firmę np. agencję interaktywną specjalizującej się w warstwach graficznych i użyteczności
  • Stosowanie wielu różnych interfejsów graficznych np. mobile, internetowe sklepy dedykowane, aplikacja POS (Point of Sales) dla Retail, itd.
  • Często mniejsze koszty wymiany frontendu (zależne od wielu czynników w tym długu technologicznego backendu)
  • Przejrzysta architektura systemów eCommerce
  • Potencjalnie łatwiejsze zarządzanie długiem technologicznym i cyklem życia oprogramowania
  • Zwiększenie poziomu bezpieczeństwa systemu

Jakie są wady Headless eCommerce CMS?

  • Większe koszty developerskie do przygotowania, utrzymania i rozwoju API i frontendu
  • Często zmniejszenie wydajności stron www w wyniku braku doświadczenia w technologii Headless czy API.

Jeśli potrzebujesz wsparcia procesowo-technologicznego w obszarze eCommerce, Retail czy Omnichannel zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Wdrożenie sklepu internetowego (B2C, B2B) – wyzwania, problemy projektowe, biznesowe i technologiczne

Wdrożenie sklepu internetowego w przypadku prostych procesów, bez własnych stanów magazynowych, produkcji, sprzedaży wielokanałowej (Omnichannel np. Retail), dużej liczny systemów do integracji może być prostym zadaniem. W takiej sytuacji często wybiera się gotowe platformy SaaS (Software as a Service), gdzie ingerencja klienta jest głównie w UX (User Experience), UI (User Interface), moduły płatności, shippingu i ustalenie zasad rozliczania z dostawcą (abonament zależny od zużytych zasobów, ilości transakcji, itd.). W przypadku większych firm czy firm posiadających skomplikowane procesy biznesowe projekt wdrożenia własnej platformy B2B i/lub B2C może być bardziej skomplikowany i może napotkać wiele wyzwań czy problemów na swojej drodze. Poniżej przedstawiamy główne problemy z jakimi możemy się spotkać podczas wdrożeń projektów typu eCommerce:

  • Złe określenie harmonogramu projektu – zbyt optymistyczne, bez bufora, przed sezonem czy pickiem sprzedażowym, bez uwzględniania ważnych i często pomijanych elementów jak przygotowanie SEO, środowisk testowych czy produkcyjnych, testowania, poprawek i zmian. Zobacz Harmonogram projektów eCommerce
  • Zły dobór zasobów zarówno zewnętrznych jak i wewnętrznych – większa część projektów nie udaje się lub ma kłopoty z powodu złego doboru firmy wdrażającej, nie sprawdzenie jej kompetencji, doświadczenia, zasobów, obłożenia projektami oraz z powodu braku wystarczających zasobów do realizacji po stronie wewnętrznej lub po stronie innych dostawców np. systemu ERP czy WMS. Zobacz: Wybór dostawców systemów IT
  • Złe określenie zakresu lub oczekiwań z dostawcą – złe zrozumienie zakresu mające wpływ na harmonogram, ilość zmian i poprawek zarówno od strony zewnętrznej jak i wewnętrznej (tzw. nieskończony proces ulepszania MVP).
  • Złe określenie klienta docelowego – segmentacja klienta, potrzeby, UX
  • Brak uwzględnienia przygotowania dobrej jakości contentu na potrzeby projektu
  • Brak decyzyjności, odpowiedzialności i ról po stronie wewnętrznej
  • itd.

Jeśli potrzebujesz wsparcie przed projektem wdrożenia sklepu B2C i/ lub B2B, masz problemy w trakcie i potrzebujesz wsparcia technologiczno-procesowo-porjektowego zapraszamy do kontaktu.

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Przykładowy harmonogram prac wdrożenia eCommerce B2B, B2C

Harmonogram w każdym projekcie jest bardzo ważnym elementem projektu, nawet w przypadku projektów zwinnych wykorzystujących np. metodyki Scrum. Harmonogram bezpieczny dla eCommerce to wdrożenie produkcyjne z zapasem czasu na testy, przed pikiem sprzedażowym czy sezonem. Jeśli mamy już gotowy zakres projektu, ramy czasowe, budżet, zespół projektowy oraz cele biznesowe do osiągnięcia to pozostaje nam wybór dostawcy (zobacz proces wyboru dostawcy). Dostawca postrzegany jako partner jest kluczowym elementem powodzenia projektu. Po jego wyborze, procesie negocjacyjnym rozpoczynamy tworzenie harmonogramu prac i wdrożenia produkcyjnego.

Przykładowy proces wdrożenia platformy B2C/B2B może wyglądać następująco:

  • Warsztaty z Dostawcą – Customer Map Journey, Persony (segmentacja klienta)
  • Makiety – projektowanie UX (User Experience) i UI (User Interface)
  • Testy użyteczności makiet – testy na użytkownikach wewnętrzne, jakościowe, ilościowe zewnętrzne
  • Projekt graficzny wraz z akceptacjami klienta
  • Konfiguracja środowisk developerskich i testowych
  • Kodowanie Frontendu – kodowanie w wybranej technologii (frameworki)
  • Kodowanie API – np. do integracji Frontend z Backend
  • Kodowanie Backendu, CMS (Content Management System)
  • Integracja z ERP (Enterprise Resources Management) – integracja np. stanów magazynowych, zamówień, danych klientów, statusów płatności, itd.
  • Integracja z PIM (Product Information Management) – integracja contentu
  • Integracja z CRM (Customer Relationship Management) i Marketing Automation
  • Integracja z WMS (Warehouse Management System) – integracja stanów magazynowych i rezerwacji, procesów zwrotów, itd.
  • Integracja z płatnościami – integracja z płatnościami elektronicznymi i procesami rozliczeniowymi w ERP
  • Integracja z kurierami – integracja systemów kurierskich
  • Testy SIT (System Integration Testing) – testy integracyjne kodu plus testy jednostkowe czy systemowe
  • Testy UAT (User Acceptance Test) – testy akceptacyjne czy aplikacja, system jest wykonana zgodnie z założeniami
  • Konfiguracje SEO – przekierowania, seo, itd.
  • Konfiguracja środowiska produkcyjnego
  • Wdrożenie produkcyjne
  • Testy produkcyjne – m.in. testy wydajnościowe, konfiguracyjne
  • Optymalizacja systemu, tuning, rozwój

Zobacz naszą ofertę doradztwa:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

UAT czyli Testy Akceptacyjne

UAT (User Acceptance Tests) to testy akceptacyjne, które pozwalają odebrać stworzone oprogramowanie lub ich fragment przez osoby odpowiedzialne za procesy biznesowe lub klienta końcowego. Pozwalają one w prosty sposób określić dany ekran lub funkcjonalność jest zgodna z oczekiwaniami wszystkich odbiorców oprogramowania.

Testy akceptacyjne powinny uwzględniać np. za ISTBQ:

  • Wymagania użytkowników końcowych
  • Wymagania systemowe
  • Przypadki użycia
  • Procesy biznesowe

Przykłady testów akceptacyjnych UAT:

  • Testy akceptacyjne przez użytkownika wewnętrznego – czy product spełnia wymagania
  • Testy akceptacyjne przez klienta (CAT – Customer Acceptance Test) – czy oprogramowanie spełnia wymagania klienta
  • Testy Alfa – testy wewnętrzne deweloperów np. u wykonawcy
  • Testy Beta – testy poza zespołem wytwarzającym testy np. wśród użytkowników końcowych, itd.
  • Testy zgodności z podpisaną umową
  • Testy zgodności z prawem (legalności)
  • Testy akceptacyjne produkcyjne – testy na środowisku produkcyjnym, w różnych warunkach np. podczas obciążenia, awarii, problemów z danymi, itd.

W metodyce zwinnej Scrum UAT może być częścią Definition of Done czyli opisem jak ma wyglądać oddany produkt. Testy akceptacyjne UAT są w gestii odpowiedzialności Product Ownera i powinny być częścią sprintów Scruma.

Zobacz naszą ofertę doradztwa w zakresie projektów informatycznych

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Uczenie maszynowe – Machine Learning, Uczenie głębokie – Deep Learning

Pojęcia Uczenie maszynowe (Machine Learning), Głębokie uczenia (Deep Learning) czy Sztuczna Inteligencja (AIArtificial Intelligence) pojawiają się w ostatnich dość często i są grupowane jako technologie automatyzujące, predykcyjne oraz wspierające podejmowanie decyzji. Technologie opierają się na sieciach neuronowych. To one budzą zarówno zachwyt jak i przerażenie.

Machine Learning i sieci neuronowe

Machine Learning jest podstawą obecnych systemów Sztucznej Inteligencji i zajmuje się eksploracją danych (Data Mining). Machine Learning koncentruje się na wyszukiwaniu wzorców danych w dużych zbiorach danych zasilanych przez różne systemy lub procesy. Uczenie maszynowe często z uwagi na potrzebę dużej mocy obliczeniowej korzysta z chmur obliczeniowych (Cloud) lub specjalistycznych superkomputerów.

Deep Learning a ludzie

Deep Learning jako „dziecko” Machine Learningu pozwala skoncentrować się na człowieku i jego zachowaniach. Deep learning potrafi wchodzić w interakcję z człowiekiem, słucha dźwięków, muzyki, głosu, obserwuje np. rozpoznając obrazy. Deep Learning jest bardzo popularny z uwagi na koncentracji na zachowaniach człowieka, co w przypadku obecnych biznesów jest kluczowe.

Gdzie najprościej wykorzystać Machine Learning?

W organizacjach gdzie są spełnione dwa elementy. Są zbierane duże ilości danych (Big Data) oraz, w których innowacja jest w DNA firmy. Duże ilości aktualnych danych pozwalają „uczyć” systemy zachowań np. użytkowników czy linii produkcyjnej. Czym więcej danych na początku tym lepsze wyniki uczenia. Jeśli danych jest mniej systemy muszą za każdym razem kiedy wystąpi nieoczekiwana sytuacja uczyć się, co wydłuża proces wdrożenia i produkcyjnego wykorzystania tychże systemów.

Zobacz naszą ofertę doradztwa technologicznego:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt i Doradztwo technologiczne dla Sklepu Internetowego

Technologiczny audyt sklepu internetowego (B2B, B2C), strony webowej (www) czy platformy SaaS (Software as a Service) jest dopiero wykonywany jak pojawiają się problemy wydajnościowe, problemy z bezpieczeństwem, długiem technologicznym, RODO, zwiększającym się czasem wdrażania zmian na produkcję (time to market), kosztami zmian czy z brakiem chęci programistów do pracy ze starą technologią.

Wybór systemów i platformy eCommerce

Wybór odpowiednich systemów i ich integracje jest kluczowym elementem po analizie procesów eCommerce. Systemy eCommerce i Omnichannel wraz z Retail, Contact Center i Logistyką muszą być ze sobą zintegrowane, gdzie wymiana danych musi być często w czasie rzeczywistym. Nasz biznes eCommerce musi posiadać system ERP (Enterprise Resources Planning), gdzie obsługujemy płatności, rozliczenia, często stocki. Musi posiadać odpowiednio dobrany silnik eCommerce. Są to platformy typu Open Source jak Magento czy Presta Shop, systemy SaaS, gdzie płacimy abonament lub fee od transakcji lub pisane dla nas systemy dedykowane. Do kampanii sprzedażowych i kontaktu z klientem wykorzystamy system CRM (Client Relationship Management) z Marketing Automation. Magazynem możemy zarządzać poprzez systemy WMS (Warehouse management Systems) z opcjami multickingu lub wykorzystać funkcje dropshippingu. Zarządzanie zamówieniami w systemach Omnichannel (eCommerce, Retail, Contact Center) robimy przez systemy OMS (Order Management System), a zarządzanie produktami w systemach klasy PIM (Product Management System).

Wspieramy projekty edukacyjne. M.in. jesteśmy współautorami książek o eCommerce
Wykładamy „Skuteczne Projekty Internetowe” na najlepszych polskich uczelniach np. na „Handlu elektronicznym” Akademii Leona Koźmińskiego

Wydajność sklepu internetowego

Wydajność sklepu internetowego jest kluczowa w sezonie jak i w dniach typu Cyber Monday czy Black Friday. Nasz system powinien być tak przygotowany aby łatwo mógł korzystać z dodatkowych zasobów jak ilość wirtualnych maszyn, przestrzeni dyskowej, baz danych czy przepustowości internetowej. Zwiększone peaki na zasoby są oczywiści dodatkowo kosztowne. Należy tak zaprojektować architekturę systemów np. z wykorzystaniem chmury (cloud) jak Amazon AWS czy Google GCP. Warto wykonać audyt wydajności sklepu internetowego z testami obciążeniowymi, gdzie możemy poznać nasze ograniczenie w postaci ilości równoczesnych użytkowników na naszej platformie. Poznamy także wąskie gardła naszej platformy np. technologia na Frontend, API czy CMS na Backend.

Bezpieczeństwo sklepu internetowego

Bezpieczeństwo sklepu internetowego do aspekty związane z ciągłością biznesową (Business Continuity) i ochroną danych. Dziurawy sklep z długiem technologicznym naraża firmę na ataki internetowe jak DoS (Denial of Service) i przestoje sklepu internetowego jak i na wyciek danych wrażliwych. Oba te aspekty powodują bezpośrednie straty finansowe, utratę reputacji jak i konsekwencje prawne (RODO).

Audyt technologiczny istniejącego sklepu internetowego

Audyt technologiczny sklepu internetowego oprócz audytów eCommerce (UX, UI, ścieżka konwersji, SEO, SEM, itd.) służy ocenie i poprawie problemów występujących w systemie i mających bezpośredni wpływ na przychody (słaba wydajność, błędy na stronie), koszty rozwoju (dług technologiczny, długi time to market nowych funkcjonalności).

UX – User Experience, UI – User interface

Jakość sklepu internetowego to nasze zyski i wizerunek. Sklep powinien mieć dopracowana wartwę graficzną i użyteczną dobrze pasującą do zsegmentowanego klienta. Interfejs powinien być prosty w użytkowaniu i powinien realizować w najprostszy, nierozpraszający sposób cele nasze i naszego klienta.

Zobacz naszą ofertę doradczą:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt Frontend

Frontend wraz z Backendem tworzą aplikację internetową, sklep internetowy, stronę www czy aplikację typu SaaS (Software as a Service).

Dlaczego do frontendu trzeba przyłożyć więcej wagi niż do innych części naszych systemów?

  • Frontend jest naszą wizytówką
  • Frontend zarabia dla nas pieniądze

Dlatego frontend musi mieć dopracowany UX (User interface), UI (User Interface), musi być szybki, wydajny, działający na wielu różnych ekranach (aplikacja mobilna), użyteczny dla użytkownika końcowego. Frontend jest często łączony z Backendem poprzez API (Application Programming Interface), który umożliwia podłączenie backendu do wielu frontendów np. desktop, mobile, itd.

Oferta Audytu Frontend:

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów