Outsourcing.

Procesy, ludzie, infrastruktura.

Sprawdź nasze kompetencje

Perspektywa

W dzisiejszej inżynierii programowania, jak nigdy wcześniej, testy zaczęły odgrywać kluczową rolę. Stabilność i funkcjonalność oprogramowania stoi teraz w centrum procesu produkcji oprogramowania. Metodyki, jak np. TDD (Test Driven Development) czy BDD (Behaviour Driven Development) pokazują wyraźnie kierunek dalszego rozwoju inżynierii programowania.

Testy można podzielić na wiele różnych typów, w zależności od ich przeznaczenia, sposobu budowy aplikacji, czasu wykonywania testu czy sposobu wykonywania. W związku z powyższym można sobie wyobrazić test, który z jednej strony będzie testem funkcjonalnym, z drugiej strony częścią testu akceptacyjnego, a dla części producentów oprogramowania będzie też elementem testu regresji.

Nazewnictwo testów determinuje ich konstrukcję i logikę.  Test powinien być nade wszystko narzędziem pozwalającym na stworzenie, utrzymanie i wykorzystanie coraz lepszego jakościowo systemu.

Ujęcia

Testy w ujęciu ze względu na czas wytworzenia testowanych fragmentów aplikacji:

  • Testy manualne w odniesieniu do nowo wytworzonej części systemu - obejmujące zarówno testy funkcjonalne,
    jak i niefunkcjonalne, integracyjne itd. w obszarze aktualnego sprintu/ewolucji/prototypu/iteracji
  • Automatyczne testy regresji w odniesieniu do części systemu wytworzonych w poprzednich sprintach/ewolucjach/prototypach/iteracjach przetestowane w sposób manualny w poprzednich cyklach.


Wykonujemy testy:

  • Funkcjonalne testy blackbox z poziomu interfejsu użytkownika (WWW)
  • Strukturalne testy white-box
  • Testy integracyjne
  • Testy wydajnościowe.

Procedura testowania

Cykliczna procedura testowania wygląda najczęściej w następujący sposób:

  • Tworzenie scenariuszy testowych
  • Dostarczenie usługi Continuous Testing realizowanej za pomocą testów automatycznych
  • Powtórny proces testów automatycznych (testy regresji) po zakończeniu danego fragmentu produkcji oprogramowania
  • Testy manualne w oparciu o zdefiniowanie wcześniej scenariusze testowe
  • Wyznaczenie scenariuszy testowych do automatyzacji
  • Implementacja scenariuszy testowych jako elementu automatycznych testów regresji w kolejnym przebiegu testów.


Platforma Atom

Chcesz wiedzieć więcej? Zadzwoń!

+48 12 423 64 69

Perspektywa

Wirtualizacja komputerów umożliwiła zdecydowanie lepsze wykorzystanie mocy obliczeniowej oraz - w pewnym stopniu - uniezależniła aplikacje i systemy operacyjne od konkretnej złożoności sprzętu. Wirtualizacja ma jednak wady. Podstawową z nich jest strata wydajności na wiele kopii dokładnie tych samych systemów operacyjnych.

Konteneryzacja jest rodzajem wirtualizacji pozbawionym tej wady. Najprościej rzecz ujmując kontener to pojedyncza aplikacja - wraz ze wszystkimi niezbędnymi dla niej elementami (plikami wykonywalnymi, bibliotekami, konfiguracją itd.). Kontener - co do zasady nie zawiera systemu operacyjnego. Co więcej - wtedy kiedy cały system składa się z wielu aplikacji (np. serwera bazodanowego, serwera aplikacyjnego czy serwera WWW) - każda z nich może tworzyć osobny kontener. Takie kontenery można łączyć w większe struktury współpracujące z sobą. W pewnym sensie można więc stworzyć całkowicie wirtualną sieć komputerową, w której np. trzy kontenery (trzy aplikacje) współdziałają tworząc kompletny system.

W chmurze można uruchamiać i pojedyncze kontenery, i całe ich zestawy, a wręcz sieci komputerowe. Jakkolwiek do konteneryzacji używany jest najczęściej system Docker to już tworzenie, uruchamianie i kontrolowanie zestawów takich kontenerów realizuje się przy pomocy systemu Kubernetes. Do mechanizmów tych należy np. Google Kubernetes Engine (GKE) a w związku z tym i Polish Cloud.

Dzięki Docker/Kubernetes możliwe jest w szczególności definiowane wydajnych systemów opartych o logikę mikrousług - realizujących w sposób planowy, bezpieczny i w pełni zarządzalny nawet bardzo skomplikowane procesy.

Zakres

W procesie produkcji oprogramowania, w sposób praktyczny wykorzystujemy konteneryzację (Docker/Kubernates) w pełnym spektrum problemów produkcji oprogramowania: 

  • Continuous Integration
  • Continuous Testing 
  • Continuous Delivery

Dysponujemy potężną wiedzą i praktycznym doświadczeniem w zakresie: 

  • efektywnego tworzenia kontenerów
  • dystrybucji kontenerów
  • definiowania bezpieczeństwa
  • zarządzania zasobami klastra Kubernetes
  • automatyzowania pracy. 


Na bieżąco rozwiązujemy problemy naszych klientów pomagając im tworzyć oraz zarządzać lokalnymi lub chmurowymi klastrami Kubernetes.

