Ryzyka złej architektury IT

Paweł Dyrda | Rozwój oprogramowania / Go to Cloud | 05.08.2020

Architektura systemów i aplikacji to jedna z tych inwestycji, które docenia się przez długie lata. Dobra i przemyślana architektura to fundament, który przy rozbudowie aplikacji czy systemu pozwoli uniknąć zbędnych nakładów pracy i dodatkowych kosztów. Błędy projektowe mogą się z czasem okazać ograniczeniem i przysłowiową ścianą, od której biznes odbije się przy każdej próbie wprowadzenia nowych rozwiązań i aplikacji. Dowiedz się, jak uniknąć takich problemów i kiedy warto zdecydować się na zatrudnienie architektów IT.

Czym jest architektura IT?

W ludzkiej naturze jest dążenie do porządkowania i upraszczania. Nie inaczej jest w złożonym i dynamicznym świecie IT. Przemyślana i uporządkowana architektura pozwala zachować kontrolę nad ogromem tworzących ją elementów. Co jednak mamy na myśli, mówiąc: „Architektura IT”? 

Czym jest architektura IT

Pojęcie architektury odnosi się do kilku obszarów:

  • Architektura IT – to najszersze pojęcie, które dotyczy posiadanej infrastruktury IT, zatem wszystkich urządzeń, oprogramowania, aplikacji, rozwiązań i procesów w firmie.
  • Architektura systemów i aplikacji – określa sposób funkcjonowania oprogramowania w ekosystemie oraz to, w jaki sposób komunikuje się ono z innymi jego elementami. Dla osiągnięcia optymalnych wyników architektura taka powinna powstawać w oparciu o analizę procesów w organizacji.
  • Architektura danych – określa modele gromadzenia, procesowania, organizowania i przechowywania danych, a także sposób zarządzania i integracji tych danych (procesy ETL – Extract, Transform, Load oraz szyny danych ESB)
  • Architektura testów – obejmuje całościowy opis architektury testów tworzonego oprogramowania oraz zależności modułów w ekosystemie, z wyszczególnieniem kroków i technik testowania.
  • Architektura cyberbezpieczeństwa – określa standardy i dobre praktyki, które dotyczą bezpieczeństwa sieci i systemów. Składają się na nią analizy protokołów sieciowych, konfiguracji urządzeń fizycznych, oprogramowania antywirusowego, technik szyfrujących itp.). W celu zapewnienia prawidłowego funkcjonowania w tym obszarze, firmy zatrudniają osoby na takich stanowiskach jak Architekt Bezpieczeństwa IT, Inżynier Bezpieczeństwa oraz Security Software Developerów.

Czytaj więcej: Service Mesh, ale komu to potrzebne?

Czym jest architektura systemów i aplikacji?

Firmy w dobie transformacji cyfrowej coraz częściej decydują się na wdrażanie nowych rozwiązań. Jak wiadomo, każdy projekt   powinien zacząć się od analizy wymagań, która jest absolutną podstawą jakiegokolwiek wdrożenia czy uruchomienia produktu. Dopiero po jej wykonaniu możliwe jest zaproponowanie optymalnej architektury.

Ponieważ dobra architektura jest fundamentem pozwalającym na budowę potencjału organizacji, warto poświęcić czas na dokładną analizę wymagań.

Wszystko zaczyna się od głównego i najważniejszego pytania: „Jaki jest mój cel?”. Mając zdefiniowany cel, zastanawiamy się, w jaki sposób i w jakim czasie chcemy go osiągnąć, a zatem:

  • W jaki sposób chcę rozwijać posiadane systemy i aplikacje?
  • Czy planuję wdrożenie nowych rozwiązań i w jakim czasie?
  • Jakie są moje potrzeby biznesowe obecnie, a jakie będą za 5, 10 lat?
  • Jakie zadania powinna spełniać posiadana architektura (np. integracja istniejących rozwiązań z innymi aplikacjami, możliwość rozbudowy, dodawania nowych komponentów)
  • Czy planuję przenieść usługi do coraz popularniejszego clouda?

