Многие компании находят эти преимущества достаточно привлекательными для создания и внедрения корпоративных приложений. Другим побудительным фактором распространения контейнеров стала популярная открытая платформа Docker, обеспечивающая ключевые требования к развертыванию, производительности и управляемости Linux-контейнеров. Если рассуждать в исторических параллелях, то я бы сравнил платформу Dockerс языком Javaс его слоганом «один раз написал – и выполняй где угодно». Контейнеры Dockerпозволяют «однажды построив, выполнять где угодно». Не удивительно, что вокруг платформы Dockerсоздается весьма активная экосистема.
Подобно контейнерам инфраструктура Cisco, ориентированная на приложения (ApplicationCentricInfrastructure, ACI), обеспечивает ускорение масштабируемого и безопасного развертывания приложений. При этом CiscoACIбесшовно объединяет приложения, выполняющиеся на виртуальных машинах (VM), «железных» серверах и в контейнерах.
Рассмотрим, как применение контейнеров решает вопросы, связанные с виртуализацией на основе гипервизоров. Последние двадцать лет эта технология доминировала, показывая высокую окупаемость инвестиций благодаря консолидации серверов. При этом хорошо известно, что гипервизоры увеличивают служебную нагрузку в зависимости от выполняемых задач, повторяя поведение аппаратного обеспечения. Кроме того, работая с гипервизорами, нужно помнить о соображениях, касающихся переносимости приложений.
Со своей стороны, Linux-контейнеры предоставляют самодостаточную среду исполнения и изолируют приложения, используя такие примитивы, как пространства имен (namespaces) и контрольные группы (cgroups). Они позволяют запускать на Linux-сервере различные изолированные друг от друга среды, обеспечивая при этом гибкость и эффективность. Интересно сравнить архитектуру виртуализации на базе гипервизоров и контейнеров. Как видно из рисунка ниже, Docker-контейнеры обеспечивают переносимость между серверами, управление версиями и повторное использование.
Говоря о Docker-контейнерах, нельзя не упомянуть о преимуществах DevOps. Структура Docker, включающая, например, Vagrant, тесно координируется с методиками DevOps. Используя Docker, разработчики могут сосредоточиться на программном коде, не заботясь о побочных эффектах исполнения в производственной среде. Группы поддержки эксплуатации при управлении внедрением могут рассматривать контейнеры как отдельные объекты.
ACIи контейнеры
Ориентированная на приложения инфраструктура CiscoACIпредлагает общую модель политик для управления ИТ-приложениями во всей инфраструктуре дата-центра. Инфраструктура ACIинвариантна к форм-факторам, в которых развертываются приложения: она поддерживает «железные» серверы, виртуальные машины и контейнеры, а заложенная в ACIпереносимость делает применение контейнеров совершенно естественным. Кроме того, унифицированный язык описания политик ACIпредлагает заказчикам согласованную модель обеспечения безопасности независимо от того, как развертывается приложение. В инфраструктуре ACIзадачи, выполняемые на «железных» серверах и виртуальных машинах, могут бесшовно интегрироваться и мигрировать в контейнерную среду.
Непротиворечивость модели политик ACIвыше всяких похвал. В инфраструктуре ACIполитики применяются к группам оконечных точек (EndPointgroups, EPG), которые представляют собой абстракции сетевых оконечных точек. Эти оконечные точки могут быть «железными» серверами, виртуальными машинами или контейнерами. При такой гибкости ACIможет применять политики в разнородной инфраструктуре, включающей и Linux-контейнеры. Обратите внимание на представленную на следующем рисунке гибкую модель политик ACI, применяемую к прикладным нагрузкам и охватывающую «железные» серверы, виртуальные машины и Docker-контейнеры.
Напомню, что на выставке InteropVegas2014 Ciscoзаявила о широкой поддержке протокола OpFlex. Сейчас мы работаем над интеграцией OpFlexи OpenvSwitch(OVS) с инфраструктурой ACI, чтобы уже в начале следующего календарного года применять политики к виртуальным машинам и контейнерам.
С распространением контейнеров все важнее становится масштабное управление ими. Сейчас многие инициативы сообщества открытого кода направлены на масштабирование, диспетчеризацию и управление ресурсами контейнеров. В число инициатив, в которых Ciscoактивно участвует с целью интеграции ACIс открытыми средствами и решениями, входят OpenStack, Mesosи Kubernetes.
Наблюдая за контейнерами, мы видим только верхушку айсберга. Docker-контейнеры начинают набирать популярность в частных облаках и традиционных дата-центрах. CiscoACIиграет поворотную роль в интеграции унифицированной модели политик ACIв разнородной инфраструктуре, включающей «железные» серверы, виртуальные машины и контейнеры.
Блог Рави Балакришнана (Ravi Balakrishnan), старшего менеджера компании Cisco по маркетингу решений для ЦОД
© Cisco, 2014
© Издание 12NEWS (ИП Маринин А.Л.), 2014