Недавно Скотт Лове из VMware, часто выступающий на конференциях по ИТ-инфраструктуре, заявил: «Специалисты должны перестать рассматривать инфраструктуру как просто набор элементов оборудования. Виртуализация давно приучила нас к тому, что любые аппаратные компоненты можно рассматривать абстрактно, независимо от их реального воплощения. В скором будущем взгляд на ИТ-инфраструктуру предприятий сильно изменится. Она превратится в набор, состоящий из гипервизоров, контейнеров и вычислительных PaaS-платформ. Серверы как таковые будут рассматриваться абстрактно, без какой-либо конкретной привязки».
Новый подход к рассмотрению ИТ-инфраструктуры стал предметом исследования, которое провел Кейт Таунсенд, основатель Virtualizedgeek.com. Он рассмотрел основные элементы нынешнего состояния и указал пути, по которым с идет развитие.
Все начинается с гипервизоров
Гипервизоры — неотъемлемая часть инфраструктуры нынешних ЦОДов. Благодаря им дата-центры существуют в том виде, в каком их привыкли воспринимать. Эта модель применения оправдана и экономически, и с технической точки зрения.
Модель использования инфраструктуры, выстроенная под применение гипервизоров и виртуальных машин, наверняка сохранится еще многие годы, однако способы работы приложений физическим оборудованием, по всей видимости, претерпят существенные изменения. Как ожидается, развитие приведет к создание новых механизмов, которые упростят упаковку связи ВМ с аппаратной инфраструктурой. Это будет способствовать нарастанию интереса заказчиков к использованию гиперконвергентной инфраструктуры и облачных вычислений. Этот переход позволит значительно упростить поддержку работы самих ВМ.
Сигналом для начала технологической трансформации инфраструктуры станут бизнес-кейсы, которые помогут заказчикам убедиться в переходе на новый уровень решения бизнес-задач. Реальное движение начинается только тогда, когда заказчики видят для себя конкретную выгоду. Пока таких примеров не видно, бизнес находится в состоянии ожидания.
Именно по этой причине многие нынешние интернет-магазины продолжают работать на устаревшей версии Solaris. Пока владельцы бизнеса не нашли для себя новизны в новой версии или новом подходе, они не смогут обосновать для себя отказ от уже существующей модели применения. Причина — отказ требует вложения финансовых средств и покупки современной версии.
Переход на контейнеры
Тем не менее, переход к абстрактной модели представления инфраструктуры уже обозначен, и сейчас он начинает набирать обороты. Главный «таран» для этого перехода — развитие технологий контейнеров, которые являются базой для распространения микросервисов.
Нынешняя популярность контейнеров связана, в первую очередь, с теми преимуществами, которые они несут для роста производительности и повышения безопасности работы. Однако это не единственные их достоинства. Контейнеры обеспечивают более высокую гибкость при разработке приложений. Эта модель позволяет затрачивать значительно меньше времени на разработку, а готовые приложения могут упаковываться в легковесные пакеты, удобные для переноса с одних вычислительных ресурсов на другие. Дополнительным бонусом является то, что тестовые контейнерные системы, на которых ведется разработка, могут быть сразу переданы в стадию продакшн.
К настоящему моменту вокруг контейнеров уже выстроилась собственная экосистема. Уже есть свои средства оркестрации и кластеризации.
Пример — система Kubernetes. Она позволяет управлять кластером многочисленных контейнеров как единым целом и запускать их в работу на большом числе хостов, обслуживая совместное размещение и репликацию. Разработкой этого проекта первоначально занималась компания Google, но в настоящее время он пользуется поддержкой уже со стороны многих компаний, среди которых Microsoft, Red Hat, IBM и Docker.
Другой пример новых разработок для экосистемы контейнеров — платформа Mesosphere. Ее назначение — создание централизованной отказоустойчивой системы управления кластером с изоляцией аппаратных ресурсов и предоставление удобных средств управления кластерами подчиненных узлов. Главная идея состоит в том, что вместо деления физической машины на большую группу виртуальных машин и их раздельного управления Mesosphere объединяет все ресурсы в единое целое, создавая отдельный виртуальный ресурс, который отличается высокой масштабируемостью и может применяться для обслуживания сложных сервисов.
Serverless-платформы
Облачные технологии, обеспечивающие высокую доступность и относительную дешевизну в эксплуатации, не требующие значительных начальных вложений, связанных с самостоятельным развертыванием и поддержкой инфраструктуры, и привлечения финансовых средств — это уже давно реальность. Достоинства, которыми обладают облака, порождают сегодня интерес к их дальнейшему развитию. Одно из направлений — создание бессерверных (Serverless) архитектур для приложений.
Бессерверная модель вычислений, несмотря на название, не предусматривает отказ от использования серверов как таковых. Основу этой архитектуры составляют микросервисы, выполняющие характерные функции. Они запускаются в работу на логических контейнерах, что прежде было недоступно пользователям, которые должны были четко определить аппаратные ресурсы для подключения. Теперь для работы в новой среде достаточно иметь только интерфейс загрузки кода и возможность подключения источников, генерирующих события (events) для подключаемого микросервиса.
Применение приложений, запускаемых по бессерверной моделе, в значительной степени зависит от работы сторонних BaaS-сервисов (Backend as a Service) и/или FaaS-кода (Function as a Service), исполняемых в удаленных контейнерах.
Благодаря появлению бессерверной архитектуры на передний план вышла функциональность микросервисов, в то время как особенности аппаратного «приземления» приобретают абстрактные черты. Это качественно отличает новый подход от традиционной, «серверной» модели, когда функциональность сервиса была напрямую связана с подключенным сервером, который обслуживал ее работу.
Примеры Serverless-решений
Одним из наиболее известных на сегодняшний день примеров бессерверного микросервиса является AWS Lambda. Его назначение — запускать программный код в ответ на определенные события и контролировать автоматическое выделение вычислительных ресурсов, позволяя наращивать функционал других веб-сервисов AWS. Управление процессом осуществляется через индивидуальный код. Смысл использования Lambda — обеспечение эффективной масштабируемости, производительности и безопасности работы других механизмов облака AWS.
Собственный вариант реализации бессерверной архитектуры есть у IBM. Это — микросервис OpenWhisk, который позволяет запускать код в высокопроизводительной вычислительной среде и осуществлять административную поддержку разнообразных ресурсов, связывая их в единую систему из событий, триггеров и их взаимодействий.
Еще один пример: по модели бессерверной архитектуры выстроена PaaS-платформа Cloud Foundry. Она была разработана компанией VMware и позднее передана под управление Pivotal Software. Сейчас ее развитием занимается ассоциация Cloud Foundry Foundation, в которую вошли Pivotal, IBM, VMware, EMC, GE, Intel, SAP — всего более 50 компаний. «Бессерверность» Cloud Foundry состоит в том, что код, создаваемый разработчиками, не содержит данных об инфраструктурных особенностях, необходимых для его работы. Там нет необходимости указывать ссылки на конкретные серверы или перечислять имена хостов внутри кода. Достаточно просто обратиться к службе взаимодействия баз данных, чтобы получить автоматический вызов, например, MongoDB, а для обращения к другому программному коду происходит вызов, например, CloudBees.
Инфраструктура будущего
ИТ-инфраструктура в будущем будет представлена различными группами ресурсов. Они будут поддерживать работу виртуальных машин, контейнеров и бессерверных платформ. Пока еще не сформировалось точное представление, как будет осуществляться их оркестрация; предполагается, что владельцы аппаратной инфраструктуры будут постепенно добавлять к уже существующим гипервизорам новые контейнеры и PaaS-платформы, попутно решая вопрос об оркестрации всего комплекса.
Тем не менее, некоторые вендоры уже предлагают собственные решения. Например, VMware разработала технологию vSphere Integrated Containers, позволяющую работать с инфраструктурой виртуализованных Docker-приложений на базе виртуальной инфраструктуры VMware vSphere. Каждый контейнер Docker размещается в отдельной виртуальной машине, а для повышения управляемости и обеспечения надежной изоляции приложений VMware планирует применять VMFork — подход, заключающийся в создании мгновенных клонов работающей виртуальной машины. Процесс управления созданием клонов предлагается осуществлять через механизм Photon Controller.
Другой активный вендор в этом направлении — компания Dell EMC. Она внедряет собственное решение на базе Cloud Foundry, предлагая его в дата-центрах клиентам VMware vSphere через канал компании Pivotal.
Существуют также и другие инфраструктурные решения с поддержкой контейнерной виртуализации, например, на базе KVM, которые интересны, когда требуется предоставить функции гипервизора для поддержки приложений, оставшихся от прежних поколений разработок.