{"id":31185,"date":"2023-03-16T15:18:00","date_gmt":"2023-03-16T14:18:00","guid":{"rendered":"https:\/\/nearshore-it.eu\/artykuly\/system-legacy\/"},"modified":"2024-11-07T13:50:19","modified_gmt":"2024-11-07T12:50:19","slug":"system-legacy","status":"publish","type":"post","link":"https:\/\/nearshore-it.eu\/pl\/artykuly\/system-legacy\/","title":{"rendered":"Modernizacja systemu legacy \u2013 od\u00a0czego zacz\u0105\u0107?"},"content":{"rendered":"\n<div class=\"table-of-contents\">\n    <p class=\"title\">Id\u017a do:<\/p>\n    <ol>\n                    <li><a href=\"#Legacy-system,-czyli-system-zastany\">1.  Legacy system, czyli system zastany<\/a><\/li>\n                    <li><a href=\"#Typowe-cechy-system\u00f3w-legacy\">2.  Typowe cechy system\u00f3w legacy<\/a><\/li>\n                    <li><a href=\"#Dlaczego-firmy-nadal-korzystaj\u0105-z-system\u00f3w-legacy?\">3.  Dlaczego firmy nadal korzystaj\u0105 z system\u00f3w legacy?<\/a><\/li>\n                    <li><a href=\"#Wyzwania-zwi\u0105zane-z-modernizacj\u0105-systemu-legacy\">4.  Wyzwania zwi\u0105zane z modernizacj\u0105 systemu legacy<\/a><\/li>\n                    <li><a href=\"#Korzy\u015bci-wynikaj\u0105ce-z-modernizacji-systemu-legacy\">5.  Korzy\u015bci wynikaj\u0105ce z modernizacji systemu legacy<\/a><\/li>\n                    <li><a href=\"#Zanim-zdecydujesz-si\u0119-na-modernizacj\u0119\">6.  Zanim zdecydujesz si\u0119 na modernizacj\u0119<\/a><\/li>\n                    <li><a href=\"#Kiedy-powinno-si\u0119-rozwa\u017cy\u0107-modernizacj\u0119?\">7.  Kiedy powinno si\u0119 rozwa\u017cy\u0107 modernizacj\u0119?<\/a><\/li>\n                    <li><a href=\"#Strategie-modernizacji-system\u00f3w-legacy\">8.  Strategie modernizacji system\u00f3w legacy<\/a><\/li>\n                    <li><a href=\"#Podsumowanie\">9.  Podsumowanie + FAQ<\/a><\/li>\n            <\/ol>\n<\/div>\n\n\n<p>\u25cf system legacy (\u201esystem zastany\u201d) to taki, kt\u00f3rego dzia\u0142 IT nie jest w stanie szybko naprawi\u0107 lub w miar\u0119 potrzeby rozbudowa\u0107<\/p>\n\n\n\n<p>\u25cfutrzymywanie systemu legacy mo\u017ce negatywnie wp\u0142ywa\u0107 na zesp\u00f3\u0142 programistyczny, relacje biznesowe oraz sam\u0105 jako\u015b\u0107 rozwijanego produktu<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Legacy-system,-czyli-system-zastany\">Legacy system, czyli system zastany<\/h2>\n\n\n\n<p>We wst\u0119pie wspomnia\u0142em, \u017ce takie systemy pozostaj\u0105 niezmienione latami. Przyczyny mog\u0105 by\u0107 r\u00f3\u017cne: problemy projektowe, operacyjne, biznesowe lub te\u017c dotycz\u0105ce samej kompatybilno\u015bci projektu czy kwestii integracyjnych.<\/p>\n\n\n\n<p><strong>Legacy system, tzw. \u201esystem zastany\u201d<\/strong>, cz\u0119sto ma bardzo du\u017cy i d\u0142ugotrwa\u0142y wp\u0142yw na spos\u00f3b dzia\u0142ania wielu komponent\u00f3w w organizacji. Jest to spowodowane bardzo du\u017c\u0105 ilo\u015bci\u0105 zale\u017cno\u015bci, kt\u00f3re potrafi\u0105 blokowa\u0107 rozw\u00f3j na wielu p\u0142aszczyznach. Organizacje mog\u0105 utrzymywa\u0107 takie aplikacje, poniewa\u017c <strong>dzia\u0142aj\u0105 \u201ewystarczaj\u0105co dobrze\u201d<\/strong>, lub nie maj\u0105 wi\u0119kszego powodu, aby je zmieni\u0107. Cz\u0119sto te\u017c zwyczajnie brakuje \u015brodk\u00f3w, aby taki system zast\u0105pi\u0107 nowoczesnym rozwi\u0105zaniem.<\/p>\n\n\n\n<p>Decyzja o modernizacji i zast\u0105pieniu systemu legacy nowszym rozwi\u0105zaniem powinna by\u0107 podj\u0119ta z pe\u0142n\u0105 \u015bwiadomo\u015bci\u0105 potencjalnych zagro\u017ce\u0144 i ze z g\u00f3ry za\u0142o\u017conym planem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Typowe-cechy-system\u00f3w-legacy\">Typowe cechy system\u00f3w legacy<\/h2>\n\n\n\n<p>Po czym pozna\u0107, \u017ce mamy do czynienia z systemem legacy? Jest kilka czynnik\u00f3w, kt\u00f3re trzeba wzi\u0105\u0107 pod uwag\u0119:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Wiek systemu<\/strong> \u2013 zwykle liczony w latach. Im starszy system, tym bardziej ro\u015bnie d\u0142ug technologiczny, a wraz z nim mog\u0105 powstawa\u0107 problemy na wielu p\u0142aszczyznach projektu.<\/li>\n\n\n\n<li><strong>Ograniczenie w rozwoju<\/strong> \u2013 gdy d\u0142ugo\u015b\u0107 projektu jest liczona w latach to z ka\u017cdym rokiem rozw\u00f3j systemu legacy staje si\u0119 coraz trudniejszy. W dodatku, je\u015bli organizacja nie prowadzi odpowiedniego spisu funkcjonalno\u015bci projektu i dokumentacji, jest wysoce prawdopodobne, \u017ce wraz z rosn\u0105c\u0105 ilo\u015bci\u0105 kodu dany projekt b\u0119dzie si\u0119 stawa\u0142 coraz trudniejszy do zrozumienia, a tym samym wzro\u015bnie prawdopodobie\u0144stwo pojawienia si\u0119 b\u0142\u0119d\u00f3w.<\/li>\n\n\n\n<li><strong>Rotacja w zespole<\/strong> \u2013 rozwijanie systemu latami niesie ze sob\u0105 ryzyko rotacji w zespole. Zesp\u00f3\u0142, kt\u00f3ry w niezmienionej formie przetrwa\u0142 ze sob\u0105 lata pracy, jest naprawd\u0119 rzadko\u015bci\u0105, szczeg\u00f3lnie na rynku IT. Dlatego, nawet je\u015bli zesp\u00f3\u0142 jest relatywnie ma\u0142y, to prawdopodobnie na przestrzeni lat nad produktem pracowa\u0142a spora liczba programist\u00f3w. Taka rotacja stawia przed programistami konkretne wyzwania zwi\u0105zane z rozwijaniem oprogramowania. Ka\u017cdy programista ma przecie\u017c sw\u00f3j pomys\u0142 na wykonanie danej implementacji. Dlatego \u2013 zaznaczaj\u0105c, \u017ce istniej\u0105 oczywi\u015bcie w projekcie i w ka\u017cdej technologii odpowiednie szablony i wytyczne, do kt\u00f3rych programi\u015bci powinni si\u0119 stosowa\u0107 \u2013 mimo wszystko na przestrzeni lat bardzo ci\u0119\u017cko mie\u0107 pewno\u015b\u0107, \u017ce nowy kod dodany przez programist\u0119 b\u0119dzie trzyma\u0142 si\u0119 zawsze takiego samego stylu jak u poprzednika.<\/li>\n\n\n\n<li> <strong>D\u0142ug technologiczny i starsza technologia<\/strong> \u2013 \u015bwiat IT nie czeka i codziennie si\u0119 rozwija. Wraz z nim technologie. Legacy system, kt\u00f3ry ma swoje lata, z dnia na dzie\u0144 staje si\u0119 coraz bardziej odleg\u0142y od aktualnych technologii, przez co jego komponenty mog\u0105 by\u0107 przestarza\u0142e, gorzej dzia\u0142a\u0107 lub powodowa\u0107 braki w wa\u017cnych obszarach bezpiecze\u0144stwa.<\/li>\n\n\n\n<li><strong>Zniech\u0119caj\u0105ca technologia <\/strong>\u2013 starsza technologia jest mniej atrakcyjna dla programist\u00f3w. Po cz\u0119\u015bci hamuje rozw\u00f3j w zawodzie, dlatego mo\u017ce powodowa\u0107 problemy ze znalezieniem dodatkowej pary r\u0105k do pracy w projekcie.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Dlaczego-firmy-nadal-korzystaj\u0105-z-system\u00f3w-legacy?\">Dlaczego firmy nadal korzystaj\u0105 z system\u00f3w legacy?<\/h2>\n\n\n\n<p>Mo\u017ce zastanawia\u0107, dlaczego pomimo powy\u017cszych minus\u00f3w wiele firm nadal korzysta z system\u00f3w legacy. Najcz\u0119\u015bciej s\u0105 to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ci\u0105g\u0142o\u015b\u0107 dzia\u0142ania <\/strong>\u2013 przede wszystkim legacy system zapewnia ci\u0105g\u0142o\u015b\u0107 dzia\u0142ania. Wykorzystanie starszej technologii, kt\u00f3ra nadal dzia\u0142a, cz\u0119sto przys\u0142ania nam potrzeb\u0119 stworzenia czego\u015b nowego.<\/li>\n\n\n\n<li><strong>Z\u0142o\u017cono\u015b\u0107 przedsi\u0119wzi\u0119cia<\/strong> \u2013 zast\u0105pienie przestarza\u0142ej technologii w d\u0142ugo rozwijanym projekcie jest cz\u0119sto ogromnym przedsi\u0119wzi\u0119ciem, zar\u00f3wno je\u015bli chodzi o kwestie biznesowe, projektowe, jak r\u00f3wnie\u017c finanse i zasoby ludzkie. Cytuj\u0105c popularne w \u015bwiecie IT powiedzenie: \u201eje\u015bli co\u015b dzia\u0142a, lepiej nie rusza\u0107\u201d.<\/li>\n\n\n\n<li><strong>Koszty operacyjne <\/strong>\u2013 wa\u017cnym aspektem przemawiaj\u0105cym za dalszym wykorzystywaniem systemu legacy s\u0105 te\u017c koszty operacyjne. Przej\u015bcie z jednego rodzaju technologii na drugi mo\u017ce generowa\u0107 bardzo du\u017ce wydatki. Cz\u0119sto kalkulacja finansowa pokazuje, \u017ce firmie bardziej op\u0142aca si\u0119 utrzymywa\u0107 nadal starsz\u0105 wersj\u0119 aplikacji, ani\u017celi inwestowa\u0107 du\u017ce pieni\u0105dze w jej przepisywanie, migracje danych i w now\u0105 infrastruktur\u0119 ca\u0142ego projektu. Dlatego firmy bardziej sk\u0142onne s\u0105 do inwestowania w zupe\u0142nie nowe projekty, ni\u017c do decydowania si\u0119 na przepisywanie istniej\u0105cych.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Wyzwania-zwi\u0105zane-z-modernizacj\u0105-systemu-legacy\">Wyzwania zwi\u0105zane z modernizacj\u0105 systemu legacy<\/h2>\n\n\n\n<p>Firma, kt\u00f3ra podejmie decyzj\u0119 o modernizacji, z pewno\u015bci\u0105 b\u0119dzie si\u0119 mierzy\u0107 z takimi wyzwaniami jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kompleksowo\u015b\u0107 <\/strong>\u2013 systemy pisane latami s\u0105 bardzo rozbudowane oraz cz\u0119sto wyst\u0119puje w nich wiele zale\u017cno\u015bci. Wszystko to powoduje trudno\u015bci w zrozumieniu takiego systemu, jak i zarz\u0105dzaniu nim. D\u0142ugo\u015b\u0107 kodu to niejedyny czynnik przes\u0105dzaj\u0105cy o skomplikowaniu produktu. Legacy system zwykle sk\u0142ada si\u0119 z wielu biznesowych cz\u0119\u015bci, kt\u00f3re trudno zrozumie\u0107 bez po\u015bwi\u0119cania im sporej ilo\u015bci czasu.<\/li>\n\n\n\n<li><strong>Integracja i kompatybilno\u015b\u0107, tzn. \u201eIntegration Hell\u201d<\/strong> \u2013 jednym z g\u0142\u00f3wnych problem\u00f3w w otoczeniu programistycznym s\u0105 integracje \u015brodowisk, system\u00f3w, aplikacji czy te\u017c ich komponent\u00f3w. Rzadko kiedy proces integracji jest \u0142atwy i bezproblemowy. Zamiast po\u015bwi\u0119ca\u0107 relatywnie niewiele czasu, programi\u015bci s\u0105 zmuszeni sp\u0119dza\u0107 wiele godzin lub dni na poprawie tych rzeczy.<\/li>\n\n\n\n<li><strong>Migracja danych<\/strong> \u2013 istnieje du\u017ce prawdopodobie\u0144stwo, \u017ce podczas migracji danych ze starego systemu na nowy co\u015b p\u00f3jdzie nie tak. Migracja taka mo\u017ce by\u0107 bardzo czasoch\u0142onna i nale\u017cy si\u0119 przygotowa\u0107, planuj\u0105c wszystko jak najlepiej. W ten spos\u00f3b mo\u017cna wyeliminowa\u0107 potencjalne ryzyko utraty danych.<\/li>\n\n\n\n<li><strong>Kwestie bezpiecze\u0144stwa<\/strong> \u2013 nieodpowiednie zabezpieczenie oprogramowania mo\u017ce by\u0107 jedn\u0105 z g\u0142\u00f3wnych przeszk\u00f3d w modernizacji. Stare protoko\u0142y, sposoby autoryzacji i autentykacji mog\u0105 si\u0119 znacz\u0105co r\u00f3\u017cni\u0107 od nowszych standard\u00f3w zabezpiecze\u0144 system\u00f3w i aplikacji.<\/li>\n\n\n\n<li><strong>Bud\u017cet<\/strong> \u2013 koszt modernizacji systemu legacy mo\u017ce by\u0107 ogromny i nale\u017cy mie\u0107 to na uwadze. Poza samymi wyzwaniami programistycznymi, gdzie pocz\u0105tkiem wydatk\u00f3w jest zainwestowanie w dodatkowe osoby w zespole, a ko\u0144cem zmiana \u015brodowiska programistycznego, mo\u017ce okaza\u0107 si\u0119, \u017ce b\u0119d\u0105 potrzebne dodatkowe fundusze. Na przyk\u0142ad na odpowiednie wyszkolenie pracownik\u00f3w z wykorzystaniem nowego systemu, wymian\u0119 sprz\u0119tu na nowy czy zmiany w kulturze pracy ca\u0142ej firmy (np. je\u015bli planujemy wdro\u017cy\u0107 zwinne metody pracy czy kultur\u0119 <a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/kim-jest-devops-i-jak-wspiera-projekty-it\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/kim-jest-devops-i-jak-wspiera-projekty-it\" rel=\"noreferrer noopener\">DevOps<\/a>).<\/li>\n\n\n\n<li><strong>Brak odpowiednich zasob\u00f3w i wiedzy<\/strong> \u2013 zespo\u0142y decyduj\u0105ce si\u0119 na zast\u0105pienie swojego systemu legacy nowszym mog\u0105 mierzy\u0107 si\u0119 z problemem braku zasob\u00f3w, do\u015bwiadczenia lub wiedzy w zespole. Inicjatywa modernizacji system\u00f3w czy te\u017c aplikacji musi by\u0107 prowadzona przez odpowiednie osoby, z du\u017c\u0105 wiedz\u0105 w krytycznych dla projektu obszarach biznesowych i kompetencjami, kt\u00f3re pozwol\u0105 z sukcesem doprowadzi\u0107 do zast\u0105pienia aplikacji legacy nowsz\u0105 technologi\u0105.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Korzy\u015bci-wynikaj\u0105ce-z-modernizacji-systemu-legacy\">Korzy\u015bci wynikaj\u0105ce z modernizacji systemu legacy<\/h2>\n\n\n\n<p>Firma mo\u017ce wiele zyska\u0107 dzi\u0119ki modernizacji i zast\u0105pieniu takiego d\u0142ugo rozwijanego systemu nowsz\u0105 technologi\u0105. Korzy\u015bci, kt\u00f3re mog\u0105 si\u0119 pojawi\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Lepsza wydajno\u015b\u0107 <\/strong>\u2013 jedn\u0105 z g\u0142\u00f3wnych zauwa\u017calnych zalet powinna by\u0107 zdecydowana poprawa wydajno\u015bci. W por\u00f3wnaniu ze starsz\u0105 wersj\u0105 technologii zmodernizowane oprogramowanie mo\u017ce zarz\u0105dza\u0107 zdecydowanie wi\u0119kszym ruchem i procesami, dzi\u0119ki czemu poprawia si\u0119 User Experience i efektywno\u015b\u0107 dzia\u0142ania aplikacji.<\/li>\n\n\n\n<li><strong>Poprawiona skalowalno\u015b\u0107<\/strong> \u2013 rynek IT bardzo szybko si\u0119 rozwija, dlatego zaspokojenie popytu na nowe funkcjonalno\u015bci dla rozwijanych produkt\u00f3w jest bardzo wa\u017cn\u0105 rzecz\u0105 i jednocze\u015bnie du\u017cym wyzwaniem. Przedsi\u0119wzi\u0119cie zast\u0105pienia systemu legacy nowszym rozwi\u0105zaniem, kt\u00f3re jednocze\u015bnie b\u0119dzie poprawnie zaprojektowane i oparte na dobrych praktykach rozwoju oprogramowania, powinno pom\u00f3c w zwinnym rozwijaniu produktu i zaspokajaniu pojawiaj\u0105cych si\u0119 potrzeb klienta.<\/li>\n\n\n\n<li><strong>Bezpiecze\u0144stwo <\/strong>\u2013 zauwa\u017caln\u0105 zmian\u0105 b\u0119dzie r\u00f3wnie\u017c poprawa bezpiecze\u0144stwa. Starsze systemy by\u0142y projektowane przed wykryciem wielu obecnych zagro\u017ce\u0144 z obszaru cybersecurity. Oznacza to, \u017ce s\u0105 one bardziej podatne na tego typu zagro\u017cenia. Nowsze aplikacje s\u0105 rozwijane w taki spos\u00f3b, \u017ce zagro\u017ceniom przeciwdzia\u0142a si\u0119 ju\u017c na etapie <strong>tworzenia aplikacji, np. z wykorzystaniem DevSecOps (takie podej\u015bcie np. cechuje projekty cloud native<\/strong>). Migracja z systemu legacy na nowsze sprawdzone wcze\u015bniej technologie mo\u017ce da\u0107 gwarancj\u0119, \u017ce wi\u0119kszo\u015b\u0107 wykrytych wcze\u015bniej zagro\u017ce\u0144 jest pokryta odpowiednimi poprawkami zwi\u0119kszaj\u0105cymi bezpiecze\u0144stwo. Dodatkowe wydatki na bezpiecze\u0144stwo rozwijanego produktu r\u00f3wnie\u017c mog\u0105 zosta\u0107 zniwelowane. Poprawnie zaimplementowane najnowsze technologie zmniejszaj\u0105 ryzyko kradzie\u017cy danych, zhakowania systemu i wyrz\u0105dzenia wi\u0119kszych szk\u00f3d.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Zanim-zdecydujesz-si\u0119-na-modernizacj\u0119\">Zanim zdecydujesz si\u0119 na modernizacj\u0119<\/h2>\n\n\n\n<p>Modernizacja systemu legacy jest du\u017cym wyzwaniem, ale jednocze\u015bnie mo\u017ce okaza\u0107 si\u0119 bardzo korzystna dla produktu. Przed rozpocz\u0119ciem modernizacji warto usi\u0105\u015b\u0107 wsp\u00f3lnie z zespo\u0142em do\u015bwiadczonych pracownik\u00f3w i om\u00f3wi\u0107 wszystkie istotne aspekty takiego przedsi\u0119wzi\u0119cia. Do konsultacji warto zaprosi\u0107:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>architekta<\/strong>, kt\u00f3ry nakre\u015bli now\u0105 wizj\u0119 produktu,<\/li>\n\n\n\n<li><strong>analityka finansowego<\/strong>, kt\u00f3ry przedstawi konkretne liczby przemawiaj\u0105ce za tym, \u017ce firmie jednak op\u0142aci si\u0119 zmodernizowa\u0107 system, kt\u00f3rego wola\u0142aby \u201enie rusza\u0107, p\u00f3ki dzia\u0142a\u201d,<\/li>\n\n\n\n<li><strong>konsultant\u00f3w Business Intelligence<\/strong>, kt\u00f3rzy podpowiedz\u0105, jak \u201ewyj\u015b\u0107 z Excela\u201d i zacz\u0105\u0107 korzysta\u0107 z nowoczesnych system\u00f3w bazodanowych i narz\u0119dzi analizy danych,<\/li>\n\n\n\n<li><strong>do\u015bwiadczonych programist\u00f3w<\/strong>, kt\u00f3rzy doradz\u0105 w kontek\u015bcie najnowszych technologii i kompetencji,<\/li>\n\n\n\n<li><strong>project managera<\/strong>, kt\u00f3ry b\u0119dzie trzyma\u0142 r\u0119k\u0119 na pulsie przez ca\u0142y czas trwania modernizacji.<\/li>\n<\/ul>\n\n\n\n<p>Kiedy zapadnie decyzja o zast\u0105pieniu starszego systemu, nale\u017cy si\u0119 upewni\u0107, \u017ce plan dzia\u0142ania jest dla wszystkich jasny i czytelny, ka\u017cdy zna swoje zadania, cele s\u0105 wyznaczone i wiadomo, jakie potencjalne korzy\u015bci mog\u0105 wynika\u0107 z takiej modernizacji dla produktu i firmy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Kiedy-powinno-si\u0119-rozwa\u017cy\u0107-modernizacj\u0119?\">Kiedy powinno si\u0119 rozwa\u017cy\u0107 modernizacj\u0119?<\/h2>\n\n\n\n<p>IT jest jednym z najszybciej rozwijaj\u0105cych si\u0119 rynk\u00f3w na \u015bwiecie. Wed\u0142ug<a href=\"https:\/\/www.gartner.com\/en\/newsroom\/press-releases\/2022-10-19-gartner-forecasts-worldwide-it-spending-to-grow-5-percent-in-2023\" target=\"_blank\" data-type=\"URL\" data-id=\"https:\/\/www.gartner.com\/en\/newsroom\/press-releases\/2022-10-19-gartner-forecasts-worldwide-it-spending-to-grow-5-percent-in-2023\" rel=\"noreferrer noopener\"> prognoz Gartnera<\/a> w 2023 r. wydatki na IT w skali globalnej wynios\u0105 4,6 bilion\u00f3w dolar\u00f3w. To wzrost o 5% w por\u00f3wnaniu z poprzednim rokiem.<\/p>\n\n\n\n<p>Pisanie jak najlepszego i najnowszego oprogramowania odgrywa zatem kluczow\u0105 rol\u0119, je\u015bli zale\u017cy nam na tworzeniu produkt\u00f3w jak najlepszej jako\u015bci. Wraz z szybkim rozwojem technologii ro\u015bnie prawdopodobie\u0144stwo, \u017ce rozwijane produkty wewn\u0105trzfirmowe szybko mog\u0105 sta\u0107 si\u0119 definicj\u0105 systemu legacy. Mo\u017ce to wp\u0142ywa\u0107 negatywnie na rozw\u00f3j firmy, jak i ca\u0142ego biznesu.<\/p>\n\n\n\n<p>Dlatego warto si\u0119 dowiedzie\u0107, kiedy tak naprawd\u0119 powinni\u015bmy my\u015ble\u0107 nad stworzeniem czego\u015b nowego, systemu czy aplikacji, a co za tym idzie \u2013 zaj\u0105\u0107 si\u0119 migracj\u0105 danych i zast\u0105pieniem starszego oprogramowania nowym. Oto kilka kluczowych aspekt\u00f3w, na kt\u00f3re warto zwr\u00f3ci\u0107 uwag\u0119:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Produkt ma ponad 5 lat<\/strong><br>Jednym z najcz\u0119stszych sygna\u0142\u00f3w potrzeby modernizacji jest przestarza\u0142e oprogramowanie. Przyj\u0119\u0142o si\u0119, \u017ce je\u015bli produkt ma za sob\u0105 ponad 5 lat pracy, to prawdopodobnie zawiera w sobie ju\u017c przestarza\u0142y kod. Prowadzi to na przyk\u0142ad do braku wsparcia r\u00f3\u017cnych wtyczek czy zale\u017cno\u015bci, gdzie komponenty dla starszych wersji nie s\u0105 ju\u017c wspierane i rozwijane. W nast\u0119pstwie pojawiaj\u0105 si\u0119 kolejne problemy z wydajno\u015bci\u0105 oprogramowania, bezpiecze\u0144stwem i integracjami.<\/li>\n\n\n\n<li><strong>Brak skalowalno\u015bci<\/strong><br>Warto rozwa\u017cy\u0107 modernizacj\u0119 systemu, je\u015bli zmieniaj\u0105ce si\u0119 wymagania klienta przek\u0142adaj\u0105 si\u0119 na coraz wi\u0119ksz\u0105 liczb\u0119 problem\u00f3w z oprogramowaniem. Stare oprogramowanie, rozwijane latami, prawdopodobnie nie ma ju\u017c odpowiedniej liczby atrybut\u00f3w, aby ud\u017awign\u0105\u0107 rosn\u0105ce potrzeby u\u017cytkownik\u00f3w i pozwoli\u0107 na szybki, a przede wszystkim odpowiedni rozw\u00f3j produktu.<\/li>\n\n\n\n<li><strong>Rosn\u0105ce koszty<\/strong><br>Je\u015bli oka\u017ce si\u0119, \u017ce utrzymywanie starszej technologii staje si\u0119 coraz bardziej kosztowne, prawdopodobnie nadszed\u0142 czas, aby rozwa\u017cy\u0107 jej modernizacj\u0119. Starsze oprogramowanie mo\u017ce wymaga\u0107 bardziej kosztownego sprz\u0119tu ni\u017c nowoczesne rozwi\u0105zania. W dodatku poprawne dzia\u0142anie starszych system\u00f3w cz\u0119sto wymaga interwencji specjalist\u00f3w, a to mo\u017ce generowa\u0107 dodatkowe koszty i by\u0107 bardzo czasoch\u0142onne.<\/li>\n\n\n\n<li><strong>Brak wsparcia<\/strong><br>Jak ju\u017c wcze\u015bniej wspomnia\u0142em, przestarza\u0142y produkt oznacza ryzyko braku wsparcia r\u00f3\u017cnych wykorzystywanych element\u00f3w oprogramowania. Autorzy rozwijaj\u0105 swoje wtyczki do pewnego momentu, zapewniaj\u0105c wsparcie dla okre\u015blonej wersji oprogramowania. Brak takiego wsparcia prowadzi mi\u0119dzy innymi do luk bezpiecze\u0144stwa. Znacznie wyd\u0142u\u017ca si\u0119 tak\u017ce czas tworzenia nowych funkcjonalno\u015bci przez programist\u00f3w.<\/li>\n\n\n\n<li><strong>Blokada rozwoju<\/strong><br>Ka\u017cdy stara si\u0119 maksymalnie wykorzysta\u0107 potencja\u0142 posiadanego produktu. Kiedy jednak dotychczasowe oprogramowanie uniemo\u017cliwia firmie osi\u0105gni\u0119cie za\u0142o\u017conych cel\u00f3w, jest to kolejny sygna\u0142, aby rozwa\u017cy\u0107 temat modernizacji. Dostosowanie si\u0119 do zmieniaj\u0105cych si\u0119 wymog\u00f3w klienta i warunk\u00f3w biznesowych mo\u017ce by\u0107 bardzo utrudnione przez to, \u017ce produkt jest definiowany jako legacy system. Mo\u017ce to prowadzi\u0107 do blokady rozwoju nie tylko produktu, lecz nawet firmy.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Strategie-modernizacji-system\u00f3w-legacy\">Strategie modernizacji system\u00f3w legacy<\/h2>\n\n\n\n<p>Istniej\u0105 sprawdzone praktyki, kt\u00f3re pozwalaj\u0105 zachowa\u0107 przydatno\u015b\u0107 i funkcjonalno\u015b\u0107 system\u00f3w legacy. Najbardziej popularne z nich to:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Replatforming i rehosting<\/strong><\/h3>\n\n\n\n<p>Proces przenoszenia system\u00f3w legacy na nowsze \u015brodowisko. Obejmuje przebudow\u0119 aplikacji lub umieszczenie jej na nowym serwerze. Zmiana taka mo\u017ce poprawi\u0107 wydajno\u015b\u0107 produktu i obni\u017cy\u0107 koszt konserwacji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Refactoring<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/refaktoryzacja-kodu-php-z-rector\/\" data-type=\"URL\">Refactoring <\/a>polega na zag\u0142\u0119bieniu si\u0119 w architektur\u0119 produktu i pr\u00f3bie zast\u0105pienia pewnych jego komponent\u00f3w innym, zazwyczaj lepszym rozwi\u0105zaniem ze strony programistycznej i biznesowej. Obejmuje to na przyk\u0142ad restrukturyzacj\u0119 bazy danych, optymalizacj\u0119 wydajno\u015bci na wielu p\u0142aszczyznach aplikacji i popraw\u0119 bezpiecze\u0144stwa. Dobry refactoring wykonany w miejscach, kt\u00f3re wymaga\u0142y przepisania, jest prawdziw\u0105 ulg\u0105 dla developer\u00f3w, poniewa\u017c w przysz\u0142o\u015bci poprawianie b\u0142\u0119d\u00f3w lub dodawanie nowych funkcjonalno\u015bci dla poszczeg\u00f3lnych cz\u0119\u015bci produktu, kt\u00f3re zosta\u0142y poddane takiej refaktoryzacji, mo\u017ce by\u0107 zdecydowanie prostsze i mniej czasoch\u0142onne.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Reengineering<\/strong><\/h3>\n\n\n\n<p>Najbardziej czasoch\u0142onna i kosztowna procedura. Oznacza rozpocz\u0119cie wszystkiego od zera z wykorzystaniem wsp\u00f3\u0142czesnych technologii w celu odtworzenia systemu i jego zast\u0105pienia. Celem decyzji o reengineeringu powinna by\u0107 mi\u0119dzy innymi poprawa architektury produktu, wydajno\u015bci, bezpiecze\u0144stwa, jak i zmniejszenie koszt\u00f3w utrzymania aplikacji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Service Oriented Architecture (SOA)<\/strong><\/h3>\n\n\n\n<p>Tworzenie oprogramowania przy u\u017cyciu podej\u015bcia SOA obejmuje segmentacj\u0119 du\u017cych cz\u0119\u015bci produktu na mniejsze, niezale\u017cne us\u0142ugi, do kt\u00f3rych mo\u017cna uzyska\u0107 dost\u0119p za po\u015brednictwem sieci. Dzi\u0119ki dzieleniu kodu na mniejsze komponenty i us\u0142ugi \u0142atwiej go rozwija\u0107 i rozwi\u0105zywa\u0107 ewentualne b\u0142\u0119dy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Application Program Interface (API)<\/strong><\/h3>\n\n\n\n<p>Cz\u0119\u015bciowym oraz pomocnym rozwi\u0105zaniem jest zintegrowanie systemu legacy z API wystawionymi przez inne aplikacje. Taka integracja mo\u017ce przyczyni\u0107 si\u0119 do polepszenia skalowalno\u015bci i wydajno\u015bci oprogramowania.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Chmura<\/strong><\/h3>\n\n\n\n<p><a href=\"https:\/\/nearshore-it.eu\/pl\/artykuly\/korzysci-z-przeniesienia-firmy-do-chmury\/\" target=\"_blank\" data-type=\"URL\" rel=\"noreferrer noopener\">Rozwi\u0105zanie chmurowe <\/a>mo\u017ce okaza\u0107 si\u0119 pozytywnym impulsem i zwi\u0119kszy\u0107 mo\u017cliwo\u015bci integracyjne, testowe, jak r\u00f3wnie\u017c poprawi\u0107 jako\u015b\u0107 obs\u0142ugi produktu na wielu p\u0142aszczyznach. Chmura poprawia te\u017c skalowalno\u015b\u0107 i obni\u017ca koszty eksploatacji. Pami\u0119tajmy, \u017ce wbrew obecnym mitom koszty rozwi\u0105zania chmurowego wcale nie musz\u0105 by\u0107 wysokie, a kluczem jest poprawna implementacja (np. dzi\u0119ki wykorzystaniu proces\u00f3w DevOps). Je\u017celi zale\u017cy ci na nowoczesnym i niezawodnym rozwi\u0105zaniu, przeniesienie oprogramowania do chmury mo\u017ce okaza\u0107 si\u0119 jednym z lepszych pomys\u0142\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Podsumowanie\">Podsumowanie<\/h2>\n\n\n\n<p>Modernizacja systemu legacy jest z pewno\u015bci\u0105 bardzo trudnym przedsi\u0119wzi\u0119ciem. Nie\u0142atwo zrezygnowa\u0107 z czego\u015b, co by\u0142o rozwijane latami i linijki programu mo\u017cna liczy\u0107 w tysi\u0105cach. Opr\u00f3cz suchych liczb pojawia si\u0119 te\u017c kwestia skomplikowania biznesowego, a zatem wszystkich proces\u00f3w i koszt\u00f3w, jakie trzeba wzi\u0105\u0107 pod uwag\u0119.<\/p>\n\n\n\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce decyzja o zast\u0105pieniu systemu legacy lub nawet cz\u0119\u015bciowej modernizacji <strong>mo\u017ce okaza\u0107 si\u0119 bardzo dobr\u0105 decyzj\u0105, ale jednocze\u015bnie nie\u015b\u0107 ze sob\u0105 wiele ukrytych zagro\u017ce\u0144.<\/strong> Je\u017celi masz jakiekolwiek w\u0105tpliwo\u015bci, warto skorzysta\u0107 ze wsparcia do\u015bwiadczonych specjalist\u00f3w \u2013 poprawna kalkulacja na wielu p\u0142aszczyznach projektu jest kluczowa, aby zawczasu wyeliminowa\u0107 wszelkie problemy i zagro\u017cenia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">FAQ<\/h3>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1682346246515\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Przyk\u0142ady system\u00f3w legacy w organizacjach<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>\u25cf Oprogramowanie Oracle, IBM i Microsoft \u015bwiadcz\u0105cych us\u0142ugi w zakresie IT by\u0142y na topie rankingu wykonanego przez firm\u0119 u003ca href=u0022https:\/\/www.flexera.com\/u0022 target=u0022_blanku0022 rel=u0022noreferrer noopeneru0022u003eFlexera u003c\/au003ew zakresie posiadania produkt\u00f3w, kt\u00f3re definiuje si\u0119 jako legacy systemu003cbru003e\u25cf Infrastruktura chmury i przestarza\u0142e oprogramowanie w Walmartu003cbru003e\u25cf Projekt NASA Orion Spacecraft<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1682346265413\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Jakie s\u0105 rodzaje system\u00f3w legacy?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>\u25cf u003cstrongu003eSystemy Mainframeu003c\/strongu003e \u2013 du\u017ce scentralizowane komputery zwane \u201eMainframe\u201d by\u0142y u\u017cywane w latach 60. i 70. XX wieku. Wiele du\u017cych organizacji i jednostek rz\u0105dowych nadal z nich korzystau003cbru003e\u25cfu003cstrongu003e Client-Server systemu003c\/strongu003e \u2013 w por\u00f3wnaniu do system\u00f3w Mainframe s\u0105 one bardziej skalowalne i elastyczne. Sk\u0142adaj\u0105 si\u0119 z programu dzia\u0142aj\u0105cego na serwerze oraz aplikacji klienckiej dzia\u0142aj\u0105cej na urz\u0105dzeniu u\u017cytkownikau003cbru003e\u25cf u003cstrongu003eAplikacje desktopoweu003c\/strongu003e \u2013 tradycyjne aplikacje dzia\u0142aj\u0105ce na komputerze u\u017cytkownika. Cz\u0119sto s\u0105 budowane na bazie starszych j\u0119zyk\u00f3w programowania, takich jak C++ lub Visual Basicu003cbru003e\u25cf u003cstrongu003eAplikacje weboweu003c\/strongu003e \u2013 dzia\u0142aj\u0105 za pomoc\u0105 przegl\u0105darki internetowej. ASP i JSP s\u0105 przyk\u0142adami technologii kt\u00f3re s\u0105 wykorzystywane do dzi\u015b w takich aplikacjach<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1682346294847\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Jakie s\u0105 przyk\u0142ady platform legacy?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>\u25cfu003cstrongu003e IBM mainframesu003c\/strongu003e \u2013 najbardziej popularna platforma typu legacyu003cbru003e\u25cfu003cstrongu003e Sun Solarisu003c\/strongu003e \u2013 na topie w u\u017cytkowaniu w latach 90. dla serwer\u00f3w WWW i innych aplikacji sieciowychu003cbru003e\u25cfu003cstrongu003e Windows XP u003c\/strongu003e\u2013 niewspierany ju\u017c system firmy Microsoft, jeden z najbardziej popularnych system\u00f3w komputerowych w historii, jakie powsta\u0142yu003cbru003e\u25cf u003cstrongu003eAS\/400 u003c\/strongu003e\u2013 u\u017cywana w sektorach IT takich jak finanse, s\u0142u\u017cba zdrowia i produkcja, bardzo ceniona platforma w latach 90.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Zdarza si\u0119, \u017ce oprogramowanie lub technologia, kt\u00f3ra jest rozwijana przez bardzo d\u0142ugi czas, nie mo\u017ce \u2013 z r\u00f3\u017cnych powod\u00f3w \u2013 zosta\u0107 zmieniona. Okre\u015bla si\u0119 j\u0105 w\u00f3wczas jako \u201elegacy system\u201d. Niekt\u00f3re organizacje latami u\u017cywaj\u0105 takich system\u00f3w, inne w kt\u00f3rym\u015b momencie podejmuj\u0105 decyzj\u0119 o modernizacji. Z tego artyku\u0142u dowiesz si\u0119, czym jest legacy system, jak mo\u017ce wp\u0142ywa\u0107 na tw\u00f3j biznes oraz w jaki spos\u00f3b CIO powinien zaplanowa\u0107 jego modernizacj\u0119, aby przynios\u0142a realne korzy\u015bci.<\/p>\n","protected":false},"author":119,"featured_media":22695,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"iawp_total_views":82,"footnotes":""},"categories":[1,582],"tags":[],"offering":[514],"class_list":["post-31185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artykuly","category-technologie","offering-ams"],"acf":[],"_links":{"self":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/users\/119"}],"replies":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/comments?post=31185"}],"version-history":[{"count":6,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31185\/revisions"}],"predecessor-version":[{"id":33852,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/posts\/31185\/revisions\/33852"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media\/22695"}],"wp:attachment":[{"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/media?parent=31185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/categories?post=31185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/tags?post=31185"},{"taxonomy":"offering","embeddable":true,"href":"https:\/\/nearshore-it.eu\/pl\/wp-json\/wp\/v2\/offering?post=31185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}