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

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

Audyt i doradztwo CMS (Content Management System)

Systemy CMS (Content Management System) służą do zarządzania treścią zarówno w sklepach internetowych, stronach internetowych, stronach mobilnych jak i w platformach SaaS (Software as a Service). Są często nazywane Backend i oddzielone często od Frontendu poprzez np. API (Application Programming Interface).

Systemy CMS spotykane w organizacjach często charakteryzują się dużym długiem technologicznym, który powoduje wiele negatywnych skutków dla pracy zespołu programistów i firmy. Dług technologiczny powoduje:

  • Podatność systemów na ataki zewnętrzne i wewnętrzne spowodowane brakiem aktualizacji bezpieczeństwa i narażenie firmy na wyciek danych (patrz Audyt RODO) i utratę zaufania klientów i reputację firmy. Ataki te np. DDoS (Distributed Denial of Service – patrz Testy Penetracyjne) mogą także spowodować zatrzymanie się stron www czy sklepu internetowego i narazić zyski firmy (Business Continuity).
  • Zmiany funkcjonalne w startych systemach CMS powodują zarówno opór zespołów programistycznych, którzy lubią pracować w nowoczesnych technologiach jak i zwiększone koszty zmian z powodu braku dokumentacji, znajomości kodu przez nowych programistów, brak kompetencji starych technologii itd.

Obecnie spotykane systemy CMS to przeważnie otwarte platformy Open Source lub systemy dedykowane. Popularne platformy CMS to:

  • WordPress ze sklepem internetowym WooCommerce
  • Wix
  • Squarespace
  • Joomla
  • Shopify
  • Drupal
  • Prestashop
  • Blogger
  • Magento
  • Bitrix
  • Typo3
  • Textpattern
  • itd.

Audyt platformy CMS pozwala na zmniejszenie długu technologicznego, określenie i ocena ryzyka używania takiej platformy, wskazuje rekomendacje zmian lub migracji na inną platformę CMS, itd.

Przykładowy zakres audytu CMS:

  • Analiza Core CMS
  • Analiza code review pod kątem zgodności ze standardami wytwórczymi CMS
  • Audyt Architektury systemu CMS
  • Ocena Maintability (łatwość konserwacji)
  • Ocena Violations (naruszenia)
  • Ocena bezpieczeństwa platformy CMS
  • Ocena zastosowania dobrych praktyk dla wdrożeń CMS
  • Audyt API (Application Programming Interface)
  • Audyt Frontend PWA, RWD, mobile, itd.
  • Ocena hostingu dla platformy CMS
  • Ocena dostawcy platformy CMS

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt bezpieczeństwa API

Obecnie większość systemów posiada API (Application Programming Interface) lub integruje się z innymi systemami w inny sposób. API w przypadku systemów firm typu Omnichannel, eCommerce, Retail, banków, aplikacji mobilnych czy platform SaaS (Software as a Service) staje się elementem krytycznymi (bezpieczeństwo i wydajność) i naraża firmę na straty finansowe i utratę reputacji.

Projekt OWASP (Open Web Application Security Project) w 2019 r. zdefiniował następujące najważniejsze ryzyka i ataki związane z API:

  • Broken Object Level Authorization
  • Broken Authentication
  • Excessive Data Exposure
  • Lack of Resources & Rate Limiting
  • Broken Function Level Authorization
  • Mass Assignment
  • Security Misconfiguration
  • Injection
  • Improper Assets Management
  • Insufficient Logging & Monitoring

Ataki na API pozwalają na zdobycie nieautoryzowanego dostępu do danych i systemów łączenie z przejęciem całego dostępu do nich co pozwala na manipulację danymi czy wykasowanie danych. Ataki na API często wykorzystuje się w celu uzyskania dostępu do danych prywatnych celem kradzieży tożsamości (phishing) potrzebnej do zakładania fałszywych kont bankowych i innych usług. Inne przestępstwa to ujawnienie danych wrażliwych lub osób korzystających z danych usług cyfrowych. API staje się także często ofiarą ataków typów DoS (Denial of Services) lub DDoS (Distributed Denial of Services), które powodują braki odpowiedzi API dla innych usług czy użytkowników poprzez ich przeciążenie.

