/ Artykuły

Dekalog DevOpsa

Czy kiedykolwiek zastanawiałeś się, jakimi zasadami kieruje się dobry inżynier DevOps? W czasach globalnego boomu karier w branży technologicznej, kiedy prawie każdy może zostać specjalistą IT, niezwykle ważne jest zadbanie o podstawy. Dlatego postanowiliśmy spisać dziesięć zasad, które powinny przyświecać każdemu DevOpsowi.

Oczywiście, nasz dekalog na pewno nie wyczerpuje tematu dobrych praktyk w tej dziedzinie, ale z pewnością pozwoli DevOpsowym juniorom na usystematyzowanie swojej wiedzy w zakresie zasad tworzenia dobrego oprogramowania, a ich bardziej doświadczonym kolegom – na skorygowanie nienajlepszych nawyków, których nabrali przez lata pracy w różnych środowiskach developerskich. Lista może być też pomocna dla właścicieli biznesów online, którzy rozważają skorzystanie z usług DevOps i chcą pogłębić swoją wiedzę w tej dziedzinie.

Oto nasz dekalog DevOpsa:

  1. Nie będziesz miał większego priorytetu nad dostępność i bezpieczeństwo.

    To proste – jeśli serwis jest niedostępny, firma nie generuje zysków i przepala pieniądze wydane na kampanie marketingowe. Jeśli jest niezabezpieczony – skutki mogą być jeszcze bardziej dotkliwe, bo strata może być nie tylko finansowa, ale ucierpieć może również renoma marki, co przełoży się na odpływ klientów. Dlatego musisz nie tylko zapewnić ciągłą dostępność usług poprzez odpowiednie zarządzanie ryzykiem, zabezpieczeniami i planami kontroli awarii, ale także cały ten system solidnie zabezpieczyć.

  2. Nie będziesz nadmiernie komplikował serwisów i usług, które tego nie wymagają.

    Jeśli coś jest skomplikowane, to łatwiej to zepsuć. Dlatego jeśli możesz coś uprościć, nie zmieniając przy tym założeń funkcjonalnych, zrób to. Nie bez powodu odchodzi się od tworzenia skomplikowanych systemów monolitycznych na korzyść zwinnych mikroserwisów.

  3. Pamiętaj, że jedyną stałą rzeczą w IT jest zmienność.

    Nie zakładaj, że wytyczne z początku projektu pozostaną dokładnie takie same na jego końcu. Żyjemy w czasach galopujących innowacji, dlatego planując produkt zawsze musisz brać pod uwagę, że w trakcie trwania projektu zmienić mogą się zarówno jego założenia biznesowe, jak i stack technologiczny.

  4. Nie zaniedbuj komunikacji i kooperacji z programistami.

    Usuń bariery pomiędzy zespołami. Współpraca między działami developerskim, operacyjnym i testowym jest kluczowa dla skutecznego wdrażania i utrzymania produktów. Jeśli komunikacja między zespołami jest nieefektywna, to możemy skończyć jak polska reprezentacja piłki nożnej – niby wszyscy znają się na swojej robocie i grają do jednej bramki, ale goli brak.

  5. Wykorzystuj narzędzia, które mogą ułatwić Ci pracę.

    Narzędzia DevOps powstały i są stale rozwijane po to, by ułatwiać zarządzanie i automatyzację coraz bardziej innowacyjnych projektów. Pamiętaj tylko, by wybrać takie narzędzia, które będą najlepsze dla danego projektu, nawet jeśli z części z nich musisz się podszkolić.

  6. Automatyzuj infrastrukturę.

    Infrastructure as a Code (IaC) to jedna z kluczowych praktyk DevOps, która pozwala na łatwiejsze skalowanie, spójność i powtarzalność środowisk. Dzięki niej unikniesz problemu tzw. dryfu środowiska, który występuje przy ręcznej konfiguracji i może znacznie utrudnić proces tworzenia i wypuszczania kolejnych wersji oprogramowania (narażając je przy okazji na ciężkie do wyłapania błędy).

  7. Dziel się wiedzą i uzupełniaj dokumentację.

    Upewnij się, że istnieje szczegółowa dokumentacja procesów, zmian, infrastruktury i konfiguracji, aby umożliwić łatwe śledzenie i analizę zmian oraz problemów. Nie zapominaj też o jej stałej aktualizacji. Na pewno świetnie jest mieć opinię osoby niezastąpionej w firmie, ale kultura DevOps zakłada, że do całościowej wiedzy o projekcie dostęp mają wszyscy zaangażowani w jego tworzenie. No i chyba czasem jednak chciałbyś pojechać na wakacje?

  8. Monitoruj, automatyzuj, testuj, optymalizuj.

    Stałe monitorowanie i pomiar wydajności procesów oraz infrastruktury są kluczowe dla identyfikowania problemów i ciągłego usprawniania systemu. Z kolei automatyzacja jest kluczem do skutecznego zarządzania infrastrukturą i wdrażania aplikacji. Nie zapominaj też o testowaniu wprowadzanych rozwiązań. A następnie, by zapewnić jak najwyższą wydajność i efektywność, optymalizuj środowiska na podstawie informacji uzyskanych z monitoringu i testów.

  9. Twórz środowiska testowe dla programistów.

    Środowiska testowe, które są wiernymi kopiami środowisk produkcyjnych umożliwiają programistom weryfikację i testowanie kodu w kontrolowanych warunkach, co przekłada się na wcześniejsze wykrycie potencjalnych problemów i poprawę jakości kodu. To niezawodny sposób na zminimalizowanie ryzyka późniejszych awarii i przyspieszenie całego procesu wytwarzania oprogramowania.

  10. Myśl o celu i o kliencie.

    Osoby techniczne mają często skłonność do wpadania w pułapkę myślenia, że warstwa biznesowa projektu ich zupełnie nie dotyczy. Ale prawda jest taka, że skuteczna praca DevOpsa wymaga zrozumienia celów biznesowych organizacji oraz potrzeb klientów, dla których powstaje oprogramowanie. Działa to też oczywiście w drugą stronę – zespół odpowiedzialny za ustalanie założeń biznesowych, musi je konsultować z działami technicznymi, żeby nie obiecywać gruszek na wierzbie. Niemniej jednak, żeby tworzone oprogramowanie było dopasowane do oczekiwań i potrzeb klientów, a firma zwiększała swoją przewagę konkurencyjną, niezbędne jest uwzględnianie ustalonych celów już na etapie planowania projektu.

Podsumowanie

Jak widać, bycie inżynierem DevOps niesie za sobą nie tylko wymagania techniczne, ale także umiejętność współdziałania i patrzenia na projekt z różnych perspektyw. Mamy nadzieję, że ta krótka lista stanie się punktem wyjścia do dyskusji o tym, dlaczego wsparcie DevOps jest niezbędne, jeśli tworzony produkt ma być konkurencyjny, wydajny i bezawaryjny.

Ula Sas

O autorze

Ula Sas

Marketing Specialist Consultant w Centurii. Osoba, z którą porozmawiasz o cyberbezpieczeństwie i DevOpsach z tą samą łatwością, co o teorii kolorów. W równoległym życiu ilustruje książki dla dzieci i projektuje grafiki. Prywatnie mól książkowy i żeglarka jachtowa.

O autorze

Patryk Szczepaniak

Marketing Manager w Centurii. Entuzjasta digital marketingu, samouk. Praca w różnych sferach digitalu pozwala mu na spoglądanie na biznes holistycznie łącząc wiele działań naraz. Prywatnie biega po krakowskich ścieżkach.

Zobacz także

Zobacz więcej