Utrzymanie i rozwój systemów IT

Utrzymanie i rozwój systemów IT

W ImpiCode przejmujemy utrzymanie i rozwój systemów dostarczonych przez innych dostawców.

ImpiCode Skontaktuj się z nami. Chętnie porozmawiamy o Twoich potrzebach i przygotujemy ofertę. Napisz do nas >

Aplikacja IBL System do przetwarzania danych bibliograficznych. Sprawdź realizacje >

"ImpiCode managed the project well, adhering to the budget and taking scope changes in stride. The responsive and patient team provided actionable suggestions. Management and executives were communicative and readily available."

~Marlena Sęczek

Researcher Institute of Literary Research

Nasi Klienci

Każdy system informatyczny wymaga nakładu prac, dzielących się na dwie grupy

Utrzymanie (SLA) Prowadzenie stałych prac pielęgnacyjno-serwisowych, zapewniające sprawne i bezawaryjne działanie. Rozwój Rozbudowa lub modyfikacja funkcjonalności systemu.

Utrzymanie (SLA)

Każdy system może od czasu do czasu ulec awarii. Powody mogą być różne, począwszy od błędu w oprogramowaniu, przez awarię sprzętu aż do błędu użytkownika lub ataku hackerskiego.

Bez względu na przyczynę kluczowe jest w pierwszej kolejności szybkie zdiagnozowanie źródła usterki, a następnie jej usunięcie i wprowadzenie mechanizmów minimalizujących szanse na jej wystąpienie w przyszłości.

Systemy objęte naszym SLA podlegają ciągłemu monitorowaniu prowadzonemu przez dedykowanego specjalistę, który w krótkim czasie może przystąpić do działania i przywrócić prawidłowe funkcjonowanie systemu.

Rozwój

Większość systemów IT wymaga od czasu do czasu wprowadzenia zmian w ich działaniu. Czasem jest to niewielka zmiana, niekiedy stworzenie całkiem nowej rozległej funkcjonalności.

W każdym z tych przypadków niezbędny jest dostęp do programisty, który dogłębnie zna i rozumie działanie systemu oraz potrafi efektywnie wprowadzać wszelkie wymagane zmiany.

ImpiCode zapewnia usługę rozwoju systemów stworzonych w różnorodnych technologiach. Posiadamy również rzadką umiejętność przejmowania rozwoju systemów od innych wykonawców.

Utrzymanie i rozwój systemów innych dostawców

Dość unikalną usługą świadczoną przez ImpiCode jest przejmowanie utrzymania i rozwoju już istniejących systemów informatycznych. Wzięcie na siebie odpowiedzialności za oprogramowanie stworzone przez innego dostawcę wymaga szczególnych kompetencji technicznych (i nie tylko).

Przejęcie

W ImpiCode mamy perfekcyjnie opracowaną metodykę przejmowania cudzych projektów, obejmującą:

doradztwo w zakresie komunikacji z oryginalnym dostawcą,

weryfikację kompletności i aktualności dostarczonego kodu źródłowego,

odtworzenie brakujących fragmentów kodu źródłowego, weryfikację i ewentualne odtworzenie bądź utworzenie procedur instalacyjnych i konfiguracyjnych,

uruchomienie środowiska testowego,

wdrożenie rozwiązań zapewniających kontrolę wersji i zarządzanie rozwojem.

Przejęcie systemu trwa zwykle kilka do kilkunastu dni. Bezpośrednio po zakończeniu przejęcia możemy rozpoczynać prace rozwojowe, natomiast w ciągu kilku kolejnych tygodni jesteśmy gotowi do objęcia systemu opieką SLA.

Utrzymanie starszych technologii

Czasami w firmach istnieją stare aplikacje, których koszt przepisania jest zbyt duży, a są one nadal używane. Jeżeli nie możesz znaleźć fachowców, którzy podjęliby się zadania wsparcia takiego oprogramowania to dobrze trafiłeś.

Pomagamy również w wycenie i migracji takich aplikacji na nowe bardziej elastyczne i tańsze w utrzymaniu technologie.

Przykłady starszych technologii

Visual Basic

Pascal/Delphi

Starsze wersje .NET

Cobol

Objective C

Perl

PeopleSoft

