[Из песочницы] Инженерная инфраструктура как основа информационной системы

Зачастую специалисты, занятые в ИТ, слабо представляют себе всю совокупность и сложность информационной системы и, особенно, ее окружения. Это в общем нормально в нынешнее время узкой специализации, но настоящему специалисту все же желательно иметь представление по крайней мере о том, что может воспрепятствовать реализации его замысла. В конце концов, понимание того, что работа твоего программного комплекса зависит от многих и многих факторов, в том числе иногда неочевидных, никому не помешает.

image
Трактовку понятия информационной системы можно посмотреть, например, в Википедии.

На всякий случай:

ограничения и соглашения

1. Изложенное ниже — не догма, это исключительно мое видение ситуации. Основанное, однако, на довольно большом опыте практической работы.
2. В нынешние времена доступ к информации подразумевает почти исключительно использование электронных средств, о них и буду говорить, оставив за скобками газеты, книги и классические библиотеки.
3. Ограничимся достаточно незначительными масштабами, скажем, от персональной, домашней, самой мелкой сети, до системы отдельного предприятия — рассматривать вопрос в рамках планеты или хотя бы страны можно только теоретически, а меня интересуют прежде всего прикладные аспекты.
4. Заодно оставлю в стороне такой немаловажный компонент информационной системы, как программное обеспечение всего комплекса, упор буду делать на «железные» компоненты. Это, конечно, неправильно. Подразумеваем, что ПО в той или иной мере присутствует в любом элементе системы.
5. Приводимые ниже цифры вполне условны, как пишется в конструкторской документации, «справочные».


Подсистемы информационной инфраструктуры. Назначение подсистем, задачи, которые они решают


Как мне видится инфраструктура информационной системы? Эдакая пирамида, вершина которой, «первый слой» — потребитель и искомая, обработанная и готовая к употреблению информация. Информация, как воспринимаемое человеком нематериальное. Человек — тоже элемент этой инфраструктуры, и довольно значимый, как и программное обеспечение; однако, к техническим, инженерным элементам его относить почему-то не принято. Не стану и я.

Что такое — эта информация? То, что мы видим на экране монитора, слышим из динамиков; то, на основе чего мы принимаем некие решения — или осознанно делегируем право принять эти решения опять же вычислительной технике.

Условно «второй слой» пирамиды — интерфейсы, устройства отображения, управления, ввода-вывода. Почему я решил вынести интерфейсы в отдельную сущность? Потому, что от «качества» предоставляемой потребителю информации зависят принимаемые им решения — по вполне субъективным причинам. Да и технически, и программно-технически интерфейсы — вполне независимая область.

«Коммуницируют» интерфейсные системы непосредственно с третьим слоем, с устройствами обработки информации, которые преобразуют массивы данных в вид, доступный для представления, с теми же персональными компьютерами. В нынешние времена иногда уже трудно провести границу между интерфейсом и «вычислителем», пример тому — смартфоны и планшеты.

Компьютер (ноутбук, планшет, смартфон) сам по себе, без данных для обработки, без связи с источником информации — не особо нужная дорогая железка. Когда-то «источником» данных для вычислительных систем были (если оставить за кадром первоисточник — человека и окружающую действительность/среду) телетайпы, перфокарты, перфоленты, затем магнитные ленты… Теперь исходные данные, как правило, берутся через сети с других вычислительных устройств, мест массового хранения, посредством телекоммуникаций. Это четвертый слой, обеспечивающий связи оконечных устройств, готовящих информацию к употреблению человеком, с источниками данных.

Пятый и шестой слои — обработка первичной, базовой информации, и хранилища данных. Под этими двумя слоями можно понимать, например, весь Интернет — в качестве субботнего развлечения, или дата-центр, или отдельный майнфрейм, привязанный к системе хранения данных, дисковому массиву, десятками каналов FiberChannel через соответствующие коммутаторы (тут своя мини-иерархия, которая тоже укладывающаяся в приведенную схему); или просто домашний NAS-сервер.

А вот далее (ниже) идет как раз то, что принято называть инженерной (в отличии от информационной) инфраструктурой. То, что обеспечивает нормальную работу всего того, что перечислено выше.

Понятно, что для осуществления описанного только что способа доступа к информации (и оперирование этой информацией) в рамках принятых ограничений необходимо использовать технические, и не просто технические, а высокотехнологичные, средства. Которые работать могут только при выполнении ряда условий.

