Сколько лет существуют компьютерные системы, столько лет рядом с ними находятся и сисадмины. Эти отважные души скрепляют и цементируют отдельные элементы центров обработки данных, осуществляют наладку систем, которые представляют собой гремучую смесь оборудования, средств хранения, операционных систем, связующего ПО и прикладных программ, и управление ими. Лучшие системные администраторы похожи на швейцарский армейский нож. Они вооружены всеми знаниями, которые требуются для поддержания нормального функционирования систем. В чем-то их функции схожи с функциями автомеханика, ведь для обеспечения работы сложных комплексов неоднородных систем нужно быть диагностом и ремонтником.
Конечно, за последнее десятилетие сложность ЦОДов многократно возросла. Системы разбиваются на отдельные функциональные компоненты, которые затем объединяются в централизованные группы. Во многих организациях все ресурсы хранения уже переведены в какую-то централизованную форму, SAN (storage area network - "сеть хранения") или NAS (network attached storage - "подключаемая к сети система хранения"). Это неизбежно приводит к тому, что от персонала требуются дополнительные специальные знания и навыки. Наряду с организациями, где есть отдельная группа, занимающаяся системами хранения, существуют и другие, и у них при переходе к централизованным системам хранения появляется новый набор задач, возлагаемых на все тех же сисадминов.
Но и в тех организациях, где функции поддержки сетей и средств хранения отделены от функций управления системами, сисадмины по-прежнему вынуждены проводить мониторинг, осуществлять управление и выполнять восстановление программного стека. ИТ-организации, которым нужно поддерживать приложения, как и раньше, полагаются на человеческую проницательность, знания и опыт.
И вот недавно в IEEE подготовили статью, которая заставил меня по иному взглянуть на будущее сисадмина. Самое интересное, что в статье ничего не говорилось о разработке в сфере ИТ, зато рассматривался процесс проектирования в автомобильной отрасли , а конкретно -- интеграция компьютеров в современные автомобили. В сегодняшних автомобилях старшего класса (подразумевается, что автомобили классом ниже разрабатывались пять-десять лет тому назад) используется порядка 100 млн строк программного кода. Они распределены между 70-100 блоками электронного управления. По сути, задачи организации освещения, управления двигателем и (вот здесь самое время вспомнить о том, с чем приходится сейчас бороться Toyota) торможения должны решаться с помощью специализированных компьютеров. Как прогнозируют аналитики Frost &Sullivan, в ближайшем будущем транспортные средства будут выполнять программы общим объемом до 300 млн строк кода.
Акцентируя внимание на том, во что сегодня превратились автомобили, автор приводит в качестве примера руководство по эксплуатации своей машины, занимающее ни много ни мало 500 страниц. Еще 200 страниц в документе отводится музыкальной системе и GPS. Понятно, что это уже не Oldsmobile вашего отца и даже не ваш Oldsmobile (Honda, Ford, Audi или что-то еще). Автомобили превращаются в сложную комбинацию высокотехнологичных устройств и программ, которая должна обеспечить транспортному средству необходимую безопасность, эффективность и привлекательность.
Похоже, что причиной появления статьи стал массовый отзыв продукции Toyota. Возможно, впервые люди задумались о том, какое влияние программное обеспечение оказывает на поведение автомобиля (а может быть, просто кто-то сказал им об этом). Ошибки, возникающие в процессе сложного взаимодействия между программными модулями различных блоков электронного управления, могут приводить к весьма неожиданным результатам, и это очевидно.
Впрочем, данный материал написан не для того, чтобы скорбеть о недостатках автомобилей Toyota. Мне бы хотелось привести одну выдержку из него: "... Половина блоков электронного управления, заменяемых механиками в автомобилях, являются технически исправными. Там нет ни аппаратных дефектов, ни программных ошибок. Механики заменяют блоки электронного управления просто потому, что другие способы устранения неисправностей им неизвестны. Ремонт и техническое обслуживание автомобиля в гараже превращаются в слишком сложную задачу. А рост популярности удаленной диагностики и ремонта приводит к тому, что во многих случаях механики становятся просто ненужными. В не столь отдаленном будущем при возникновении каких-либо осложнений с компьютерной системой вашего автомобиля вы прямо у себя в гараже сможете подключиться к сети, а удаленные специалисты снимут с вашего автомобиля все необходимые данные, проведут их анализ и установят вам скорректированные программы".
Усложнение автомобилей сужает возможности механиков, выполняющих диагностику на месте. Поэтому, столкнувшись с неисправностью, которая недоступна для их понимания, они просто демонтируют блок целиком и заменяют его на другой. Но в будущем даже это выйдет за рамки их полномочий. Автомобиль будет диагностировать удаленный специалист, который и подскажет местному механику, какие компоненты следует заменить, отрегулировать и т.д. Другими словами, за ремонт и техобслуживание будут отвечать несколько высококвалифицированных работников, находящихся в специализированном центре, и множество мастеров не слишком высокой квалификации на местах. А по-настоящему хорошему механику места в этом мире уже не найдется.
Возвращаясь к концепции облаков, мы можем утверждать, что видим перед собой ту же самую тенденцию. Сложность приложений постоянно растет. Объемы кода становятся поистине огромными. Выполнять его диагностику все труднее и труднее. Для понимания всего этого требуются специальные знания. На практике, как правило, нужна высококвалифицированная команда, каждый член которой обладает специальными навыками в своей области.
Нетрудно предположить, что эпоха сисадминов, к которым мы все привыкли, подходит к концу. В будущем все специальные знания сосредоточатся в крупных корпорациях, в удаленных центрах управления сетями. Для малого и среднего бизнеса эту роль будут выполнять поставщики услуг и специализированные компании, осуществляющие удаленное управление ИТ-услугами. В будущем мире приложений, доставляемых на виртуальные устройства, сотрудники клиента не смогут вмешиваться в работу программных продуктов. Задачи местного персонала ограничатся установкой физических устройств и их заменой.
Понятно, что мы нарисовали слегка гипертрофированную картину, но, тем не менее, в данном сценарии нет ничего невероятного. Число приложений стремительно увеличивается, а их сложность стремительно растет. Что-то охожее мы наблюдаем уже сегодня -- в производственной сфере. Раньше заводы были заполнены сотнями рабочих, которые выполняли производственные операции вручную. Современные фабрики нашпигованы компьютеризированными инструментами и отличаются очень высоким уровнем автоматизации. На этих фабриках задействовано гораздо меньше рабочих, а те, что остались, являются высококвалифицированными специалистами, они хорошо знают, что нужно делать с компьютеризированными инструментами и как управлять фабричной системой в целом.
Сисадмин завтрашнего дня -- не тот, кто сумел освоить несколько разрозненных технологий и способен писать связующие их скрипты. Это системный инженер, который, подобно врачу, проводит осмотр, диагностику и лечение очень сложных программных агломераций. Остается открытым единственный вопрос: достаточно ли у нас сегодня таких специалистов? Никто ведь до сих пор не пытался заглянуть в завтрашний днь, когда компьютеризация станет настолько всеобъемлющей, что на земле может просто не хватить технических специалистов, обладающих необходимой квалификацией для эффективного управления всем этим.