Co więcej - dysponujemy również własnymi zasobami serwerowymi, które możemy udostępnić w celu konteneryzacji pojedynczych aplikacji, czy też całych systemów złożonych z setek aplikacji i systemów.


Oferta

Oferujemy:

  • analizę istniejących systemów i aplikacji pod kątem ich konteneryzacji
  • wykonanie konteneryzacji aplikacji i całych systemów w środowisku Docker
  • wykonanie orkiestracji - czyli budowanie zestawów skonteneryzowanych aplikacji, budowanie wirtualnych sieci łączących te aplikacje w celu tworzenia pełnych systemów
  • planowanie i projektowanie środowisk mikrousługowych, opartych o mikrousługi Docker/Kubernetes lub PTR Atom
  • tworzenie, zarządzanie, utrzymanie klastrów Kubernetes zarówno w naszej infrastrukturze, jak i w infrastrukturze klienta, ale też w środowisku typu Google Kubernetes Engine
  • monitoring skonteneryzowanych środowisk
  • definiowanie bezpieczeństwa
  • pełny zakres doradztwa i szkoleń obejmujących technologie Kubernetes/Docker we wszystkich powyższych obszarach.


Platforma Atom

Do wszystkich naszych usług i produktów oferujemy możliwość uruchomienia systemu w infrastrukturze eSourcing, a nasi specjaliści zapewniają w pełni profesjonalną ich obsługę. Dysponujemy dwoma niezależnymi centrami obliczeniowymi, które gwarantują najwyższe standardy w zakresie przetwarzania i ochrony danych i ich transmisji oraz zachowania ciągłości świadczonych usług. Usługi outsourcingowe świadczymy spełniając przepisy znowelizowanej Ustawy o Prawie Bankowym w zakresie outsourcingu. Stosowane przez nas mechanizmy i procedury zapewniają bezawaryjną pracę systemów -  w szczególności dzięki planom zachowania ciągłości świadczonych usług (Continuity Of Business Plan).

Dlaczego warto korzystać z outsourcingu?

  • możliwość skoncentrowania się na podstawowej działalności firmy
  • optymalizacja procesów wewnętrznych, struktury zatrudnienia
  • redukcja kosztów capex i opex
  • dynamiczne skalowanie
  • bezproblemowy upgrade
  • zwiększony poziom bezpieczeństwa rozwiązania
  • większa konkurencyjność i efektywność działań na rynku

Procesy.

Ludzie.

Infrastruktura.

Software as a Service (SaaS)

Kompleksowa usługa polegająca na stworzeniu, wdrożeniu i utrzymaniu aplikacji klienta po stronie eSourcing. Systemy funkcjonują w bardzo wydajnej, zoptymalizowanej i zapewniającej najwyższy poziom bezpieczeństwa infrastrukturze technicznej po stronie eSourcing, a całość procesów w całości zarządzana jest przez naszych specjalistów.

Infrastructure as a Service (IaaS)

Model outsourcingowy opierający się na udostępnieniu klientowi infrastruktury informatycznej - sprzętu oraz dedykowanego oprogramowania. W usłudze IaaS podobnie jak w przypadku SaaS sprzęt umiejscowiony jest w bezpiecznej serwerowni eSourcing, jednak za zarządzanie oprogramowaniem na nim umieszczonym odpowiada klient. W tym modelu przejmujemy usługi związane bezpośrednio z warstwą sprzętową takie, jak monitoring urządzeń czy backupy.

Platform as a Service (PaaS)

Usługa polegająca na udostępnieniu przez eSourcing w pełni funkcjonalnej platformy sprzętowej i systemowej służącej obsłudze aplikacji klienta. Dodatkowo w ramach usługi PaaS eSourcing zapewnia dobierany do potrzeb pakiet usług utrzymaniowych i administracyjnych, jak również w razie potrzeby odzyskiwanie utraconych danych.

skontaktuj się z nami

Masz pytania?

Napisz do nas: info@esourcing.pl

Realizując usługi outsourcingowe spełniamy najwyższe wymagania stawiane tego typu modelom współpracy:

  • Nowoczesna serwerownia wyposażona w najnowsze systemy kontroli dostępu (w tym oparte o technologie biometryczne,  monitoring wideo, redundatne systemy klimatyzacyjne, profesjonalne systemy gaśnicze, zasilanie awaryjne oraz inne zabezpieczenia na poziomie informatycznym)
  • DRC- udostępniamy zapasowe centrum przetwarzania danych funkcjonujące w trybie 24/7, które może funkcjonować jako lokalizacja awaryjna w trybie on-line
  • Łącza zapasowe- w przypadku wystąpienia awarii łącza podstawowego uruchamiane jest łącze zapasowe o odpowiednich parametrach
  • COB- stosujemy wewnętrzne procedury zapewniające bezawaryjną pracę systemów – w szczególności dysponujemy odpowiednimi planami zachowania ciągłości, zarówno w odniesieniu do całości procesów klienta, jak i w odniesieniu do konkretnej usługi/systemu

Świadczone przez nas usługi kilkakrotnie w ciągu roku przechodzą pozytywnie przez audyty przeprowadzane przez naszych klientów.

  • zaangażowany zespół
  • dedykowane rozwiązania zawsze na czas
  • pełne oddanie przy wdrożeniu
  • dostępność przez cały okres współpracy
Anastazja Jończy Business Specialist

Więcej od eSourcing

Wyszukaj.