Najważniejszą rzeczą dla inżynierów DevOps w takich sytuacjach jest uzyskanie (a) zobowiązania do zarządzania i (b) wymaganych budżetów . Czytaj dalej, aby uzyskać więcej informacji na temat obu ...
Uzyskaj zaangażowanie w zarządzanie
Gdy to nastąpi, inżynierowie DevOps stają się łatwiejsi. Zwłaszcza za każdym razem, gdy pojawia się opór (z różnych stron). Zaufaj mi, pojawi się taki opór, który stawi wyzwania:
- Dlaczego musimy się zmienić? Chcę robić to, co robiłem już od X lat!
- Nie chcę tracić mocy (technicznej), którą mam, i wykonywać wszelkiego rodzaju procedury przepływu pracy, aby uzyskać głupie poprawki w produkcji, które powinny zająć mi około 5 minut zamiast 5 godzin (lub dni ...).
- ... (Mógłbym tu dodać jeszcze kilkanaście pocisków ...).
Za każdym razem, gdy pojawiają się te wyzwania, wszyscy inżynierowie DevOps powinni powiedzieć:
Przepraszam, po prostu wykonuję swoją pracę ... na podstawie instrukcji od kierownictwa wyższego szczebla.
Uzyskaj wymagane budżety
Skutecznym sposobem na uzyskanie wymaganych budżetów jest stworzenie / przesłanie odpowiedniego uzasadnienia biznesowego, które wyjaśnia namacalne i niematerialne korzyści wynikające z różnych praktyk DevOps poprzez zastosowanie ich do niektórych rzeczywistych przypadków, które dotyczą samej firmy.
Poniżej znajdują się przykłady prawdziwych przypadków, których sam doświadczyłem, jako konsultant SCM zatrudniony przez niektóre firmy, w których takie rzeczy miały miejsce. Wiem, że SCM jest tylko częścią DevOps, ale w tym obszarze mam trochę wiedzy ...
1. Korzyści z automatyzacji
Ze względu na strajk tylko od 2 (!!!) operatorów komputerowych (którzy nie wpisywali już poleceń konsoli, które, jak się spodziewali, będą pisać), pociągi musiały zostać zatrzymane gdzieś w połowie drogi między dwiema fabrykami (od czasu fabrycznego systemu tam, gdzie pociąg jechał, przestały istnieć istotne dane dotyczące obsługi pociągu).
Dzięki wdrożeniu systemu SCM wiele poleceń operatora zostało zautomatyzowanych.
2. Zmniejsz koszty licencji oprogramowania
Niektórzy dostawcy oprogramowania postanowili podnieść niektóre roczne opłaty za (nieaktualne) oprogramowanie SCM, na co kierownictwo nie wyraziło zgody. Dlatego stworzyli specjalny projekt, aby zastąpić je jakimś alternatywnym oprogramowaniem SCM.
Budżet projektu był równy rocznej opłacie, której nie chcieli płacić. Obejmowało to latanie inżynierem z innych kontynentów (takich jak ja), aby projekt odniósł sukces.
3. Zmniejsz koszty operacyjne
Pewna duża firma ubezpieczeniowa używała oprogramowania FTP do przesyłania poprawek oprogramowania do około 13 000 komputerów średniej klasy (AS / 400) w całym kraju, i to za każdym razem, gdy stała się dostępna „poprawka”. Koszt 1 takiego przelewu wynosił około 4 USD (13 000 x 4 = 52,000 USD za pojedynczy przelew ...). Oprogramowanie składało się ze 120 000 komponentów, opracowanych / obsługiwanych przez około 150 programistów. Zrób matematykę na temat prawdopodobieństwa, że 1 deweloper popełnił 1 (malutki) błąd w którymkolwiek z tych 120 000 komponentów, co doprowadziło go do produkcji, i wymagał pilnej naprawy, która kosztowałaby kolejne 52 000 USD (tylko za transfer!).
Dzięki wdrożeniu odpowiedniego systemu SCM (z zarządzanymi środowiskami testowymi, zatwierdzeniami itp.) Firma osiągnęła znaczną redukcję kosztów. Pomyśl o tym, jeśli system SCM mógłby zapobiec potrzebie tylko 20 przeniesień pilnych poprawek, spowodowałoby to redukcję kosztów o 52 000 x 20 = 1 040 000 USD (dość duży budżet na wdrożenie systemu SCM, potrzebowali tylko ułamka tej kwoty, aby wykonać zadanie).
4. Zmniejsz koszty niedostępności
Jeśli powyższe przypadki nie są wystarczająco przekonujące, pomyśl o tym, że system (y) jednej z głównych firm obsługujących karty kredytowe są niedostępne na całym świecie. Powiedziano mi, że 1 sekunda niedostępności kosztuje ich 1.000.000 USD.
Jest to prawdopodobnie również powód, dla którego takie firmy już od wielu dziesięcioleci dysponują zaawansowanymi narzędziami DevOps. Ponieważ w każdej sekundzie nie ma ich w biznesie, kosztuje ich fortunę.