Zobacz naszą ofertę doradczą dla aplikacji, systemów, platform SaaS, sklepów internetowych w zakresie jakości kodu, bezpieczeństwa i wydajności:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Metodyka rozwoju oprogramowania DevOps

Nazwa DevOps pochodzi od słów „development” czyli wytwarzanie oprogramowania i „operations” czyli operacje, eksploatacji systemów. Metodyka DevOps ma połączyć światy wytwarzania, testowania, wdrażania, administrowania i utrzymania, często inne, o innych celach i kompetencjach. Kładzie ona nacisk na komunikację pomiędzy działem utrzymania (administratorami systemów) oraz programistów i testerów oprogramowania.

Włączenie administratorów do rozwoju oprogramowania ma ewidentne zalety:

  • Pozwala na szybsze wdrażanie zmian „na produkcję” dzięki czemu biznes osiąga więcej korzyści np. częstsze wdrożenia zmian w platformie eCommerce (sklep internetowy) lub na platformie SaaS
  • Pozwala na lepsze wykorzystaniu posiadanych zasobów serwerowych i obniżeniu kosztów
  • Zwiększa wydajność i bezpieczeństwo systemów obniżając koszty utrzymania.

Metoda DevOps wykorzystuje szeroko zdalne narzędzia do komunikacji pomiędzy członkami zespołu jak wiki, wideokonferencje, czaty, itd. Dlatego bardzo dobrze sprawdza się w okresie pandemii wirusa corona Covid-19.

Metodyka i inżynierowie DevOps lubą pracować ze zwinnymi metodykami wytwarzania oprogramowania (Agile np. Scrum) czy z środowiskami chmurowymi (np. Microsoft Azure, Google GCP, Amazon AWS).

Metodyka DevOps pozwala na lepsze zarządzania cyklem życia aplikacji (oprogramowania), gdzie już w fazie planowania przewidujemy przyszłość i rozwój systemu w kolejnych latach.

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

IT Governance (Ład Korporacyjny IT)

Ład korporacyjny IT (IT Governanace) czyli uporządkowany zbiór zasad opisujących procesy, procedury i zasady IT panujące w organizacji. Każdy dział IT dzięki ładowi korporacyjnemu posiada dobrze opisane i działające dobre praktyki wspierające biznes. Ład korporacyjny IT zarządza także finansami np. zwrotami z inwestycji, ludźmi jak umowy z podwykonawcami czy zarządzanie zarządza ryzykiem i ciągłością biznesową (Business Continuity).

Przykładem ładu korporacyjnego jest standard COBIT (Control Objectives for Information and Related Technologies), który definiuje procesy zarządzania usługami IT. w Architekturze korporacyjnej IT COBIT często jest łączony z frameworkiem ITIL (Information Technology Infrastructure Library), który definiuje cykl życia poszczególnych usług informatycznych i ich najlepszych praktyk. Inny framework powszechnie stosowany to TOGAF (The Open Group Architecture Framework).

Audyt IT Governance (Audyt ładu korporacyjnego IT) pozwala na:

  • Ocena dojrzałości organizacji IT
  • Sprawdzenie efektywności kosztów procesów IT
  • Sprawdzenie efektywności zarządzania projektami
  • Sprawdzenie efektywności zarządzania ludźmi
  • Sprawdzenie efektywności zarządzania dostawcami
  • Sprawdzenie efektywności wspierania biznesu przez IT
  • Sprawdzenie ryzyka i jego wielkości w systemach IT
  • Sprawdzenie stanów backupów i procedur odtworzenia do awarii
  • Sprawdzenie efektywności polityki bezpieczeństwa i jej wdrożenia
  • Sprawdzenie efektywności funkcjonowania IT na tle innych działów, działań, strategii rozwoju organizacji
  • Ocena długu technologicznego
  • Ocena prawna umów, RODO, audyt licencji

