Экологичная модель развития виртуализацииКевин Фрэнсис (Kevin Francis), Питер Ричардсон (Peter Richardson) Краткое содержание.Сегодня самая главная проблема, стоящая перед окружающей средой, – это глобальное потепление, вызванное выбросами углекислого газа. Согласно докладу Управления по информации в области энергетики (см. раздел «Ресурсы»), около 98 % выбросов СО2 (или 87 % выбросов всех парниковых газов, эквивалентных СО2) связаны с ростом потребления электроэнергии. Сегодня многие организации открыто заявляют о своем желании работать «экологично», декларируя принципы природоохранной деятельности и способы снижения негативного воздействия на окружающую среду на своих корпоративных веб-узлах. Кроме того, многие компании платят (или собираются платить в ближайшем будущем) своего рода налог на выброс углекислого газа, потребляемые ресурсы, а также на вредное воздействие на окружающую среду, которое оказывают производимые ими продукты и услуги. Таким образом, снижение потребления электроэнергии означает для предприятия реальную финансовую выгоду. СодержаниеИспользование архитектурных принципов Почему большинство приложений не являются экологичными Эталонная модель виртуализации Уровень 0: начать с домашнего компьютера Уровень 1: совместное использование лучше Уровень 2: максимальное совместное использование инфраструктуры Более яркий оттенок зеленого: облачные вычисления Уровень 3: облачная виртуализация Удостовериться, что облако зеленое изнутри Переход на последующие уровни виртуализации Заключение Ресурсы Использование архитектурных принциповСуществуют различные способы проектирования архитектуры. Независимо от используемого подхода, применение архитектурных принципов всегда оправданно и полезно. Архитектурные принципы – это ключевые решения, которые, как правило, принимаются и согласовываются на организационном уровне в рамках корпоративной архитектуры домена. Благодаря этим принципам принимать важные решения можно прямо на месте и гораздо быстрее, при этом они будут четко документированы и понятны всем архитекторам организации. В рамках отдельного проекта использование архитектурных принципов помогает придерживаться архитектуры проекта и предупреждать бессмысленные технические споры. Важно также согласовывать архитектурные принципы с основными принципами предприятия, чтобы труд группы разработчиков способствовал достижению более масштабных целей организации. Таким образом, нам нужны такие архитектурные принципы, которые не только были бы разработаны с учетом воздействия на окружающую среду, но и которые можно было бы привести в соответствие с экологическими принципами всей организации. Почему большинство приложений не являются экологичнымиПри проектировании приложений хорошие архитекторы рассматривают целый ряд факторов, таких как надежность, масштабируемость, безопасность и удобство использования. Воздействие на окружающую среду, в общем, никогда не считалось важным фактором. Причем проблема лежала несколько глубже, нежели недостаточное внимание, уделяемое влиянию приложения на экологию. Экологичное архитектурное проектирование требует тщательного планирования на более детальном уровне, чем обычно, а также совместной работы архитекторов программного обеспечения и архитекторов инфраструктуры. Прежде чем мы рассмотрим подходы к разработке экологически эффективных систем, будет полезно изучить наиболее распространенные приложения, которые используют ресурсы неэффективно. Первый пример: приложения выполняются только на серверах – не из-за ограничения мощности, а во избежание потенциальных конфликтов с другими приложениями, которые могут возникнуть из-за сложностей с установкой приложений или просто потому, что приобретение общего сервера проблематично вследствие бюджетной или закупочной политики организации. В этом случае очевидна бесполезная потеря ресурсов Другой пример: приложения, которые работают на многопроцессорных компьютерах, фактически используя лишь один процессор. Это характерно для многих приложений, которые были разработаны для однопроцессорных ПК, а сейчас функционируют на ПК с несколькими процессорами. Кроме того, приложения, разработанные для многопроцессорных ПК, могут использовать не все возможности оборудования. Такие приложения расходуют вычислительную мощность и электроэнергию непроизводительно и даже могут ограничить возможность эффективного запуска нескольких приложений на одном сервере. И это вновь приводит к тому, что данные приложения приходится размещать на выделенных серверах. Кроме того, очень часто компьютеры используются недостаточно или не используются вообще: это серверы, на которых размещены приложения, запускающиеся только в определенное время, либо серверы, включенные круглосуточно, хотя обеспечивают доступ к файлам и принтерам лишь в течение дня. Еще один пример – тестовые среды, которые используются редко, но работают постоянно, а также компьютеры, которые не отключают, поскольку никто точно не знает, что на них происходит. Наверное, почти в каждой современной крупной организации есть множество подобных примеров: приложения, потребляющие значительное количество ценных ресурсов, что в результате приводит к выбросам загрязняющих веществ. Эталонная модель виртуализацииТермин «виртуализация» используется для обозначения многих понятий, но в самом широком смысле он касается концепции общего доступа. Для того чтобы разобраться в формах виртуализации и ее значении для архитектуры при разработке и развертывании новых приложений, мы предлагаем эталонную модель, позволяющую описать различные формы этой концепции. В данной модели мы рассматриваем по восходящей уровни абстракции, на которых может применяться виртуализация (их перечень приведен в таблице 1). Мы утверждаем, что более высокий уровень виртуализации соответствует снижению потребления энергии, а значит, архитектуры этого уровня более экологичны, чем те, которые базируются на низких уровнях, что мы и обсудим далее. Таблица 1. Уровни развития виртуализации
Уровень 0 («Локальный») означает полное отсутствие виртуализации. Приложения постоянно работают на отдельных компьютерах, общий доступ к данным или ресурсам сервера отсутствует. Уровень 1 («Логическая виртуализация») – это концепция общего доступа к приложениям. Она реализована, например, на серверах отделов, где исполняются приложения, доступные клиентским ПК. Сначала это были большие ЭВМ, затем появилась технология «клиент – сервер», которая позже эволюционировала в сложные многоуровневые структуры. Не являясь виртуализацией в полном смысле этого слова, данная концепция стала, пожалуй, самым важным шагом в развитии виртуализации. В крупных организациях, как правило, имеется множество приложений с большим функциональным перекрытием между ними. Например, многочисленные системы, выполняющие функции управления взаимоотношениями с клиентами (CRM). Уровень 2 («Виртуализация центра обработки данных») связан с виртуализацией аппаратного обеспечения и инфраструктуры программного обеспечения. Основная предпосылка здесь заключается в том, что отдельные развернутые серверы не должны потреблять аппаратные ресурсы выделенного оборудования; таким образом, эти ресурсы могут использоваться несколькими логическими серверами. Именно этот уровень чаще всего ассоциируется с термином «виртуализация». Его отличие от Уровня 1 состоит в том, что аппаратно-программная инфраструктура, на которой работают приложения или серверы, сама по себе является общей (используемой совместно, виртуализированной). Для серверной инфраструктуры эта задача решается с помощью таких платформ, как Microsoft Virtual Server и VMware, позволяющих запускать множество виртуальных серверов на одном физическом. В решениях для хранения данных этого уровня используются технологии, связанные с сетью хранения данных Storage Area Network (SAN). В этой сети физические устройства хранения данных могут быть объединены и разбиты на логические устройства хранения, воспринимаемые серверами как выделенные хранилища, обеспечивающие, однако, более широкие возможности эффективного управления. Похожей концепцией в области сетевых технологий на этом уровне является виртуальная частная сеть (VPN). В этом случае общедоступные сети настраиваются таким образом, чтобы представлять на логическом уровне частную и защищенную сеть. Это намного эффективнее, чем прокладывать выделенную физическую сеть. Уровень 3 («Облачная виртуализация») расширяет Уровень 2 таким образом, что виртуализируются не только ресурсы, но и местоположение и принадлежность инфраструктуры – посредством облачных вычислений. Это означает, что виртуальная инфраструктура больше не привязана к физическому месту и потенциально может быть переконфигурирована или перемещена в любую точку как внутри, так и вне сети клиента или административного домена. Смысл применения облачных вычислений заключается в том, что мощности центров обработки данных можно объединить в масштабах, недоступных для отдельной организации, и разместить в более выгодных местах (например, с точки зрения предоставления электропитания), чем те, которые могут себе позволить отдельные предприятия. Таким образом, появляется возможность существенно повысить эффективность за счет эффекта масштабирования, связанного с большим количеством организаций, разделяющих одну и ту же инфраструктуру. Серверы и хранилища, виртуализированные до этого уровня, как правило, называют облачными платформами и облачными хранилищами – это, например, Google App Engine, Amazon Elastic Compute Cloud, а также Windows Azure от Microsoft. Доступ к подобной инфраструктуре, как правило, осуществляется через Интернет с помощью безопасных соединений, которые можно рассматривать как своего рода виртуальные дискретные VPN-соединения. На каждом уровне развития имеется ряд существенных технических аспектов вычислительной платформы, которые можно виртуализировать. В таблице 2 кратко представлены уровни виртуализации в том виде, в котором они соответствуют особенностям серверов, хранилищ и сетей. Таблица 2. Технические аспекты виртуализации
Уровень 0: начать с домашнего компьютераУровень 0 («Локальный») в модели развития виртуализации означает ее полное отсутствие. Тем не менее даже в этом случае есть множество способов сэкономить энергию. Традиционные подходы к проектированию и разработке ведут к появлению менее эффективных, чем они могли бы быть, приложений. Есть целый ряд проблем проектирования, которые легко распознаются в приложениях, а значит, можно составить список правил и рекомендовать архитекторам и разработчикам любых приложений применять эти правила. Активация режима энергосбережения.Большинство ПК простаивают существенную часть времени, и, теоретически, их можно отключать при простое. Благодаря этому реально сэкономить огромное количество энергии. Такой подход определенным образом влияет на разработку приложений, поскольку разработчикам прикладных программ необходимо учитывать платформу (клиент и (или) сервер), которая будет переходить в спящий режим или выходить из него. Например, если клиент или сервер переходит в спящий режим, когда сессия пользователя приложения еще активна, как это повлияет на лимит времени сеанса и его политики при выходе платформы из спящего режима? Принцип: всегда проектировать вход в спящий режим и выход из него максимально прозрачно. Ниже представлены примеры функций энергосбережения, которые должны быть представлены во всех приложениях.
Минимизировать объем хранимых данных.Данные тоже расходуют электроэнергию, поскольку для их хранения в базах данных приложений или файловых системах необходимо держать диски в рабочем режиме. Таким образом, уменьшение объема сохраняемых данных ведет к сокращению объема электроэнергии, потребляемой приложением. В данном случае очень полезны эффективные подходы к архивации данных. Принцип: минимизировать объем данных, хранимых приложением, и добавить при разработке приложения функцию архивирования данных. Проектировать и кодировать эффективные приложения.Раньше разработчики очень тщательно прорабатывали код приложений, поскольку компьютеры были настолько медленными, что неэффективный код делал приложения просто непригодными для использования. В соответствии с законом Мура, компьютерное оборудование стало более мощным, а его скорость вычислений – намного выше, чем мы можем использовать. В результате появляются приложения, внешне вполне работоспособные, но весьма расточительные и неэффективные с точки зрения внутренней архитектуры и кода. Неэффективный код приводит к росту нагрузки на процессор, за счет чего последний потребляет больше электроэнергии. Подробнее об этом мы расскажем далее в статье. На сегодняшний день существуют так называемые профилировщики кода, способные автоматически проверять профиль производительности кода. Принцип: проектировать, разрабатывать и тестировать приложения, пока не будет получен максимально эффективный код. Уровень 1: совместное использование лучшеУровень 1 («Логическая виртуализация») воплощает концепцию общего доступа к приложениям. Ее можно реализовать, например, с помощью серверов подразделений, на которых исполняются приложения, доступные клиентским ПК. Сначала эта концепция представляла собой технологию «клиент – сервер», а затем воплотилась в более сложные многоуровневые структуры. Не являясь виртуализацией в полном смысле этого слова, данная концепция стала, пожалуй, самым важным шагом в развитии виртуализации. В крупных организаций, как правило, имеется множество приложений с большим функциональным перекрытием между ними. Например, многочисленные системы, выполняющие функции управления взаимоотношениями с клиентами (CRM). Переход на Уровень 1 («Логическая виртуализация») заключается в рационализации количества приложений и платформ приложений с перекрывающейся или избыточной функциональностью и в более широком использовании общих служб приложений таким образом, чтобы общие элементы приложения можно было запускать один раз и избегать их дублирования. В крупных организациях отдача от внедрения подобной модели намного превысит выигрыш от любой дальнейшей аппаратной виртуализации. Лучший способ реализовать «Логическую виртуализацию» заключается в том, чтобы использовать всю корпоративную архитектуру, охватывающую и архитектуру приложений, чтобы выявить все точки функционального взаимодействия и перекрытия существующего портфеля приложений. Это необходимо для разработки плана рационализации ненужных или дублирующих функций. Следует обнаружить и отключить функции, которые дублируются без необходимости, либо вынести общие элементы в общие службы. Помимо автоматического решения проблем с целостностью данных и согласованностью процессов, такой подход позволяет уменьшить и размер приложений, и их количество. Следовательно, приложения будут потреблять меньше ресурсов, за счет чего снижается энергопотребление и количество вредных выбросов, уменьшаются эксплуатационные расходы. Более широкое использование общедоступных служб приложений дает возможность централизованно развертывать общие функции и управлять ими, не расходуя ресурсы на каждое приложение, которое их использует.
Принцип: сначала разработать план рационализации приложений и существующих платформ. Один компьютер с загруженным на 50 % процессором будет использовать значительно меньше электроэнергии, чем два аналогичных компьютера, нагружающих процессор на 25 % (см. врезку «Эффективность сервера» на стр. 11). Это означает, что серверы одного приложения неэффективны и в идеале они должны предоставляться как общие ресурсы, чтобы обеспечить более интенсивное использование. При работе над этим вопросом важно провести тестирование на совместимость и удостовериться, что приложения действительно могут функционировать вместе. Кроме того, необходимо также протестировать производительность и убедиться, что приложения не мешают друг другу работать эффективно при большой нагрузке на сервер. В сущности, важно гарантировать, что доступные ресурсы процессора успешно распределены между приложениями на сервере с достаточным потенциалом для роста. В качестве сопутствующего элемента реализации данной модели рекомендуется установить ряд архитектурных стандартов, обеспечивающих чистую установку приложений в изолированное пространство, исключая их воздействие на другие приложения, а также проведение тестирования для проверки причин такого воздействия, если оно имеет место. Тем не менее все мы видели примеры того, как реализация данной модели не удавалась, несмотря на кажущуюся простоту. Принцип: консолидировать приложения на минимальном количестве серверов. Уровень 2: максимальное совместное использование инфраструктурыКак мы уже говорили ранее, именно Уровень 2 («Виртуализация центра обработки данных») чаще всего ассоциируется с термином «виртуализация». С помощью таких платформ, как Microsoft Virtual Server, VMware и пр., виртуализация серверов и хранилищ действительно стала эффективным решением для достаточно крупных организаций, имеющих возможность создания виртуальной инфраструктуры. Планка виртуализации довольно низка и опускается все ниже, по мере того как возможности программного обеспечения для виртуализации растут, а управлять этим ПО становится все проще. Цена и производительность серверов сейчас достигли той точки, когда даже небольшие организации, имеющие всего 3–4 ведомственных приложения, могут сократить расходы за счет развертывания этого программного обеспечения в виртуальной среде. Продолжая наши предыдущие рассуждения о том, что необходимо избегать однозадачных компьютеров, вывод о том, что виртуализация центров обработки данных – хорошее решение для совместного использования ресурсов, кажется очень простым и очевидным. И это действительно хорошее начало, хотя и не такое легкое, как кажется. Проще всего достичь преимуществ виртуализации на компьютерах тестировщиков, разработчиков, а также на других редко используемых машинах. Перемещение этих компьютеров в единую виртуальную среду позволяет уменьшить объем физических выбросов в атмосферу, выделение тепла и потребление энергии отдельными серверами. Каждый физический сервер, который работает в виртуальной инфраструктуре, имеет ограниченные ресурсы и потребляет энергию, как и любой другой компьютер. Поэтому, развивая приведенные выше положения, мы приходим к очевидному выводу: цель состоит в том, чтобы загрузить один физический сервер как можно больше и при этом использовать его ресурсы максимально эффективно. Создание виртуальных серверов все же требует определенных затрат на электроэнергию и управление. Не следует запускать компьютеры без необходимости, даже в виртуальной среде. Это позволит лучше использовать имеющиеся ресурсы. Особенно эффективно их можно эксплуатировать в виртуальной среде, поскольку виртуальные машины легко приостанавливать, перезагружать и даже перемещать. Таким образом, как и следовало ожидать, появляется еще одно требование к приложениям, работающим на виртуальных машинах: должна быть предусмотрена возможность их приостановки вместе с базовой операционной системой. Можно, например, приостанавливать работу файловых серверов и серверов печати на ночь, пока приложение, используя освободившиеся ресурсы, устанавливает пакет обновлений на другой виртуальной машине.
Принцип: уход от выделенной аппаратной инфраструктуры, а также виртуализация серверов и хранилищ с целью экономии электроэнергии за счет масштабирования и повышения эффективности использования оборудования Более яркий оттенок зеленого: облачные вычисленияОблачные вычисления – следующий большой шаг в информационных технологиях – позволяют создавать интересные архитектурные конструкции, имеют довольно высокий потенциал с точки зрения финансов и дают вполне реальную возможность построить более экологичную вычислительную платформу. По сути, облачные вычисления включают в себя три модели:
Все эти модели имеют одну общую черту – фундаментальный подход к работе серверных компонентов не локально, а в любом другом месте, на чужой инфраструктуре, через Интернет. В SaaS и прикрепленных службах серверные компоненты являются общими, доступ к ним осуществляется из нескольких приложений. Облачные платформы обеспечивают общую инфраструктуру, в которой несколько приложений размещаются вместе. Уровень 3: облачная виртуализацияОблачная виртуализация, как этап модели развития виртуализации, способна существенно повысить эффективность за счет эффекта масштабирования, связанного с большим количеством организаций, работающих на общей инфраструктуре. Достижение эффективности использования энергии в центре обработки данных – очень специфическое и капиталоемкое занятие. Появляются стандартные показатели для измерения эффективности, например эффективность использования энергии (см. врезку «Эффективность центра обработки данных»). Их можно использовать для сравнения полезно затраченной мощности и той, что ушла на непроизводительные элементы. Разрыв между типичными энергозатратами центров обработки данных и результатами, достигнутыми благодаря передовым методикам уменьшения PUE, очень большой. Возможность разместить инфраструктуру наиболее выгодным образом с точки зрения экономии на электроэнергии – это еще одно важное преимущество Уровня 3. Принцип: перемещать виртуализированную инфраструктуру туда, где доступны мощности с низким уровнем выбросов и инфраструктура с небольшим значением показателя PUE. Обратите внимание: чтобы в полной мере пользоваться преимуществами этого уровня, приложения должны быть разработаны специально для Уровня 3. Это препятствие для миграции уже существующих функций и приложений может существенно ограничить переход организаций на данный уровень. Принцип: проектировать приложения с уровнем изоляции, способным обеспечить, в случае необходимости, возможность развертывания на основе облачных технологий, даже если на данный момент предприятие не готово к этому шагу. Удостовериться, что облако зеленое изнутриПо мере применения принципов, описанных в этой статье, становится очевидным, что некоторые модели облачных вычислений окажутся более привлекательными,
В облачных вычислениях следует учитывать три аспекта эффективности:
Когда клиент решает приобрести электроэнергию у какого-либо поставщика, в большинстве случаев он может выбрать экологически чистую электроэнергию. Сделав это, можно убедиться, насколько экологично приобретаемое электричество. Допустим, ваша организация приняла решение приобретать экологичную электроэнергию. Ей следует также тщательно продумать, с каким поставщиком облачных услуг работать. Мы не ставим целью объяснить это в настоящей статье, ее написание пришлось на время бурного развития облачных сервисов. Тем не менее мы можем выделить экологические аспекты архитектуры облачного центра обработки данных, которые необходимо оценивать при выборе платформы. Во-первых, важно местонахождение центра обработки данных. При прочих равных обстоятельствах центр обработки данных, расположенный в местности с относительно жарким климатом, например в Центральной Австралии, потребует гораздо больше ресурсов для охлаждения, чем центр, находящийся в более холодной стране, например в Исландии. Конечно, возможны и другие соображения, в частности доступ к более экологичным способам охлаждения, используемым в месте расположения серверов, – главное, чтобы характеристики этого места помогали существенно сократить потребление энергии. Кроме того, расположение центра данных вблизи возобновляемых источников энергии, таких как гидро- и ветроэлектростанции, позволяет значительно снизить выбросы углекислого газа. Производители по-разному подходят к архитектуре центров обработки данных. Ниже перечислены подходы, которые позволяют снизить энергопотребление центров обработки данных.
Некоторые операторы центров обработки данных, например Google, начали публиковать статистические данные об энергопотреблении. Для оценки эффективности центра обработки данных эти операторы используют отраслевой стандарт и определяют эффективность как отношение энергии, расходуемой на работу ИТ-оборудования, к электроэнергии, затрачиваемой на работу самого центра данных (показатель PUE). По мере роста этого сегмента и другие организации будут делать то же самое, что позволит сравнивать их показатели. Еще одна область, на которую можно обратить внимание, – техническая архитектура облачной платформы, поскольку разные организации предоставляют различные средства, которые определяют эффективность работы приложения, а следовательно, и влияют на эффективность всей платформы. К примеру, некоторые поставщики облачных технологий, в частности SaaS, предоставляют управляемые ими самыми услуги. В этом случае архитектору вызывающего приложения необходимо обеспечить эффективность всей архитектуры. Другие поставщики облачных технологий размещают виртуальные машины, которые работают на базе масштабируемой облачной инфраструктуры. Нет никаких сомнений, что это эффективнее, чем запуск физических серверов, и, вероятно, более эффективно, чем запуск виртуальных машин в локальных центрах обработки данных. Такому подходу, как уже говорилось, может по-прежнему не доставать эффективности в связи с количеством энергии, потребляемой службами операционной системы самих виртуальных машин (эта неэффективность может быть помножена на количество размещенных виртуальных машин). Другие поставщики облачных технологий обеспечивают такой хостинг приложений, когда одна платформа предоставляет общую инфраструктуру для запуска приложений и общие возможности, например обмен сообщениями и хранение данных. Как уже отмечалось ранее, этот подход является принципиально более эффективным, чем размещение одного приложения на одной машине – физической или виртуальной. Таким образом, при рассмотрении вариантов облачных платформ лучшими оказываются те из них, которые оснащены наиболее эффективными программными архитектурами (например, с максимальным совместным использованием инфраструктуры в различных приложениях), а также имеющие самую эффективную архитектуру центров обработки данных (за счет эффективных серверов, более низкого показателя PUE и затрат на управление). Принцип: принять все возможные меры, чтобы удостовериться в использовании самого эффективного поставщика облака.
Переход на последующие уровни виртуализацииСогласно модели, представленной в таблице 1, большинство ИТ-сред организаций в настоящее время находятся на Уровне 1, а в некоторых более развитых предприятиях – на Уровне 2 (в целом или частично). Лишь небольшая доля организаций достигла Уровня 3. Хотя мы и утверждаем, что более высокие уровни виртуализации соответствуют меньшему количеству вредных выбросов, связанных с электропитанием, заметим, что Уровень 3 вовсе не обязательно является самоцелью развития виртуализации на всех предприятиях; в некоторых случаях имеются веские экономические причины вовсе не переходить на Уровень 3. Мы опускаем описание перехода с Уровня 0 до Уровня 1, поскольку подавляющее большинство средних и крупных предприятий уже сделали этот шаг. Процесс перехода от Уровня 1 к Уровню 2 включает в себя замену отдельных выделенных серверов на более широкие платформы, использующие виртуальные серверы. Если требуется свыше одного физического сервера, можно добиться дополнительных преимуществ за счет группировки приложений на физических серверах таким образом, чтобы их профили пиковой нагрузки не совпадали, а были распределены во времени. Благодаря этому появляется возможность статистического усреднения нагрузки, так как обычно определение необходимой мощности сервера производится в зависимости от пиковой, а не от средней нагрузки. Компромиссом здесь являются расходы на овеществленную энергию нового сервера для размещения виртуальных сред (см. врезку «Обеспечение рентабельности расходов на овеществленную энергию при покупке нового сервера виртуализации»). Аналогичным образом можно решить вопрос и с инфраструктурой хранилища. В общем, по крайней мере в том, что касается виртуализации серверов, выигрыш за счет виртуализации нескольких серверов на одном физическом сервере существенно больше, чем расходы на овеществленную энергию, связанные с приобретением нового сервера для размещения виртуальной платформы. Виртуализацию Уровня 2 также можно применить для использования овеществленной энергии существующей инфраструктуры и избежать необходимости приобретения более развитой инфраструктуры. Это может показаться не совсем логичным, но иногда в качестве хоста для виртуализации лучше использовать существующий сервер, а не приобретать ему замену. Например, если у вас есть четыре сервера, которые потенциально могут быть виртуализированы на одном новом крупном сервере, может оказаться выгоднее просто сохранить два лучших из них, разместив на каждом по два экземпляра виртуальных серверов (что позволит избежать расходов на овеществленную энергию при покупке нового сервера, а также снизить эксплуатационные расходы примерно наполовину), а не выбрасывать все четыре и покупать новый. Такой вариант возможен, потому что существующие серверы, вероятно, работают с такой низкой нагрузкой, что она может быть легко удвоена без ущерба для производительности системы. Очевидно, что в конечном итоге возможность применения данной стратегии зависит от того, насколько сильно существующие серверы устарели, а также от текущего и прогнозируемого уровня их использования. Принцип: измерять уровень использования серверов; низкий уровень использования – явный признак того, что виртуализация может быть очень полезной. Отметим также, что при наличии возможности пропустить Уровень 2, вместо того чтобы разворачивать его и лишь затем переходить на Уровень 3, можно сэкономить на расходах на овеществленную энергию всей инфраструктуры Уровня 2. Переход с Уровня 2 на Уровень 3 в основном касается двух главных аспектов: обеспечения общего доступа к инфраструктуре центра обработки данных нескольким организациям и возможности смены расположения его инфраструктуры на наиболее подходящее. Общий доступ нескольких организаций к инфраструктуре центра обработки данных может быть очень выгоден, потому что применение лучших методик обеспечения энергоэффективности центра данных требует сложной и капиталоемкой среды. Еще одним преимуществом Уровня 3 является то, что инфраструктуру можно динамически настраивать для работы на гораздо более высоких уровнях использования (и, следовательно, более энергоэффективно), чем при использовании выделенной инфраструктуры, поскольку выделенная инфраструктура обычно закладывается с учетом будущего роста, а не с учетом имеющихся нагрузок. В облачной структуре оборудование может предоставляться динамически, то есть даже если нагрузка на любое отдельное приложение растет, лежащая в основе аппаратная платформа всегда будет работать на оптимальном уровне использования. Компромиссами в этом случае являются:
Таким образом, мы утверждаем, что потребление энергии снижается с повышением уровня развития виртуализации, поэтому организации должны стремиться повысить этот уровень ради снижения вредного воздействия на окружающую среду, связанного с потреблением электроэнергии ИТ-оборудованием. Принцип: проектировать и реализовывать системы максимально высокого уровня с учетом организационных, стратегических и технических ограничений. ЗаключениеВ настоящее время возникла насущная потребность принимать во внимание при разработке приложений экологические факторы. Это обусловлено необходимостью в согласовании приложения с экологической политикой организации, снижении энергопотребления и затрат на инфраструктуру, сокращении имеющихся или будущих выбросов углерода. Хорошая архитектура позволяет значительно снизить потребление энергии и сократить вредные выбросы. Переход к более экологичным приложениям влияет как на программное обеспечение, так и на архитектуру инфраструктуры. Связь между ними настолько тесна, что возникает необходимость совместного управления этой сферой, которое должно осуществляться корпоративными архитекторами программного обеспечения и инфраструктуры. Этими проблемами необходимо заниматься с самого начала проекта и на всем его протяжении, не откладывая на потом. Интересно, что наши принципы также соответствуют традиционным правилам архитектуры. Означает ли это, что снижение энергопотребления должно стать главным правилом среди всех прочих? Нам видится, что разработка архитектуры с целью снижения энергопотребления на протяжении всего жизненного цикла должна приводить к появлению «хорошей» архитектуры и в более широком ее понимании. Можно ли сэкономить время и силы, сосредоточившись прежде всего на энергоэффективности? Ресурсы«Выбросы парниковых газов в США», 2006 г.; Управление по информации в области энергетики, ftp://ftp.eia.doe.gov/pub/oiaf/1605/cdrom/pdf/ggrpt/057306.pdf «Измерение эффективности центров обработки данных Google, приверженность экологичным информационным технологиям», http://www.google.com/corporate/datacenters/measuring.html «Измерение энергоэффективности центров обработки данных Green Grid: PUE и DCiE», The Green Grid, http://www.thegreengrid.org/gg_content/TGG_Data_Center_Power_Efficiency_Metrics_PUE_and_DCiE.pdf «Руководство по энергоэффективным центрам обработки данных», The Green Grid, «Принципы сохранения окружающей среды Microsoft», Corporate Citizenship, «Энергосбережение в Microsoft Windows Server 2008», «Закон Мура», Википедия, Object Consulting «Дорога к экологичным ИТ», Майк Гленнон (Mike Glennon), «Профилирование», Википедия, Telstra Corporation, Об авторахКевин Фрэнсис – менеджер по производству и национальным практикам компании Object Group (Мельбурн, Австралия). Его опыт работы в сфере информационных технологий в качестве архитектора, архитектора корпоративных систем и менеджера проекта насчитывает 23 года. Кевин является специалистом в сфере сервис-ориентированной архитектуры, архитектуры корпоративных систем, продуктов Microsoft. Кевин имеет опыт работы в качестве руководителя групп размером до 120 человек. Он был архитектором решений со статусом MVP с 2005 по 2008 гг. В настоящее время помогает компании Object выйти на лидирующие позиции на рынке программного обеспечения Австралии. Статья Кевина опубликована в журнале «The Architecture Journal», № 7; кроме того, он ведет блог: http://msmvps.com/blogs/architecture/. Питер Ричардсон – начальник отдела интеллектуальной собственности компании Object Consulting и исполнительный директор InfoMedix Pty. Ltd. Отвечает за продукты и интеллектуальную собственность Object Group. Он является вдохновителем мероприятий по защите окружающей среды и руководит всеми корпоративными инициативами и решениями по снижению негативного влияния на экологию. Поскольку ранее Питер работал на должности руководителя технологического отдела Object, его опыт в качестве архитектора, в основном крупномасштабных корпоративных систем, насчитывает более 23 лет. В 2000 году Питер основал InfoMedix – дочернюю компанию Object Consulting, занимающуюся разработкой продукции для ведения медицинской документации. С 1996 по 1999 гг. Питер был австралийским партнером Object Management Group. До перехода в компанию Object в 1991 году и основания ее офиса в Мельбурне Питер являлся ведущим инженером компании Telstra Research Labs. |
|