Porównanie ról projektowych w projektach informatycznych. Czym zajmuje się programista a czym Inżynierem DevOps?

Podział ról na programistę (developer) i DevOps inżyniera często obejmuje różne obszary odpowiedzialności i kompetencji, choć mogą się one zazębiać w zależności od firmy i projektu.

Oto szczegółowy podział:

Programista (Developer)

  1. Pisanie kodu: Tworzenie, modyfikowanie i optymalizowanie kodu źródłowego aplikacji.
  2. Projektowanie oprogramowania: Planowanie struktury aplikacji, wybór technologii i narzędzi.
  3. Testowanie jednostkowe: Pisanie i uruchamianie testów jednostkowych, aby upewnić się, że poszczególne moduły działają poprawnie.
  4. Debugowanie: Identyfikowanie i naprawianie błędów w kodzie.
  5. Współpraca z zespołem: Praca z innymi programistami, projektantami i analitykami biznesowymi w celu tworzenia spójnego produktu.
  6. Aktualizacja i utrzymanie kodu: Dbanie o to, aby kod był aktualny, czytelny i łatwy do utrzymania.
  7. Dokumentacja: Tworzenie dokumentacji technicznej dla napisanych funkcji i modułów.

DevOps Inżynier

  1. Automatyzacja procesów: Tworzenie i utrzymanie skryptów do automatyzacji procesów budowania, testowania, wdrażania i monitorowania aplikacji.
  2. Zarządzanie infrastrukturą: Konfiguracja i zarządzanie serwerami, sieciami oraz innymi zasobami IT za pomocą narzędzi takich jak Terraform, Ansible, Puppet czy Chef.
  3. CICD (Continuous Integration and Continuous Deployment): Implementacja i utrzymanie pipeline’ów CI/CD, aby zapewnić płynne i zautomatyzowane wdrażanie kodu na produkcję.
  4. Monitorowanie i logowanie: Konfiguracja narzędzi do monitorowania aplikacji i infrastruktury (np. Prometheus, Grafana) oraz zbieranie i analizowanie logów (np. ELK stack).
  5. Skalowanie i wydajność: Optymalizacja infrastruktury i aplikacji pod kątem skalowalności i wydajności.
  6. Bezpieczeństwo: Implementacja praktyk bezpieczeństwa, zarówno na poziomie aplikacji, jak i infrastruktury, oraz przeprowadzanie audytów bezpieczeństwa.
  7. Zarządzanie zasobami w chmurze: Praca z dostawcami usług chmurowych (np. AWS, Azure, Google Cloud) w zakresie zarządzania zasobami i kosztami.
  8. Współpraca z zespołem programistów: Wsparcie programistów w zakresie środowisk developerskich, rozwiązywania problemów z wdrażaniem oraz optymalizacji procesów.

Współpraca między Programistą a DevOps Inżynierem

  1. Continuous Integration: Programiści piszą kod i testy, a DevOps inżynierowie integrują to z procesami CI, aby automatycznie testować i wdrażać zmiany.
  2. Wspólne narzędzia: Używanie wspólnych narzędzi do zarządzania kodem (np. Git), systemów zarządzania projektem (np. Jira), oraz komunikacji (np. Slack).
  3. Review kodu i procesów: DevOps inżynierowie mogą przeprowadzać przeglądy konfiguracji infrastruktury jako kodu, podczas gdy programiści mogą brać udział w przeglądach kodu automatyzacji.
  4. Rozwiązywanie problemów: Współpraca w identyfikowaniu i rozwiązywaniu problemów wydajnościowych, bezpieczeństwa i innych problemów produkcyjnych.

Podział ról na programistę i DevOps inżyniera może się różnić w zależności od specyfiki projektu i organizacji, jednak ogólnie obejmuje powyższe aspekty.

Z dniem 23 maja weszło nowe Rozporządzenie KRI

Nowe Rozporządzenie KRI

Nowe Rozporządzenie KRI – w związku z faktem, iż dotychczas obowiązujące przepisy Rozporządzenia z dnia 12 kwietnia 2012r., w sprawie Krajowych Ram Interoperacyjności, minimalnych wymagań dla rejestrów publicznych i wymiany informacji w postaci elektronicznej oraz minimalnych wymagań dla systemów teleinformatycznych  obowiązują jedynie do 23 maja 2024r., udostępniamy w formie PDF:  lex-dz-u-2024-773-krajowe-ramy-interoperacyjnosci

Jak zmiana KRI będzie wprowadzona? - Portal Interoperacyjności i  Architektury - Portal Gov.pl

Rozporządzenie Rady Ministrów w sprawie Krajowych Ram Interoperacyjności, minimalnych wymagań dla rejestrów publicznych i wymiany informacji w postaci elektronicznej oraz minimalnych wymagań dla systemów teleinformatycznych, zwane dalej „rozporządzeniem KRI”, jest wydawane na podstawie art. 18 ustawy z dnia 17 lutego 2005 r. o informatyzacji działalności podmiotów realizujących zadania publiczne (Dz. U. z 2024 r. poz. 307), zwanej dalej „ ustawą o informatyzacji”. Konieczność wydania nowego aktu w powyższym zakresie wynika z przepisów ustawy z dnia 4 kwietnia 2019 r. o dostępności cyfrowej stron internetowych i aplikacji mobilnych podmiotów publicznych (Dz. U. z 2023 r. poz. 1440), zwanej dalej „ustawą o dostępności cyfrowej”. W art. 26 ustawy o dostępności cyfrowej wskazano, że: „dotychczasowe przepisy wykonawcze wydane na podstawie art. 18 ustawy zmienianej w art. 20 zachowują moc do dnia wejścia w życie przepisów wykonawczych wydanych na podstawie art. 18 ustawy zmienianej w art. 20 [czyli ustawy o informatyzacji], w brzmieniu nadanym niniejszą ustawą, jednak nie dłużej niż przez 60 miesięcy od dnia wejścia w życie niniejszej ustawy, i mogą być zmieniane na podstawie tych przepisów”. Oznacza to, że dotychczasowe przepisy wydane na podstawie art. 18 ustawy o informatyzacji obowiązują nie dłużej niż do dnia 23 maja 2024 r. Skutkuje to koniecznością wydania przedmiotowego rozporządzenia. Brak jest możliwości osiągnięcia celu projektowanych zmian za pomocą innych środków niż interwencja na poziomie rozporządzenia. Problem nie może być rozwiązany przez podmioty niższego szczebla niż podmiot wydający rozporządzenie.

Nowe Rozporządzenie KRI, jako rozwiązanie tymczasowe…

Przedmiotowy projekt rozporządzenia jest przewidziany w charakterze rozwiązania tymczasowego i zostanie zastąpiony przez docelowy akt po pełnym procesie legislacyjnym. Ze względu na fakt, że zgodnie z art. 26 ustawy o dostępności cyfrowej, obowiązujące rozporządzenie KRI zostało czasowo utrzymane w mocy jedynie do dnia 23 maja 2024 r, konieczne jest zapobieżenie powstaniu luki prawnej.

Kluczowe zmiany…

  • z zakresu minimalnych wymagań dla systemów teleinformatycznych usunięto „sposoby zapewnienia dostępu do zasobów informacji podmiotów publicznych dla osób niepełnosprawnych”, ponieważ są one uregulowane przez ustawę o dostępności cyfrowej;
  • usunięto normę „PN-ISO/IEC 24762”, – Technika informatyczna – Techniki bezpieczeństwa – Wytyczne dla usług odtwarzania techniki teleinformatycznej po katastrofie”, ponieważ norma ta została wycofana w 2016 r.