Często w firmach zdarza się, że zespół programistów użył do stworzenia oprogramowania niszowej technologii lub mało znanego języka programowania z sobie tylko znanych względów. Taka decyzja kończy się niestety często tym, że po zmianach w zespole nie ma już kompetencji do utrzymania takiego oprogramowania. Przykładem są takie języki jak Lisp, Haskell, Clojure, Kotlin. ImpiCode zajmuje się utrzymaniem takiego oprogramowania. Pomaga także w migracji systemów do technologii łatwiejszych w utrzymaniu.

Indywidualna wycena

Ceny naszych usług zależą od indywidualnych czynników: technologii, zaangażowania godzinowego w projekt. Dlatego zapraszamy do kontaktu z nami w sprawie wyceny opieki informatycznej.

Jeśli masz problem z utrzymaniem lub rozwojem systemu innego dostawcy, z pewnością będziemy mogli Ci pomóc. Skontaktuj się z nami za pomocą formularza kontaktowego. Przejdź do formularza >

Zapraszamy do zapoznania się z naszymi artykułami

Jak budować środowisko IT dedykowane dla biznesu

Środowisko IT dedykowane dla biznesu powinno spełniać wymagania w zakresie wydajności działania, elastyczności rozbudowy oraz bezpieczeństwa i minimalizacji ryzyka utraty ciągłości pracy systemów, takich jak SQL, aplikacje czy serwisy produkcyjne. VECTOR SOLUTIONS wspiera realizacje projektów, które zapewniają te funkcjonalności infrastruktury.

Dla wielu firm, w których RPO i RTO są kluczowe dla utrzymania ciągłości działania, istotne jest, by zbudować środowisko IT o dużej dostępności i wydajności. Czego dotyczą powyższe wskaźniki?

RPO (Recovery point objective) – czas bez dostępu do kluczowych usług IT, który nie spowoduje znaczących strat w biznesie.

RTO (Recovery time objective) – maksymalny czas, w jaki organizacja po awarii przywraca kluczowe systemy/usługi do prawidłowego działania.

W sektorze medycznym krytyczną kwestią może być dostęp do aplikacji laboratoryjnych, radiologicznych lub systemu ERP dla szpitala pracującego w trybie 24/7. Zaś w firmach produkcyjnych są to chociażby systemy CRM, ERP czy SQL.

Rozwiązania gwarantujące HA (High Availability), zarówno w ujęciu sprzętowym, jak i w zakresie oprogramowania, stanowią sposób, by środowisko IR działało wydajne, efektywnie i spełniało swoją rolę w organizacji. W każdej z koncepcji kluczowymi elementami takiego środowiska, niezależnie od jego wielkości, będą: host, macierz dyskowa (Storage) oraz przełącznik (Switch).

Legenda

Fabric – środowisko produkcyjne klienta.

– środowisko produkcyjne klienta. Fabric Management – element do zarządzana środowiskiem produkcyjnym.

– element do zarządzana środowiskiem produkcyjnym. Host ( Wirtualizator) – oprogramowanie stosowane do wirtualizacji fizycznych maszyn. Dzięki niemu można uruchamiać różne systemy operacyjne bez powiązania z fizycznym sprzętem. Niezbędny do stworzenia środowiska wirtualnego. N+1 hostów pozwala na zbudowanie HA (wysokiej dostępności) w środowisku klienta.