Dobra architektura systemów i aplikacji to taka, która spełnia zadanie, jakie jej nakreślamy. Jeżeli masz trudność w zdefiniowaniu celu i blokuje Cię to przed startem nowych projektów, zasięgnij rady doświadczonych architektów. Tacy specjaliści zapewniają wsparcie konsultingowe, przeprowadzają indywidualną analizę i budują systemy, wykorzystując wyłącznie sprawdzone rozwiązania i technologie.

Architektura systemów – najczęstsze problemy

  • Architektura aplikacji nie spełnia wymagań biznesu – rynek jest dynamiczny, a architektura wdrażanych systemów i aplikacji powinna umożliwiać ciągły rozwój, być elastyczna i dawać możliwość korzystania z najnowszych technologii. Bez względu na to, czy firma przechodzi całościową transformację, czy wdraża jedną aplikację, częstym problemem w projektach IT jest brak zdefiniowanego celu projektu, a wdrożenie jest przeprowadzane bez analizy potrzeb. Efekt? Strata pieniędzy na rozwiązanie, które nie zarabia na siebie, nie wnosi wartości biznesowej. Dobry architekt zawsze zwróci uwagę na tego typu zagadnienie, zleci doprecyzowanie wymagań biznesowych i zaproponuje optymalną architekturę.
  • Rozwiązanie jest drogie w utrzymaniu – w projektach zdarza się, że na etapie implementacji wszystko idzie gładko, a dopiero z czasem okazuje się, że rozwiązanie nie jest skalowalne. W efekcie zamiast oszczędzać, firma musi inwestować w drogi sprzęt. Architekt IT tworzy optymalne rozwiązania, które bazują na sprawdzonych technologiach oraz nowych możliwościach, jakie daje np. wykorzystanie chmury.
  • Architektura nie spełnia norm bezpieczeństwa – „Jeśli coś może się zdarzyć, to się zdarzy”. To powiedzenie w przypadku bezpieczeństwa architektury sprawdza się jak nigdzie indziej. Ataki cyberprzestępców i wyciek danych mogą spotkać każdą firmę, a w 2020 roku bezpieczeństwo IT stało się ważnym punktem na mapie inwestycji. Według dostępnych badań zagrożenie cyberatakami rośnie każdego roku o 30%, a audyty i testy cyberbezpieczeństwa pozwalają zminimalizować to ryzyko.

Czy potrzebuję architekta IT?

Architekci bądź inżynierowie IT to specjaliści o szerokich kompetencjach, a ich usługi są coraz bardziej poszukiwane. To osoby, które trudno zrekrutować, a ich stawki należą do najwyższych na rynku. Nic dziwnego, architektami rozwiązań IT zostają cenieni i najbardziej doświadczeni developerzy, dla których rola architekta jest naturalnym etapem w karierze w IT. Kto nie chciałby mieć w projekcie specjalisty, który nie tylko przeanalizuje i zaprojektuje sposób funkcjonowania danej aplikacji w systemie, ale też zadba o bezpieczeństwo i pomoże nakreślić strategię na lata?

Zadania i umiejętności architekta IT:

  • Projektowanie systemów informatycznych oraz nadzór nad wdrażaniem i zgodnością z politykami bezpieczeństwa
  • Znajomość narzędzi i technik niezbędnych do utrzymania architektury
  • Analiza wymagań biznesu we współpracy z analitykiem biznesowym
  • Wyczucie biznesowe i duże doświadczenie programistyczne
  • Wysokie zrozumienie architektury IT i architektury biznesowej oraz umiejętność tworzenia długoterminowej strategii
  • Solidne podstawy inżynierii oprogramowania oraz wsparcie developerów
  • Wiedza o najnowszych trendach technologicznych i rozwijających się technologiach
  • Łączenie przeszłości z przyszłością – architekt wdraża nowe komponenty i utrzymuje istniejące oraz dba o to, aby wszystkie elementy współgrały ze sobą.
  • Łączenie świata IT i administracji – znajomość technik i narzędzi DevOps

Podsumowanie

Dobra i przemyślana architektura systemów i aplikacji jest coraz ważniejsza, a dynamiczny rynek wymusza rozwój i zwiększanie nakładów na nowe systemy i cyberbezpieczeństwo. Inwestycje w te rozwiązania procentują i w dalszej perspektywie pozwalają firmom oszczędzić. To najłatwiejszy sposób na zminimalizowanie ryzyka, jakie niesie nieprzemyślane wdrożenie.