Koniec ery GUI
Zanim przejdziemy do meritum, przyjrzyjmy się historycznemu kontekstowi roli GUI w administracji systemami.
W „dawnych czasach” nie mieliśmy graficznych interfejsów użytkownika na żadnych komputerach, tym bardziej na serwerach. Jeszcze długo po tym, jak GUI zaczęły być popularne na sprzęcie użytkowników końcowych, serwery nadal ich nie miały. W latach 80. i 90. narzut obliczeniowy niezbędny do wyświetlenia GUI był znaczący w stosunku do całkowitych możliwości obliczeniowych maszyny, a przeznaczanie tego, czym dysponowaliśmy, na wytworzenie GUI było raczej niepraktyczne, a często wręcz niemożliwe. Świat administracji systemami rozwijał się w tym kontekście, pracując z wiersza poleceń, bo nie było innej opcji. Ludzie rzadko pragnęli GUI dla administracji systemami – być może dlatego, że ten pomysł jeszcze nikomu nie przyszedł do głowy.
W połowie lat 90. Microsoft, wraz z innymi, zaczął wprowadzać ideę administracji systemami przez GUI dla rynku serwerowego na poziomie wejściowym. Początkowo podejście to nie było zbyt popularne, gdyż nie odpowiadało temu, jak doświadczeni administratorzy pracowali na rynku. Jednak stopniowo, wraz z pojawianiem się nowych administratorów Windows i do pewnego stopnia administratorów Novell Netware, „dorastających” z dostępem do narzędzi administracyjnych opartych na GUI, zaczęło pojawiać się akceptowane miejsce na rynku serwerowym dla tych systemów. W połowie i pod koniec lat 90. serwery UNIX i inne nie-Windows całkowicie dominowały na rynku. Nawet VMS był wciąż ważnym graczem, a po stronie małych firm i serwerów commodity Novell Netware dominował w połowie dekady i nadal był bardzo poważnym konkurentem pod koniec dekady. Netware oferował środowisko GUI, ale bardzo uproszczone i prawdopodobnie powinno być uznane jedynie za „semi-GUI” w porównaniu do bogatego środowiska GUI Windows NT, dostępnego przynajmniej od 1996 roku, a w pewnym stopniu wcześniej wraz z rodziną NT 3.x – choć Windows NT dopiero znajdował swoje miejsce w świecie przed premierą NT 4.
Nawet wówczas, rynek administracji przez GUI pozostawał głównie na marginesie. Microsoft i Windows nadal nie miały znaczącego miejsca po stronie serwerowej, ale zaczęły torować sobie drogę przez rynek małych firm, gdzie niskie koszty i łatwość użytkowania ich produktów miały dużo sensu. Dopiero późna panika lat 90. i ekspansja rynku wywołana kombinacją obaw Y2K, bańki dot-com oraz doskonałego rozwoju produktów i marketingu Microsoft spowodowały znaczący wzrost i przesunięcie na rynek administracji opartej na GUI.
Masowa ekspansja rynku IT w końcu lat 90. oznaczała, że nie było wystarczająco dużo czasu ani zasobów do szkolenia nowych osób wchodzących do IT. Krzywa uczenia się wielu systemów, w tym Solaris i Netware, była bardzo stroma, a branża potrzebowała naprawdę epickiej liczby osób, które przejdą od zera do „kompetentnego profesjonalisty IT” szybciej, niż było to możliwe przy ówczesnych platformach. Wzrost rynku był wybuchowy i było tak dużo pieniędzy do zarobienia w IT, że nie było dostępnych zasobów do efektywnego szkolenia nowych osób – każdy kwalifikujący się do prowadzenia działalności edukacyjnej mógł zarobić o wiele więcej pracując w branży niż w edukacji. Wraz ze wzrostem rynku wartość doświadczonych, dojrzałych profesjonalistów stawała się niezwykle wysoka, ponieważ były coraz rzadsze w stale rosnącej dziedzinie jako całości.
Rynek zareagował na tę potrzebę na wiele sposobów, ale jednym z największych było fundamentalne zmiany w podejściu do IT. Zamiast motywować profesjonalistów IT do przezwyciężenia tradycyjnych krzywych uczenia się i rozwijania umiejętności niezbędnych do efektywnego zarządzania systemami dostępnymi na rynku, rynek zmienił używane narzędzia, aby dostosować się do mniej doświadczonych i mniej wiedzących pracowników IT. Prostsze, a często droższe narzędzia, często z interfejsami GUI, zaczęły zalewać rynek, umożliwiając osobom z mniejszym przeszkoleniem i doświadczeniem przynajmniej rozpoczęcie bycia użytecznymi i produktywnymi niemal natychmiast, nawet bez wcześniejszego zetknięcia się z produktem.
Ta zmiana zbiegła się z naturalnym postępem wydajności sprzętu komputerowego. To właśnie w tej erze po raz pierwszy moc wielu systemów była taka, że choć GUI nadal miało raczej znaczący wpływ na wydajność, niższe koszty obsługi i szybkość wdrażania i zarządzania systemami na ogół rekompensowały tę utratę mocy obliczeniowej zajętej przez GUI. GUI szybko stało się standardowym dodatkiem do systemów, które zaledwie kilka lat wcześniej nigdy by go nie miały.
Aby poprawić możliwości tych nowych profesjonalistów IT i szybko wprowadzić ich na rynek, branża przesunęła się też mocno w kierunku certyfikacji – będących mniej więcej nową innowacją tamtych czasów – co pozwoliło nowym specjalistom IT, często bez żadnego doświadczenia praktycznego, ustalić pewien stopień kompetencji, i to często bez potrzeby znaczącej interakcji lub inwestycji ze strony istniejących profesjonalistów IT, jak wymagałyby tego programy uniwersyteckie. Zarówno rynek administracji opartej na GUI, jak i branża certyfikacyjna rozkwitły, a oblicze IT znacząco się zmieniło.
Rezultatem był z pewnością napływ nowych, nieprzeszkolonych lub lekko przeszkolonych profesjonalistów IT wchodzących na rynek w rekordowym tempie. W krótkim terminie ta zmiana zadziałała dla branży. Dziedzina przeszła od dramatycznego niedoboru kadrowego do stosunkowo dobrego obsadzenia latami szybciej niż byłoby to możliwe w inny sposób. Ale nie minęło wiele czasu, zanim zaczęły pojawiać się kary za to szybkie przyjęcie nowych ludzi.
Jednym z największych wpływów na branżę był ogólnobranżowy „baby boom” ze wszystkimi bólami wzrostu, jakie by to pociągało. Całe pokolenie profesjonalistów IT dorastało na bootcampach i szybkich programach „szkolenia certyfikacyjnego” z końca lat 90. Skutkowało to długoterminowym efektem, w którym zasady i ogólne podejścia powszechne w tamtej erze zostały często skodyfikowane do stopnia niemal religijnego przekonania w sposób, w jaki poprzednie, jak i późniejsze podejścia nie byłyby. Często, ponieważ edukacja była prowadzona szybko i powierzchownie, wiele koncepcji musiało być uczonych na pamięć bez zrozumienia stojących za nimi fundamentów. Gdy „Klasa 1998” z czasem awansowała do roli starszych specjalistów IT w swoich firmach, stali się mentorami nowych pokoleń, a stare uczenie się na pamięć w bardzo widoczny sposób przenikało przez podobne podejścia w następnych latach, nawet długo po tym, jak wiedza stała się przestarzała lub niepraktyczna – a w wielu przypadkach była interpretowana niepoprawnie i jest błędna na przewidywalne sposoby nawet dla ery, z której pochodzi.
Częścią uczenia się tamtej ery była ogólna akceptacja, że GUI nie jest tylko akceptowalne, ale praktyczne i oczekiwane. Efekt baby boomu oznaczał, że było mało mentoringu ze strony poprzedniej ery, a wcześniej ustanowione praktyki i normy były często usuwane. Efekt baby boomu oznaczał, że branża nie tyle wynalazła się na nowo, ile po prostu się ukonstytuowała. Nawet koncepcja Technologii Informacyjnej jako specyficznej branży sama w sobie przyjęła obecną formę i zakorzeniła się w świadomości publicznej podczas tej zmiany warty. Zamiast być reliktem innych działów lub dyscyplin, IT samodzielnie okrzepło – ale bez dojrzałości i ciągłości praktyk, które istniałyby przy bardziej organicznym wzroście, pozostawiając branżę być może w gorszej pozycji, niż gdyby rozwijała się w sposób ciągły.
Trwały wpływ późnego bumu IT z lat 90. będzie odczuwalny przez bardzo długi czas, gdyż wiele pokoleń będzie potrzebnych, by trendy, przekonania i założenia z tamtego okresu w końcu zniknęły. Powoli nowe koncepcje i podejścia zdobywają grunt, często tylko wtedy, gdy stare technologie znikają i pojawiają się nowe, przełamując uścisk tradycji. Jednym z nich jest idea GUI jako dominującej metody, za pomocą której realizowana jest administracja systemami.
Jak wcześniej wskazaliśmy, GUI na początku swojego istnienia było punktem różnicującym stare systemy od nowego świata końca lat 90. Ale od tamtej pory narzędzia administracyjne GUI stały się wszechobecne. Każda znacząca platforma posiada i od dawna posiada opcje administracji graficznej, więc GUI nie wyróżnia już żadnej platformy w znaczący sposób. Oznacza to, że nie ma już żadnego dostawcy z wyraźnym programem napędzającym go do promowania koncepcji GUI. Wartość marketingowa GUI praktycznie znikła. Podobnie, nie tylko systemy, które wcześniej nie miały silnego GUI, prawie wszystkie je rozwinęły (lub więcej), ale systemy oparte na GUI, które nie miały silnych narzędzi wiersza poleceń, wróciły i te też opracowały, tworząc nowe profesjonalne ekosystemy wokół nich. Fala z pewnością się odwróciła.
Ponadto przez ostatnie prawie dwie dekady retoryka świata bez GUI zaczęła się przyjmować. Administratorzy systemów pracujący z pozycji mistrzostwa wiersza poleceń, na dowolnej platformie, generalnie przewyższają swoich odpowiedników, co prowadzi do większych możliwości kariery, bardziej wymagających ról i wyższych dochodów. Firmy skupione na administracji przez wiersz poleceń dysponują bardziej wykwalifikowanymi pracownikami i wyższą gęstością administracji, co z kolei obniża ogólne koszty.
To samo w sobie wystarczyło, by pozycja GUI zaczęła słabnąć. Ale zawsze istniał stary argument, że GUI, nawet w końcu lat 90., używały niewielkiej ilości zasobów systemowych i dodawały jedynie bardzo małą ilość dodatkowej powierzchni ataku. Nawet jeśli nie miały być używane, dlaczego by ich nie mieć zainstalowanych „na wszelki wypadek”. Wraz z szybszymi procesorami, większą pamięcią, tańszym storage'em i ulepszonym projektowaniem systemów, wpływ GUI stawał się coraz mniejszy, więc argument za dostępnością GUI stawał się silniejszy. Szczególnie silna była propozycja, że GUI umożliwiały młodszym pracownikom wykonywanie zadań równie dobrze, czyniąc ich bardziej użytecznymi. Ale zbyt często starsi pracownicy zachowywali GUI jako kulę w tych okolicznościach.
Wraz z nadejściem wirtualizacji w przestrzeni serwerów commodity, wszystko to zaczęło się zmieniać. Koszt GUI stał się nagle ponownie zauważalny. System uruchamiający dwadzieścia maszyn wirtualnych nagle używałby dwadzieścia razy więcej zasobów CPU, dwadzieścia razy więcej pamięci i dwadzieścia razy więcej pojemności storage'u niż pojedyncza instancja GUI. Ślad GUI znowu stał się zauważalny. Wraz ze wzrostem gęstości maszyn wirtualnych rosła też względna waga GUI.
Wirtualizacja dała początek cloud computingowi. Cloud computing zwiększył gęstości wdrożeń maszyn wirtualnych i ujawnił inne wpływy GUI na wydajność – głównie w postaci dłuższych czasów budowania instancji i bardziej złożonego zdalnego dostępu do konsoli. Systemy wymagające GUI zaczęły wyraźnie pozostawać w tyle za swoimi odpowiednikami bez GUI pod względem adopcji i możliwości.
Jednak znacznie większym czynnikiem był artefakt standardowych metodologii rozliczeń w cloud computingu. Ponieważ cloud computing zazwyczaj ujawnia koszty per instancja w surowy, w pełni widoczny sposób, działy IT nie miały środków, aby zafałszować lub przeoczyć koszty wdrożeń GUI, których dodatkowe narzuty często nawet podwajały koszt pojedynczej instancji chmurowej. Księgowość bardzo wyraźnie widziała rachunki za systemy GUI kosztujące znacznie więcej niż ich odpowiedniki bez GUI. Nawet zespoły nietech niczne mogły zobaczyć, że koszty GUI rosły, jeszcze przed uwzględnieniem kosztów zarządzania.
Ten koszt stale rośnie wraz z przechodzeniem w kierunku technologii kontenerowych, gdzie skala poszczególnych instancji staje się mniejsza i mniejsza, co oznacza, że względny narzut GUI staje się coraz bardziej znaczący.
Ale prawdziwym wpływem, być może największym ujawnieniem problemów związanych z systemami napędzanymi przez GUI, jest ruch branży w kierunku modeli automatyzacji systemu DevOps. Dziś jedynie stosunkowo niewielki procent firm aktywnie przechodzi na w pełni cloudowy, elastycznie skalowalny model DevOps zarządzania systemami, ale trend jest wyraźny, a model całkowicie pozostawia administratorów GUI i ich systemy za sobą. W modelach DevOps bezpośredni dostęp do maszyn nie jest już standardowym trybem zarządzania, a systemy poszły nawet dalej niż praca wyłącznie z wiersza poleceń – są budowane całkowicie w kodzie, co oznacza, że administratorzy systemów pracujący w świecie DevOps muszą nie tylko interagować ze swoimi systemami z wiersza poleceń, ale muszą to robić programowo.
Rynek szybko zmierza w kierunku mniejszej liczby, wysoce wykwalifikowanych administratorów systemów pracujących z wieloma, wieloma serwerami „na administratora” niż w jakiejkolwiek poprzedniej erze. Idea, że jeden administrator systemów może zarządzać tylko kilkudziesięcioma serwerami – powszechne przekonanie w świecie GUI – była od dawna kwestionowana nawet w tradycyjnej administracji systemami „snowflake” z wiersza poleceń, gdzie liczby łatwo sięgały kilkuset. Ale model DevOps lub podobne modele automatyzacji przenoszą te liczby w tysiące serwerów na administratora. Narzut GUI staje się coraz bardziej oczywisty.
Wraz z upowszechnianiem się nowych technologii, takich jak cloud, kontenery i modele automatyzacji DevOps, naturalnie rośnie też „rozrastanie się” obciążeń. Oznacza to, że firmy wszystkich rozmiarów obserwują wzrost liczby obciążeń, którymi należy zarządzać. Firmy, które tradycyjnie miały zaledwie dwa lub trzy serwery, mogą mieć dziś dziesięć lub dwadzieścia wirtualnych instancji! Liczba firm potrzebujących tylko jednej lub dwóch maszyn wirtualnych stale maleje.
To wszystko nie oznacza wcale, że administracja przez GUI zniknie w bliskiej ani nawet dalekiej przyszłości. Potrzeba „jednostkowej” administracji systemami pozostanie. Jednak stosunek administratorów zdolnych do pracy w trybie „jednostkowym” GUI do tych, którzy muszą pracować przez wiersz poleceń, a konkretnie przez środowiska skryptowe lub nawet w pełni zautomatyzowane (w stylu Puppet, Chef, Ansible), już przechyla się niesamowicie szybko w kierunku administracji systemami bez GUI i praktyk DevOps.
Co to wszystko oznacza dla nas w okopach prawdziwego świata? Oznacza to, że nawet role, takie jak administracja Windows w małych firmach, które tradycyjnie miały niewielką lub żadną potrzebę pracy z wiersza poleceń, muszą przemyśleć uzależnienie od lokalnego GUI serwera w naszej pracy. Narzędzia i procesy wiersza poleceń stają się coraz potężniejsze, dobrze znane i są tym, czego się od nas oczekuje. W świecie UNIX wiersz poleceń zawsze pozostał i konieczność polegania na narzędziach GUI byłaby prawie zawsze postrzegana jako poważny handicap. To samo postrzeganie zaczyna się też odnosić do świata Windows. Powoli ci, którzy polegają wyłącznie na narzędziach GUI, są postrzegani jako obywatele drugiej kategorii i coraz bardziej relegowani do bardziej juniorskich ról i mniejszych organizacji.
Poprawa narzędzi do skryptowania i automatyzacji oznacza również, że wartość skali poprawia się, tak że koszt administrowania małymi liczbami serwerów staje się bardzo wysoki na jednostkę obciążenia, co oznacza bardzo silną zachętę dla mniejszych firm do poszukiwania konsolidacji zarządzania przez korzystanie z zewnętrznych dostawców zdolnych do specjalizowania się w zarządzaniu systemami na dużą skalę i wykorzystywania technik skryptowania i automatyzacji, aby zbliżyć ich koszty do kosztów większych firm. Możliwość korzystania z zewnętrznych dostawców w celu uzyskania skali lub jej przybliżenia będzie z czasem bardzo ważna dla mniejszych firm, aby pozostać konkurencyjnymi kosztowo w swoich potrzebach IT, przy jednoczesnym uzyskaniu tych samych korzyści z obliczeń, jakich większe firmy zaczynają doświadczać dziś.
Należy zauważyć, że równolegle z tym przesunięciem branży w kierunku wiersza poleceń i narzędzi automatyzacji następuje przejście do nowocześniejszych, potężniejszych i zasadniczo zdalnych GUI. Jest to mniej dramatyczne przesunięcie, ale nie powinno być przeoczone. Narzędzia takie jak RSAT Microsoftu i Server Administrator zapewniają widok GUI, który wykorzystuje interfejsy wiersza poleceń i API pod spodem. Podobnie świat Ubuntu firmy Canonical ma teraz Landscape. Narzędzia te są mniej popularne w przedsiębiorstwach, ale zaczynają umożliwiać większemu rynkowi SMB utrzymanie zależności od GUI przy jednoczesnym zarządzaniu większą liczbą instancji serwerowych. Postęp w tego rodzaju narzędziach GUI może być najsilniejszą siłą spowalniającą adopcję narzędzi wiersza poleceń w całej branży.
Niezależnie od tego, czy interesuje nas przejście od wiersza poleceń do GUI i z powrotem do wiersza poleceń jako ciekawego artefaktu historii Technologii Informacyjnej jako branży, czy patrzymy na to jako na sposób rozumienia ewolucji administracji systemami jako ścieżki kariery lub podejścia biznesowego dla własnych celów – dobrze jest docenić czynniki, które spowodowały to zjawisko, i dlaczego odpływ i napływ branży prowadzi nas teraz z powrotem na morze wiersza poleceń. Rozumiejąc te siły, możemy bardziej praktycznie ocenić, dokąd zaprowadzi nas przyszłość, kiedy fala może znowu się zmienić, jak najlepiej podejść do własnej kariery lub jak podjąć decyzje zarówno o technologii, jak i ludzkich talentach dla naszych organizacji.