Далее очевидное:

  • Во-первых, без электроэнергии, причем соответствующей определенным требованиям, стандартам, работа ИТ оборудования, как ни странно, невозможна — такой вот парадокс.
  • Во-вторых, электронные компоненты ИТ оборудования, в соответствии с законами физики, работать нормально, без большого количества сбоев, могут только в довольно ограниченном диапазоне температур, условно от -40 до +50ºC, а «комфортным» вовсе считается диапазон 20±2ºC. При этом само ИТ оборудование является источником тепла: вся потребляемая электрическая энергия превращается компонентами ИТ систем в энергию тепловую.
  • В третьих, из-за применяемых ныне технологий, существуют ограничения на уровень относительной влажности воздуха: при повышенной влажности возможно выпадение росы, а значит, вероятно замыкание в электрических схемах; при низкой влажности возможно накопление статического электричества, и растет вероятность пробоя электрических компонентов.
  • В четвертых, учитывая «во-вторых и в третьих», ИТ оборудование надо оградить от нежелательных внешних воздействий, начиная от попадания в них пыли, и заканчивая камнем, брошенным хулиганом. Слой пыли затрудняет отвод тепла от компонентов, и способствует накоплению статики; с камнем и так все понятно.
  • Есть еще проблема компактного размещения ИТ систем и систем, их обеспечивающих. То есть — архитектурная подсистема, выделенная зона, или помещение, или здание, или сооружения, где все хозяйство размещено. Проблема эта решается по разному, и зачастую это решение требует весьма значительной части средств, выделяемых на информационную систему. Оставим это в стороне, хотя это тоже неправильно — как и то, что не учитываем ПО.


image

Вот таким толстым получается седьмой, инженерный, слой информационной инфраструктуры — своя отдельная сложная инфраструктура из нескольких, иногда многих, подсистем.

Что занимательно, это еще вовсе не конец цепочки, поскольку далее идет транспортировка энергии, городские и региональные сети электроснабжения, генерирование мощностей, добыча энергоносителей… Но это, будем считать, за рамками темы, я же обещал ограничиться масштабами предприятия.

Цели, ради которых строится конкретная информационная система; зависимость инфраструктуры от выбранной цели


Цель, собственно, понятна: обеспечить потребителя, имеющего необходимый уровень ответственности (или просто право), информацией для окончательного анализа и принятия решений; как вариант — для получения некоего удовольствия (в компьютерные игры играете? А фильмы? А музыка?). От итоговой важности решаемой задачи напрямую зависят масштабы инфраструктуры, призванной обеспечить потребителя информацией.

Информационная инфраструктура. Примеры очевидны: с одной стороны, «домашняя сеть», включающая ПК, ноутбук и пару смартфонов в качестве клиентов, роутер в качестве центрального узла, и единственный канал связи до провайдера; с другой стороны — предприятие с филиалами в половине мира, с полутора десятком дата-центров по всей стране. Диапазон получается широчайший. Соответственно, для реализации этих двух инфраструктурных решений требуется оборудование разного уровня; производители в курсе этой «проблемы», и заранее позиционируют устройства: «домашний wi-fi роутер», «коммутатор для рабочих групп», «сервер масштаба предприятия».

Сложность и дороговизна решений для каждой конкретной задачи определяется важностью этой задачи — с этим определились давно. Насколько ценны вам, как частному лицу, ваши фотографии, видеозаписи, фильмы и книги, хранимые на диске ноутбука? Стоят ли они приобретения NAS с RAID-массивом уровня 10? Или достаточно будет «флэшки» на 8 гигабайт? Или, например, двух флэшек по 32 гигабайта? Окупят ли затраты на NAS ваши моральные страдания от возможной утери уникальных фоток с Кипра?

С другой стороны, насколько ценна коммерческому банку информация, «живущая» в петабайтном хранилище? Нужно ли его, хранилище, зеркалировать вторым таким же в другом городе, или будет достаточно ежедневного бэкапа на ленты? Будут ли потери от простоя банка на ремонты и восстановление после краха СХД настолько велики, что «зеркало» за несколько десятков миллионов долларов окажется мелочными расходами?

Инженерная инфраструктура. Нужно ли покупать домой источник бесперебойного питания, который займет дефицитное место, но может спасти от потери данных? Оправданы ли затраты — если на вашей памяти электричество дома отключали два раза за последние пять лет? А какую схему резервирования кондиционеров дата-центра выбрать: N+1 или 2N – учитывая, что каждый лишний кондиционер холодильной мощностью, например, 50 кВт, обойдется в полтора миллиона?

Вопросы достаточно риторические, любая инфраструктура должна соответствовать масштабам задачи, и строиться на основании пусть и не слишком точных, но расчетов.

