Основные принципы использования центров обработки данных

Завершено

Центры обработки данных включают в себя помещение или здание, ИТ-оборудование и средства для безопасного размещения, энергоснабжения и охлаждения оборудования. Со временем центры обработки данных превратились из мест сосредоточения ИТ-оборудования в модульные, гибкие и высоковиртуализованные вычислительные центры. В связи с распространением веб-служб, взрывным ростом числа мобильных устройств и постоянно возрастающей скоростью генерации (и потребления) данных потребность в новых центрах обработки данных продолжает расти. Одним из основных факторов, стимулирующих подобный рост, было появление парадигмы облачных вычислений, в которой рентабельность напрямую связана с экономностью и эффективностью, обеспечиваемыми за счет новой структуры центров обработки данных. Все уровни облачных служб и программного обеспечения выполняются на базе физических ресурсов (серверов, хранилища и сетевого оборудования), которые нуждаются в питании. Кроме того, это оборудование выделяет тепло и требует охлаждения. Небольшой центр обработки данных может поместиться в одной специализированной комнате, в то время как крупный центр может занимать целое здание размером со склад.

Требования к структуре центра обработки данных зависят от его размера и назначения. Центры обработки данных, ориентированные на облачные технологии, могут быть двух видов. Поставщик облачных служб, работающий по модели "инфраструктура как услуга" (IaaS), предлагает разнообразные типы компьютеров, из которых клиенты подбирают нужные для создания собственных приложений. Поставщики, работающие по модели "программное обеспечение как услуга" (SaaS) и "платформа как услуга" (PaaS), обычно используют крупномасштабные (в количестве до нескольких тысяч) однородные вычислительные узлы с пользовательскими приложениями, которые предоставляются непосредственно конечным пользователям. К другим типам центров обработки данных относятся корпоративные или традиционные ИТ-центры, где размещаются компьютеры для обеспечения повседневных бизнес-операций, и центры обработки данных для высокопроизводительных вычислений (HPC), где размещаются крупные кластеры для научных задач.

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

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

Для чего нужно изучать центры обработки данных?

Если вы представляете облако как огромный компьютер1, его все равно можно разбить на составляющие — процессоры, память и коммутаторы2. При программировании для облака вы пишете программы, которые решают некую проблему, или предоставляют службу, но с возможностью масштабирования.

Несколько десятилетий назад пользователь компьютера был синонимом программиста. Раньше программисты хорошо разбирались в архитектуре набора команд (ISA) и были вынуждены оптимизировать программу на ассемблере из-за ограниченных аппаратных ресурсов. Почему с появлением высокоуровневых языков программирования, таких как C/C++, Java и Python, учащимся все еще приходится изучать устройство компьютера, кэширование и ассемблер? Разобравшись, за что именно отвечает компилятор, вы становитесь более квалифицированным программистом, так как лучше понимаете внутренние процессы. Аналогичным образом вы лучше понимаете процедуру отладки.

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

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


Ссылки

  1. Barroso, Luiz André, and Urs Hölzle (2009). The datacenter as a computer: An introduction to the design of warehouse-scale machines Synthesis Lectures on Computer Architecture - PDF
  2. Gordon Bell and Allen Newell (1970). The PMS and ISP descriptive systems for computer structures Joint Computer Conference - PDF