В епохата на електронните облаци създаването на Linux сървър със собствените си ръце изглежда е застрашено изкуство. За непосветените дори скриптовете на bash изглеждат като заклинания, а колегите уважават системния администратор, както древните индианци уважават своя шаман…
Сега това „древно изкуство“ отново става актуално. Историята се върти в кръг – всичко старо се завръща под нова форма. Пускането на сървър на собствен хостинг се превърна в добра алтернатива на облака. За това има редица причини, които няма да обсъждаме подробно, а само ще повторим накратко: сигурност, свобода, контрол върху данните, икономисване на финанси.
Старото или новото. Контрол или зависимост
Изборът за активно управление на инфраструктурата (на място, VPS, собствени сисадмини) е част от по-широка дискусия за това как да изберете правилните инструменти и технологии. Тази дискусия е обширна и се води на много фронтове. Като цяло тя е по-скоро философски въпрос за избора между старото и новото. Между скучното и интересното. За решаването на важните задачи хората са склонни да избират все още скучните, изпитани и надеждни технологии. Възможно е дори те да са по-малко ефективни и/или по-малко удобни.
Така например, ако трябва да изберете най-добрия инструмент за всеки конкретен проблем, на теория се получава следното:
На практика обаче действителният избор изглежда по-различно:
Такъв е животът. Когато правим избор, не разглеждаме само техническите фактори.
Старото/новото е първото измерение в многоизмерното пространство на избора.
Втората ос е управлявани/неуправлявани услуги. В единия случай контролираме всичко сами, а в другия сме изцяло във властта на облачна BaaS/PaaS платформа, която предоставя пълен набор от услуги. Между тези две крайности има различни компромиси като управлявани облачни услуги от рода на Amazon RDS.
Последното десетилетие на ИТ индустрията спокойно може да се нарече ерата на облачните услуги, когато всички единодушно се насочиха към AWS, GCP и Azure. Всяка компания смяташе, че колкото по-малко управлява инфраструктурата си, толкова по-добре. Да спести от хардуер, да уволни всички системни администратори и инженери и просто да печели пари.
Но сега се оказва, че това не е толкова просто. И ситуацията бавно се променя към по-компромисни решения – частично управлявани услуги с инженери на щат.
Тъй като облачните платформи стават все по-сложни (и по-скъпи), изведнъж си спомнихме, че преди 10-15 години дори една много малка компания можеше да управлява силно натоварена услуга на собствените си сървъри. До такава степен, че това можеше да бъде направено от един човек, един-единствен системен администратор, като Марко Армент (на снимката горе), който собственоръчно написа и пусна сайта Tumblr някъде около 2007 г. (продаден на Yahoo за 1,1 млрд. долара шест години по-късно). И човек започва да се чуди: дали цялата тази промяна в облака е нещо добро?
Изборът на Марко Армент през 2005 г. е: дистрибуцията CentOS (по същество безплатна версия на Red Hat Enterprise Linux), която отговаря на три основни изисквания:
- много стабилна (консервативна), така че да няма чести актуализации, които биха могли да развалят всичко;
- бавно развиваща се, за да не се налага да се учат отново основите на операционната система и да се усвояват нови инструменти;
- популярна, така че в интернет да има много инструкции за всеки въпрос.
Той казва, че Debian също не е лоша опция.
От другите самостоятелно хоствани сайтове с милиони потребители и минимална поддръжка (1-2 души) можем да разгледаме архитектурата на Stack Overflow. Сещам се и за примера на WhatsApp, когато компанията е имала персонал от 50 души и аудитория от над 200 милиона потребители. Първоначално руският програмист Игор Соломенников от борсата за свободни професии RentACoder.com пише това приложение сам по молба на основателите на WhatsApp, които не са добри в програмирането. За съжаление Игор така и не става съсобственик на компанията, която пет години по-късно е продадена за 19 млрд. долара.
Всъщност има много такива примери. Основният принцип на тези компании е, че те имат собствен хостинг по подразбиране и настройват силно натоварените сървъри по такъв начин, че да изискват минимално администриране и поддръжка.
Сисадмините се превърнаха в разработчици
Повсеместното преминаване към облака е обективен факт. Причините за това можем да обсъждаме дълго време: разпространението на философията „бързо развитие с чести актуализации“, маркетинговите бюджети на техногигантите, пропагандата на технологичните медии. Истината, както винаги, е някъде по средата. Облачните услуги и контейнерите са големи постижения в ИТ, трябва да ги използваме, но и да не забравяме за собствените си сървъри, защото само върху тях може да се изгради наистина високонатоварена услуга при това евтино и изключително ефективно.
Администрирането на Linux сървъри, разбира се, е умиращо изкуство, но в същото време е все по-търсена професия. Програмирането на Bash е търсено дори в областта на уеб разработката. Bash скриптовете могат да правят абсолютно всичко: да генерират уебсайт (особено в комбинация с ChatGPT) и да изграждат уеб сървър.
В сравнение с това разработването на модерен уебсайт с модерна технология изглежда като пълна лудост:
В днешно време сисадмините, devops и изобщо всички програмисти имат още едно незадължително умение – работа с ChatGPT, т.е. компетентно конструиране на заявки (promts). Съществуват малки трикове, какви думи да се добавят към заявката, така че отговорът да е по-точен и информативен, когато поискате да съставите баш-скрипт или да генерирате конфигурационни настройки. По принцип работодателите все още не изискват тези знания задължително, но е полезно самите специалисти да усвояват нови инструменти. За тяхно собствено удобство, а и за да пестят време. Просто трябва да проверят всичко, което тази система дава. Но ChatGPT наистина ви изненадва, като ви предлага такива варианти на синтаксиса на Bash, за които дори не сте знаели, например разширяване на параметър с вложени скоби и т.н. По този начин ChatGPT може да изпълнява ролята на инструктор и учител по нещо…
Като цяло от съвременния системен администратор (devops) се изисква да разбира от много други неща: всички продукти на Amazon (а те са около сто и списъкът постоянно се променя), да познава и другите облачни услуги, да може да програмира малко, а също и да е в крак с всички новости в областта на информационните технологии.
Загубата на компетентност
Преминаването към облака и уволняването на сисадмини е необратима загуба на компетенции, специалисти и технологична деградация. Освен това след това възниква проблемът с връщането към вашия хостинг (on-prem). Това е така нареченото „репатриране в облака“: в много случаи се оказва, че преместването в облака е необратимо действие. Почти никога не е възможно да се „върне назад“. По две причини:
- обвързване с доставчика;
- загуба на компетентност.
Ако изградите системата на собствен локален или VPS сървър, можете да преминете към друг хардуер или хостер по всяко време. В случая с облачните услуги това е нетривиална и невинаги възможна процедура, тъй като някои доставчици имат уникални и собствени услуги (като AWS Lambda), които не могат да бъдат изнесени толкова лесно. Това е „vendor lock-in“ („тотално обвързване с доставчика“).
При загубата на компетентности всичко е ясно – ако опитен сисадмин е работил във вашата компания дълги години и е знаел всичко като петте си пръста, след уволнението му никога няма да намерите друг. Просто защото никой от специалистите на пазара на труда няма опит в работата във вашата компания. Ще трябва да обучавате новак от нулата, а кой ще го направи?
Така се оказва, че преходът към облака става необратим. Ето защо са популярни инструментите от рода на Cockpit, за да може дори новак да управлява VPS сървър от под Windows, който дори не познава конзолата. Но това са заместители.
Базовите знания
Жалко е, че създаването и управлението на Linux сървър на свой собствен хардуер/хостинг се превръща в изчезващо изкуство. Всъщност това е изключително полезно професионално умение. Основите на администрирането на Linux и огромната библиотека от софтуер, който да инсталирате на собствения си сървър, са едно от най-полезните неща, които един Devops и разработчик може да научи, особено в началото на кариерата си. Тези знания отварят цял нов свят от възможности. Те ви дават разбиране за това как всъщност работят нещата, как да използвате хардуера до неговата максимална ефективност.
Управлението на Linux сървър е основно умение, което ще остане актуално след години и десетилетия. Най-вероятно и през цялата ви кариера. Bash, SSH, nginx/Apache и дори самият Linux – нито едно от тези неща няма да бъде остаряло в обозримо бъдеще. Помислете, какво друго е толкова трайно в ИТ индустрията? Колкото по-рано човек усвои тези инструменти, толкова по-добре.
Дори в домашни условия уменията за системна администрация ще ви спестят десетки или стотици долари на месец, защото можете да изградите инфраструктурата, за която компаниите за облачни услуги събират месечна такса. Същите системи за видеонаблюдение, услуги за стрийминг, медийни сървъри, NAS (домашно производство, а не патентовано), системи за архивиране, интелигентен дом и др. А спестените сто долара на месец вече са 52 093 долара за двадесет години (капитализирани със 7% годишно) или 75 937 долара (капитализирани с 10%). За 200 долара на месец няма какво да говорим, цифрите са астрономически…
Това е стойността на основните умения за управление на Linux сървъри в едно домакинство.
Оказва се, че изучаването на Linux е една от най-ефективните инвестиции в живота на човек. Само за няколко месеца можете да получите от 50 000 до 75 000 долара, а освен това е и много забавно. Програмирането е като пристрастяване, организмът ви се опиянява и се нуждае от по-висока доза.
Що се отнася до развитието на цялата индустрия, след масовото преминаване към облака някои компании изведнъж откриха, че един обикновен сървърен шкаф може да бъде няколко пъти по-евтин от облачната услуга. И сега те се връщат обратно: в сървърните помещения в края на коридора на офиса (или при хостера).
Авторът на оригинала препоръчва следните материали за придобиване и усвояване на необходимите начални умения и базови навици:
- Книгата Effective Shell (Ефикасна конзола – effective-shell.com/), онлайн, безплатна
- Ръководство за осигуряване на безопасността на Linux сървъра (https://pboyd.io/posts/securing-a-linux-vm/), онлайн, безплатно
- Упражнения за Devops (сега 2624 упражнения и въпроси). Много полезно и при подготовка за интервюта за работа (github.com/bregman-arie/devops-exercises), безплатно
- Управление на Linux, колекция от хранилища в Github (github.com/topics/linux-administration), безплатно
Източник: Kaldata
Leave a Reply