Определение масштабов инфраструктуры, состав подсистем


Пока ваши «фотки» помещаются на один компакт-диск, у вас как бы и нет проблем с инфраструктурой: ваши данные всегда в сохранности (если, конечно, вы не забываете сами об этом заботиться), доступности, а в случае краха вашей персональной информационной системы эти данные достаточно просто восстановить. Иное дело, когда объем данных, к которым хоть иногда необходимо иметь доступ, составляет десятки и сотни терабайт; при этом легко представить ситуацию, в которой вы (предприятие) понесете убытки (финансовые, репутационные, моральные в конце концов) если эти данные окажутся недоступными, даже на непродолжительное время.

Можно попытаться определить необходимые масштабы инфраструктуры, и необходимый состав ее систем и подсистем.

Объемы предоставляемой потребителю информации (той, которую надо хранить «у себя») вполне можно оценить, это то, что используется в повседневной деятельности и, в итоге, «оседает» на жестких дисках — за исключением информации случайной и непроизводительной (для предприятия это, скажем, глубоко личные запасы музыки на персональных компьютерах сотрудников; дома же, например, сериалы, которые после просмотра можно без сожаления стереть, но которые пока еще занимают место на диске). То есть те объемы данных, которыми оперируем в настоящий момент, и которые могут понадобиться в дальнейшем. Спрогнозировать рост объема данных можно при наличии маломальской статистики за предыдущие периоды (если вы — предприятие, а такой статистики у вас нет, то ваши админы — или конченные лентяи, или некомпетентны).

По имеющимся объемам данных, интенсивности их использования и прогнозам роста на основе статистики вполне можно прикинуть, какую технику на каком «уровне» инфраструктуры использовать.

Характер конечной информации может определять содержание «верхних слоев» инфраструктурной пирамиды,
технический уровень средств интерфейса, и предоставления информации: дизайнерская веб-студия вряд ли сможет эффективно конкурировать на рынке, предоставив своим ведущим сотрудникам компьютеры на базе Pentium-III для рендеринга, и 14-дюймовые мониторы с разрешением 800х600; с другой стороны, многие бухгалтерии такой техникой пользуются, и вполне могут пользоваться еще годы.

Интенсивность использования данных и их объемы определяют требования к средствам передачи данных:в приведенном выше примере с бухгалтерией достаточно будет иметь (для средней величины конторы) сеть, построенную на основе «медной» структурированной кабельной системы категории 5/5е и коммутаторов 10/100 Layer 2. Ядро сети дата-центра банка требует уже оптику для SAN и не только, коммутаторы Layer 3-4 с интерфейсами со скоростью передачи 2-8 (для SAN) и 1-10 (для прочих) гигабит в секунду.

Средства обработки информации представлены серверами разной производительности (и, соответственно, мощности), исполнения, стоимости и даже назначения: от уровня рабочей группы в корпусе Midi-Tower до монстров класса IBM p795. В «среднем» сегменте популярными заслуженно стали блэйд-серверы (в основном, из-за гибкости решений). Выбор конкретной системы зависит от сложности решаемых задач (две большие разницы: расчет теплозащиты космического аппарата методом конечных элементов, или «поиграть в сапера») и, соответственно, требуемой производительности.

Хранение данных — задача достаточно традиционная, решается разными способами (база, тем не менее, сейчас у всех способов одна — в основном жесткие диски, если иметь в виду оперативное хранение, SSD для критичных к скорости обработки данных задач, и магнитные ленты для резервных и архивных копий; вообще-то о резервировании информации разговор особый; в частной жизни добавляются CD/DVD и «флешки»). Способы выбираются — как ни странно — в зависимости от требуемых объемов хранения и скорости доступа. Это может быть раздел на единственном HDD в домашнем компьютере, RAID-массив внутри сервера, дисковая «полка» или их массив, или Hi-End система из трех (пяти, семи) шкафов 42U, один-два из которых — «мозги», контроллеры, а остальные — дисковый массив.

Требования к системам инженерной инфраструктуры определяются из характеристик всего, перечисленного выше. Основной показатель — потребляемая мощность, это основа для дальнейших расчетов — если речь идет о предприятии. Почему основной? Оплата электроэнергии составляет львиную долю затрат на эксплуатацию дата-центров. Центр обработки данных, где установлено ИТ оборудование электрической мощностью 250 киловатт, за год потребляет только на вычисления почти 2,2 тысячи мегаватт-часов, а вместе с инженерной инфраструктурой от 3 до 4 тысяч мегаватт-часов, в зависимости от эффективности инженерных систем. В деньгах на сегодня это значит от десяти до двенадцати миллионов рублей. Такие потенциальные траты не должны быть неожиданностью, и требуют предварительной оценки. Как?

