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

Business Continuity Plan – zachowanie ciągłości biznesowej

BCP Plan (Business Continuity Plan) jest planem zachowania ciągłości biznesowej przygotowanym dla głównych procesów biznesowych z uwzględnieniem realnie mogących wystąpić ryzyk i przygotowanie scenariuszy minimalizacji tych scenariuszy.

Ryzyka biznesowe, które powszechnie występują w otoczeniu biznesowym i mają wpływ na procesy biznesowe:

  • Awarie Data Center
  • Awarie internetu
  • Awarie serwerów
  • Brak zasilania
  • Pożary
  • Sabotaże
  • Kradzież danych
  • itd.

Proces przygotowania planu BCP

Etap 1 – Przygotowanie planu BCP

  • Analiza procesów biznesowych i ich wpływ na prowadzenie biznesu, identyfikacja corowych procesów
  • Analiza ryzyk biznesowych, ich kategoryzacja, prawdopodobieństwo wystąpienia
  • Przygotowanie scenariuszy eliminujących lub ograniczających skutki wystąpienia ryzyka
  • Identyfikacja słabych stron i braku zabezpieczeń dla wystąpienia danego ryzyka
  • Przygotowanie Planu BCP

Etap 2 – Wdrożenie planu BCP

  • Przygotowanie harmonogramu wdrożenia planu BCP
  • Wyznaczenie osób odpowiedzialnych za wdrożenie planu BCP
  • Wdrożenie planu BCP
  • Szkolenia
  • Testowanie poprawności działania procedur BCP

Etap 3 – Audyt Business Continuity

  • Audyt poprawności wdrożenia i założeń planu BCP
  • Rekomendacje zmian w obszarze BCP

Disaster Recovery Plan i Backup Plan

Strategia backupów jest jedną z ważniejszych elementów zabezpieczenia danych przed ich utratą. Disaster Recovery Plan jest planem jak najszybszego przywrócenia usług czy systemów informatycznych po wystąpieniu awarii. Typy awarii są zdefiniowane w Business Continuty Plan jako ryzyka i skategoryzowane od realności ich wystąpienia.

Zarządzanie ryzykiem (Risk Management)

Zarządzanie ryzykiem jest jednym z ważniejszych elementów funkcjonowania zarówno nowoczesnego biznesu jak i IT, często nazywane ERM (Enterprise Management System). W obszarze IT ryzyka definiuje się w obszarach system/aplikacje, projekty, operacje i świadczenie usług. Jednymi z elementów zarządzania ryzykami są strategia bezpieczeństwa (polityka bezpieczeństwa), polityka Disaster Recovery, polityka Backupów czy polityka ochrony danych Data Loss Protection.

Zobacz także:

Jeśli potrzebujesz wsparcia w zabezpieczeniu firmy na wypadek wystąpienia ryzyk, audytu polityki bezpieczeństwa, chcesz zminimalizować dług technologiczny systemów czy architektury, itd. to zapraszamy do kontaktu.

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

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

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

Audyt Magento

Audyt Magento 1x i 2x jest audytem technologicznym sklepu internetowego analizującym stan platformy, ilość i jakość zmian, oceniający dług technologiczny, bezpieczeństwo oraz wydajność. GoTechnologies specjalizuje w technologii m.in. dla branży eCommerce.

Jesteśmy m.in. współautorem książki Technologia w eCommerce.

Przykładowy zakres Audytu Magento (Audyt sklepu internetowego):

  • Analiza Magento Core
  • Analiza code review (jakość kodu) pod kątem zgodności ze standardami wytwórczymi Magento
  • Audyt Architektury Magento
  • Ocena Maintability (łatwość konserwacji)
  • Ocena Violations (naruszenia)
  • Ocena bezpieczeństwa platformy Magento m.in. na ataki DDoS (Distributed Denial of Service) i wycieki danych
  • Ocena migracji danych z Magento 1.x do Magento 2.x
  • Ocena zastosowania dobrych praktyk dla wdrożeń Magento
  • Audyt API (Application Programming Interface)
  • Audyt PWA (Progressive Web Application)
  • Ocena hostingu Magento
  • Ocena dostawcy Magento
  • Ocena Długu technologicznego

Podsumowaniem jest raport z oceną stanu platformy Magento. Przykładowy raport z Audytu Magento zawiera:

  • Ocena Backend – Silnik Magento, code review, lista błędów – rekomendacje zmian
  • Ocena Frontend – PWA, RWD, itd. ocena prędkości ładowania się stron, ocena kodu i lista błędów – rekomendacje zmian.

Zobacz więcej oferty doradztwa technologicznego dla eCommerce i Omnichannel:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Architektura systemów eCommerce

GoTechnologies specjalizuje się doradztwie dla eCommerce i Retail. Naszymi klientami są największe firmy eCommerce. Wspieramy organizacje w następujących obszarach:

  • Audyt i doradztwo w rozwoju systemów (eCommerce, WMS, BI, szyny danych, CRM, ERP, PIM, Retail, Mobile, marketing Automation, integracje, itd.)
  • Audyty i doradztwo Frontend i Backend.
  • Audyty wydajności systemu np. sklepu internetowego
  • Audyty eCommerce sklepów internetowych (UX, UI, ścieżka konwersji, SEO, SEM)
  • Ocenie długu technologicznego w systemach eCommerce
  • Audyt kodu źródłowego
  • Audycie procesów eCommerce oraz procesów logistyczno-magazynowych (np. projektowaliśmy procesy np. dla magazynów 12 tys m2).
  • Audyt lub wybór dostawców np. Software House

Przykładowe systemy, które audytujemy (pełna lista):

Zobacz także naszą ofertę doradczą w zakresie procesów i systemów eCommerce, Retail, Logistyki i Omnichannel:

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów

Audyt wydajności, Testy obciążeniowe, Testy wydajności

Black Friday już za nami, przed nami Cyber Monday oraz grudniowe szaleństwo zakupowe. Czy Twój sklep internetowy, platforma lub system jest na to gotowy?

Testy obciążeniowe (ang. loading test) lub testy przeciążeniowe (ang. stress test) to symulacja określonych poziomów obciążenia celem zbadania zachowania się i reakcji poszczególnych elementów systemów na zadane obciążenie. Testom poddane są takie elementy jak aplikacja, bazy danych, serwery, komunikacja (internet, sieć) czy inna infrastruktura sieciowa np. load balancery.

Rodzaje testów wydajności:

  • Testy obciążeniowe – testy generujące dodatkowy, z góry założony poziom obciążenia, np. założony przez projektantów jako dopuszczalny.
  • Testy przeciążeniowe – testy pozwalające na analizę sytuacji przekroczenia dopuszczalnych poziomów obciążenia i analizy zachowania się sieci, serwerów, baz danych i aplikacji.
  • Testy normalnych warunków pracy – testy analizujące czasy czy odpowiedzi w normalnych warunkach biznesowych oraz aktualny stan wydajności zarówno aplikacji jak i serwerów.

Rezultaty testów wydajnościowych:

  • wykrycie wąskich gardeł dla zadanego obciążenia
  • wykrycie błędów w systemach czy architekturze

Zobacz naszą ofertą na Audyt Aplikacji i Systemów

Zapraszamy do kontaktu:

pfederowicz@gotechnologies.pl

Ponad 200 zadowolonych klientów