( – oprogramowanie stosowane do wirtualizacji fizycznych maszyn. Dzięki niemu można uruchamiać różne systemy operacyjne bez powiązania z fizycznym sprzętem. Niezbędny do stworzenia środowiska wirtualnego. hostów pozwala na zbudowanie HA (wysokiej dostępności) w środowisku klienta. Macierz dyskowa – urządzenie zawierające zbiór od kilku do kilkuset dysków twardych, podstawowy element pamięci masowych. W zaproponowanych poniżej rozwiązaniach, macierz dyskowa współdzieli zasoby między poszczególne hosty. W przypadku awarii jednego z serwerów w pozostałych zasoby macierzy są nadal dostępne, dzięki czemu zostaje zachowana ciągłość pracy w środowisku klienta.

urządzenie zawierające zbiór od kilku do kilkuset dysków twardych, podstawowy element pamięci masowych. W zaproponowanych poniżej rozwiązaniach, macierz dyskowa współdzieli zasoby między poszczególne hosty. W przypadku awarii jednego z serwerów w pozostałych zasoby macierzy są nadal dostępne, dzięki czemu zostaje zachowana ciągłość pracy w środowisku klienta. Przełącznik Sieciowy (switch) – urządzenie łączące segmenty sieci komputerowej, pracujące głównie w warstwie drugiej modelu ISO/OSI.

– urządzenie łączące segmenty sieci komputerowej, pracujące głównie w warstwie drugiej modelu ISO/OSI. Serwer kopii – Serwer Backup (kopia bezpieczeństwa), który służy do otworzenia np. zawartości dysku w przypadku jego utraty lub uszkodzenia.

– Serwer Backup (kopia bezpieczeństwa), który służy do otworzenia np. zawartości dysku w przypadku jego utraty lub uszkodzenia. Najlepsze praktyki (Best Practice) – zbiór zaleceń, które na podstawie doświadczeń innych osób i firm, wskazują najlepszy sposób postępowania.

– zbiór zaleceń, które na podstawie doświadczeń innych osób i firm, wskazują najlepszy sposób postępowania. HA – High Availability (Wysoka Dostepność) – to zapewnienie nieprzerwanej pracy urządzeń i systemów na potrzeby środowiska produkcyjnego w przedsiębiorstwie.

Dostępność Czas niedostępności w ciągu miesiąca 95% 36 godzin (2160 minut) 99% 7 godzin (432 minuty) 99,5% 3,5 godziny (216 minut) 99,9% 43 minuty i 12 sekund 99,99% 4 minuty i 19 sekund 99,999% 25 sekund

SPoF (Single point of Failure) – pojedynczy dowolny pojedynczy element środowiska, którego awaria może powodować niedostępność danych lub aplikacji.

Koncepcja 1 środowiska IT (MSP High Availability)

Rozwiązanie dla małych i średnich firm, w którym został uwzględniony mechanizm zapewnienia wysokiej dostępności (High Availability – HA). Zmniejsza to ryzyko awarii (przestoju) środowiska IT u Klienta oraz zapewnia ciągłość pracy kluczowych elementów infrastruktury. Całe środowisko jest wysoce skalowalne. Z łatwością można dokonać jego rozbudowy o dodatkowe komponenty związane np. z oprogramowaniem (zmiana modelu licencjonowania) lub hardware.

Niezbędne do wdrożenia tej koncepcji jest odpowiednie zaplecze sprzętowe – hosty i macierze. Hosty pozwalają zbudować środowisko wirtualne u Klienta, co umożliwia uruchamianie różnych systemów operacyjnych bez powiązania z fizycznym sprzętem. Z kolei macierz dyskowa dzieli posiadane zasoby pomiędzy poszczególne hosty.

Koncepcja 2 budowy środowiska IT (MSP High Availability + Backup Serwer)

Rozwiązanie dla małych i średnich firm, które oprócz mechanizmu HA, uwzględnia również serwer backup, czyli tzw. serwer kopii zapasowej. Dedykowany system backupowy stanowi dodatkowe zabezpieczenie w razie awarii. W łatwy sposób pozwala odzyskać utracone zasoby ze środowiska klienta, takie jak bazy danych, wirtualne serwery, obiekty Active directory (grupy kont, konta użytkowników, jednostki organizacyjne, skrzynki Exchange nawet do poziomu poszczególnych folderów czy plików). Całe środowisko jest wysoce skalowalne. Z łatwością można dokonać rozbudowy o dodatkowe komponenty związane np. z oprogramowaniem (zmiana modelu licencjonowania) lub hardware.

Koncepcja 3 budowy środowiska IT (SOL FM – Solution with Fabric Management)

Najbardziej zaawansowane rozwiązanie, polecane dla średnich i dużych przedsiębiorstw. Najważniejszym jego elementem, w porównaniu do dwóch wcześniejszych koncepcji, jest odizolowana część tzw. Fabric Management. W niej znajduje się cała polityka bezpieczeństwa, narzędzia do monitorowania i zarządzania środowiskiem oraz backup serwer. W części produkcyjnej znajduje się zaś cała infrastruktura firmy, jak np. aplikacje, serwisy, bazy danych itp.

Z biznesowego punktu widzenia taka implementacja jest idealnym rozwiązaniem dla firm, które muszą zachować wyskoki poziom SLA oraz różnorodność w polityce bezpieczeństwa w zależności od uprawnień pracowników. Modelowym odbiorcą tego rozwiązania jest organizacja posiadająca aplikacje o krytycznym znaczeniu biznesowym oraz co najmniej 100 pracowników z ciągłym dostępem do systemów IT. Rozwiązanie to znajdzie zastosowanie m.in. w szpitalach, placówkach akademickich, urzędach lub firmach, gdzie ciągłość pracy musi być zachowana na najwyższym SLA.

Tworzymy dedykowane środowisko IT dla biznesu

Powyższe koncepcje stanowią tzw. „helicopter view” w zakresie tworzenia środowiska IT dla biznesu, a szczegóły projektu zawsze zależeć będą od specyfiki działalności danego podmiotu. W zależności od rodzaju działalności danej firmy, mają zastosowania różne modele licencjonowania lub doboru oprogramowania dla środowiska IT. W przypadku hardware (sprzętu) szczególnie ważnym aspektem jest jego skalowalność i dopasowanie do wymagań klienta, dlatego konieczna jest dokładna analiza, by dobrać rozwiązanie adekwatne do biznesowego zapotrzebowania.

VECTOR SOLUTIONS posiada wieloletnie doświadczenie w tworzeniu rozwiązań technologicznych. Nasze kompetencje pozwalają kompleksowo wspierać klientów w budowie oraz rozwoju optymalnego środowiska IT dedykowanego dla biznesu – od analizy potrzeb, przez zaprojektowanie rozwiązania, jego instalację, wdrożenie i integrację, aż po obsługę post-sales i consulting w zakresie potencjalnego upgread’u rozwiązań w przyszłości. Służymy pomocą i wiedzą na każdym z powyższych etapów działań. W swojej pracy opieramy się na urządzeniach pochodzących od wiodących światowych producentów, co daje gwarancje ich wysokiej jakości i niezawodności.

Umów się na bezpłatną konsultację w zakresie budowy środowiska IT

Chcesz poznać szczegóły poszczególnych rozwiązań? Jesteś zainteresowany ofertą? Skontaktuj się z nami poprzez poniższy baner, umów się na konsultację, a my z przyjemnością udzielimy dodatkowych informacji.

Software maintenance – dlaczego jest tak ważne i na czym polega?

Twoje oprogramowanie jest wreszcie gotowe do pracy. Ale to nie znaczy, że zadanie zostało zakończone raz na zawsze.

Oprogramowanie jest żywym organizmem i wymaga regularnej konserwacji. Im więcej użytkowników korzysta z Twojego oprogramowania, tym więcej pojawia się pomysłów na możliwe ulepszenia lub wprowadzenie nowych funkcji. Błędy wymagają naprawy, a wydajność powinna być stale optymalizowana, ponieważ w miarę upływu czasu przechowywanych jest coraz więcej danych. Wszystko to wchodzi w zakres procesu software maintenance, czyli w wolnym tłumaczeniu konserwacji oprogramowania. Przyjrzyjmy się bliżej, jakie jeszcze działania obejmuje ten proces i jak właściwie wygląda.

Co wchodzi w zakres software maintenance?

Wbrew powszechnemu przekonaniu, software maintenance to o wiele więcej niż tylko usuwanie błędów. Proces ten obejmuje także inne obszary i działania, które pozwalają na utrzymanie bezpieczeństwa, stabilności i niezawodności oprogramowania. Należą do nich:

Zapewnienie dostępności oprogramowania

Każda aplikacja jest hostowana w jakimś środowisku. Zazwyczaj środowisko to jest dość złożone i zależne od różnych czynników zewnętrznych. Jedna usterka może spowodować reakcję łańcuchową, która wywoła problemy z dostępnością oprogramowania. Zapobieganie takim problemom i rozwiązywanie ich jest częścią procesu software maintenance.

Aktualizowanie infrastruktury

Niektóre technologie z czasem stają się przestarzałe i przestają być obsługiwane, podczas gdy inne rozwijają się i powstają ich coraz nowsze wersje. Twórcy regularnie publikują poprawki systemowe, które mają za zadanie wyeliminowanie błędów, redukcję poważnych zagrożeń i optymalizację wydajności. Jednym z zadań związanych z software maintenance jest śledzenie aktualizacji rozwiązań technologicznych i ich modernizacja.

Natychmiastowa naprawa błędów

Aplikacje są zazwyczaj szczegółowo testowane przed wydaniem. Zawsze jednak istnieje możliwość przeoczenia przez testerów skrajnych przypadków, które wystąpią tylko w bardzo rzadkich sytuacjach. Jeśli błąd tego rodzaju pojawi się podczas działania aplikacji, należy go natychmiast naprawić.

Przewidywanie i usuwanie ryzyka

Część procesu software maintenance obejmuje usuwanie nagłych, nieprzewidzianych problemów. Drugą częścią natomiast jest zapobieganie ich powstawaniu oraz usuwanie potencjalnego ryzyka poprzez uważne monitorowanie pracy aplikacji oraz powiązanych z nią usług czy środowiska.

Dla przykładu: jeśli używana przez nas wersja frameworka przestanie być obsługiwana, może to spowodować problemy w działaniu aplikacji. Konieczne jest więc zaktualizowanie jej do najnowszej wersji. Przewidywanie zagrożeń i działanie z wyprzedzeniem to jedna z podstawowych zasad software maintenance.

Optymalizacja oprogramowania pod kątem wzrostu

Aplikacje są zwykle wypuszczane na rynek w formie MVP, których zadaniem jest spełniać podstawowe cele biznesowe. W miarę wzrostu popularności są następnie dalej rozwijane w celu zaspokojenia rosnących potrzeb użytkowników. Jednym z obszarów software maintenance jest upewnienie się, że aplikacja jest zoptymalizowana do obsługi zwiększającej się liczby użytkowników i rosnącego wykorzystania danych, a także przewidywanie, w którym miejscu coś może pójść nie tak.

Modyfikowanie oprogramowania

Czasami zakres software maintenance wykracza poza konserwację reaktywną lub nawet proaktywną, taką jak usuwanie błędów i rozwiązywanie problemów. W Spyrosoft wspieramy naszych klientów również poprzez wdrażanie drobnych zmian i usprawnień funkcjonalności w celu dostosowania oprogramowania do zmieniających się potrzeb biznesowych lub czynników zewnętrznych, takich jak choćby nowe wymogi prawne.

Jak wygląda usługa software maintenance?

Istnieją różne poziomy usługi software maintenance, z których każdy obejmuje inny zakres działań. Często poziomy te nakładają się na siebie, dzięki czemu możesz wybrać taki, który najlepiej odpowiada Twoim potrzebom.

Jeśli nie masz zasobów pozwalających na software maintenance wewnątrz firmy, możesz wybrać usługę kompleksową i zlecić wszystkie związane z tym czynności zewnętrznemu podmiotowi. Możesz również zdecydować się na outsourcing tylko części procesu, na przykład utrzymania infrastruktury lub modyfikacji kodu. Wszystko zależy od twoich preferencji.

Poza tym, istnieją różne modele usług software maintenance. Możesz wybrać model godzinowy i mieć dostęp do wsparcia inżynierów przez np. 100 godzin miesięcznie. W tym czasie specjaliści będą zajmować się podstawowymi działaniami z zakresu oprogramowania, uzgodnionymi w ramach umowy SLA. Możesz też zdecydować się na rozwiązanie dopasowane indywidualnie do potrzeb Twojej firmy, z dedykowanym zespołem inżynierów, którzy będą zarządzać różnymi zadaniami z zakresu software maintenance i innymi zadaniami programistycznymi.

Dlaczego warto zdecydować się na outsourcing usług związanych z software maintenance?

Software maintenance często staje się zaniedbanym elementem w cyklu życia software'u - wewnętrzni programiści nie mają wystarczająco dużo czasu na zadania konserwacyjne, ponieważ są angażowani w nowe projekty. Należy jednak pamiętać, że nieregularna konserwacja może kosztować Twoją firmę nie tylko pieniądze, ale także utratę reputacji w przypadku, gdy awaria aplikacji spowoduje poważne problemy dla użytkowników. Ponieważ stawka jest wysoka, jeśli Twoje wewnętrzne zasoby są ograniczone warto zlecić software maintenance zewnętrznemu podmiotowi.

Jedną z największych zalet korzystania z usługi utrzymania oprogramowania jest gwarancja spokoju. Wiesz, że zespół wykwalifikowanych ekspertów jest zawsze do dyspozycji, aby natychmiast zareagować na wystąpienie ewentualnych błędów lub rozwiązać problemy z dostępnością aplikacji. Można to porównać do ubezpieczenia domu, z tą różnicą, że w tej sytuacji zamiast otrzymywać odszkodowanie za zniszczone mienie, zapobiegasz powstawaniu szkód.

Jeśli zastanawiasz się nad skorzystaniem z profesjonalnych usług software maintenance, sprawdź naszą ofertę Managed Services, która obejmuje także ten zakres działań >>

Jarosław Kułak
Jarosław Kułak

Leave a Comment