Суммируем электрическую паспортную мощность, потребляемую каждым ИТ устройством, добавляем 10-20% «на всякий пожарный случай» (по нашим замерам во время формирования отчетов, то есть при интенсивных вычислениях, потребляемая мощность ИТ системы увеличивалась в среднем на 9,67 процента по сравнению с обычной, установившейся повседневной мощностью), при необходимости прибавляем запас на развитие, и получаем мощность, которую будет потреблять ИТ оборудование, то есть примерно 50-70% от необходимой общей мощности (для всей инфраструктуры). При этом становится понятна требуемая мощность систем гарантированного и бесперебойного питания, а заодно — и количество тепла, которое надо будет отводить от ИТ оборудования и от ИБП, то есть — можно оценить мощность системы кондиционирования. После этого определяемся с минимально допустимыми уровнями резервирования, и основа для черновых расчетов готова.

К мощностям ИТ оборудования добавляются мощности систем «инженерки», и в результате определяются требуемые мощности внешнего электроснабжения, и системы гарантированного питания: аварийных дизельных генераторов, или чего-нибудь подобного. То есть — энергетика.

Такая методика, с некоторыми поправками, применима, в общем-то, для грубой оценки как масштабов необходимой для «функционирования бизнеса» информационной инфраструктуры, так и затрат на нее — с учетом мер по обеспечению некоторой безопасности. Впрочем, о безопасности речь отдельная, штука это многогранная и разнообразная в своих проявлениях, и в предельных вариантах стоить может очень дорого. Кстати, одной из мер обеспечения безопасности можно считать повышение надежности как всей инфраструктуры, так и подсистем и компонентов, ее образующих.

Вопросы надежности


Надежность технических систем — вполне себе многоплановая и занимательная наука. Но нас интересуют только прикладные аспекты; главный вопрос — как обеспечить приемлемую надежность информационной инфраструктуры за приемлемые деньги. Поскольку:

  • Основной способ повышение надежности — резервирование и дублирование компонентов (устройств, подсистем, каналов связи и пр.).
  • Дополнительный способ — использование высоконадежных, а поэтому дорогих компонентов.
  • Оба этих способа повышения надежности требуют определенных затрат.


Исходя из «цены» возможных потерь в случае отказа какого-нибудь компонента или системы в целом, и следует выбирать способ повышения надежности и/или уровень резервирования. Исключительно для получения удовольствия сравним два крайних варианта — домашняя сеть и крупное предприятие. Пойдем по уровням инфраструктурной пирамиды снизу вверх, от базиса к надстройке, то есть начнем с энергетики, занося в таблицу данные подсистем и компонентов. В таблице хорошо смотрелись бы и промежуточные варианты, скажем, для малых и средних предприятий, но тут контраст между совсем малым и достаточно большим доставляет сильнее. Повторюсь: цифры в таблице достаточно условны, и даны, чтобы можно было наглядно сравнить затраты. В реальности могут «плавать» очень сильно.

image

По-моему, получилось показательно. Разный уровень важности решаемой задачи определяет разные масштабы, а масштабы определяют разную стоимость решения.

При этом заметьте, что принципиальной разницы между инфраструктурой, например, «Мобильных телесистем», или ВТБ-24 и вашей домашней сетью нет. Никто и ничто, кроме соседей и кошелька, не помешает вам, если посчитаете свои личные данные бесценными, дополнительно их защитить: установить ИБП под каждое устройство, а на балконе — аварийный бензиновый генератор на самый уж крайний случай; подключиться к двум независимым провайдерам, установив на каждом канале по отдельному роутеру/коммутатору; добавить к имеющемуся NAS с RAID-массивом пятого уровня еще один, в зеркало; положить «про запас» под шкаф еще один системный блок, идентичный стоящему на столе (так называемый «холодный резерв», ага), а в стоящий на столе вставить пишущий BlueRay привод, на котором еженедельно нарезать очередную болванку с бесценным; а записанные болванки раз в месяц отвозить в банковскую ячейку; и так далее. Только нужно ли вам это?

В качестве заключения


Работа любой достаточно сложной системы зависит от нормального функционирования некоей совокупности других систем, мелких и не очень. Иногда полезно об этом помнить, особенно при реализации высокотехнологичных проектов. Полезно также иногда выбираться за границы своей предметной области, дабы иметь представление о том, как функционируют системы в целом, от чего зависят и на что влияют.

© Habrahabr.ru