Zobacz także:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt kosztów usług informatycznych i systemów (IT)

Zespół GoTechnologies włożony z byłych managerów IT (CIO) wspiera organizacje w optymalizacji kosztów usług i systemów informatycznych.

W obecnym czasie optymalizacja czy porządkowanie kosztów usług i systemów tele-informatycznych to Must Have w każdej organizacji.

Co należy przeanalizować i benchmarkować?

Szczegóły oferty doradczej w zakresie optymalizacji kosztów usług informatycznych:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Zasady kodowania w aplikacjach

Konwencje / standardy / zasady kodowania są niezbędnym elementem w poprawnym kodowaniu. To jak jazda samochodem z wiedzą o zasadach ruchu drogowego lub bez niego. Zasady kodowania pozwalają na pisanie kodu przez różnych programistów w ten sam sposób, dzięki temu łatwiej można go modyfikować np. poprzez nowych członków zespołu programistycznego. Dodatkowo jeśli korzystamy z zewnętrznych zasobów np. z Software House-u to jasne, z góry ustalone i zaakceptowane przez zespół zasady pomagają we wspólnej pracy. Stosowanie standardów kodowania powoduje też mniejsze starzenie się aplikacji, a dług technologiczny jest mniejszy.

Przykładowe zasady kodowania to:

  • Zasady dotyczące formatowania kodu – dla łatwej czytelności kodu źródłowego np. szerokość wcięć, maksymalna długość wierszy czy liczba pustych miejsc pomiędzy klasami czy funkcjami.
  • Konwencje nazewnicze – zarówno plików, funkcji, klas, zmiennych, modułów, przestrzeni nazw, itd.
  • Komentowanie kodu – bardzo ważny, a często zaniedbywany element zasad dobrego kodowania. Zasady opisywania algorytmów, czy komentowania zmian.
  • Konstrukcje programistyczne – zasady dla danego języka programistycznego.

Zobacz naszą ofertę doradczą w zakresie wytwarzania aplikacji:


Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów

Audyt Code Review (Audyt Inspekcji Kodu)

Code Review to przegląd (inspekcja) kodu napisanego przez programistę przez innego programistę, audytora, senor developera, architekta czy innego członka zespołu, który ma taką przypisaną rolę i kompetencje do przeprowadzenia audytu. Code Review przeprowadzamy przed dodaniem kodu do repozytorium, przed testowaniem.

Czemu ma służyć Code Review?

Code Review pozwala na zwiększenie jakości pisanego kodu poprzez ciągłe jego sprawdzania, udoskonalanie.

Jakie są wady Code Review?

Największą to czas powięcony na sprawdzanie kodu zarówno czas programistów jak i czas oddania kodu, aplikacji czy systemu na produkcję. Dlatego często code review jest wykonywany sporadycznie lub nawet bardzo rzadko.

Jakie są korzyści stosowania stałego Code Review?

  • Łatwość czytania kodu przez innych programistów – czyli łatwiejsze zmiany, łatwiejsze wprowadzenie nowych osób do zespołu, itd.
  • Świetna nauka i wymiana doświadczeń pomiędzy członkami zespołu o różnym doświadczeniu i stażu pracy nad systemem.
  • Wyłapanie błędów lub znajdywanie prostszych metod kodowania.
  • Dojrzałość systemów wymaga najlepszych standardów i praktyk, a zatem Code Review też jest potrzebny.

Audyt Code Review

GoTechnologies wykonuje Audyty oraz Doradztwo Code Review pod kątem najlepszych standardów przeglądu kodu.

Zobacz naszą ofertę na Audyt Aplikacji, Audyt kodu źródłowego, Audyt architektury systemów

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 150-ciu zadowolonych klientów