Что такое контейнер ecp

Обновлено: 21.11.2024

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

Сервер GitLab (версия 12.10+) и локальный Podman, Docker или технология виртуализации

Использование пользовательского исполнителя, предоставляемого GitLab runner, не говоря уже о Jacamar CI, может стать серьезным шагом вперед по сравнению с предыдущим опытом. Это руководство было разработано, чтобы помочь вам в процессе развертывания собственного экземпляра в безопасной среде контейнера.

Мы разбили работу на несколько разделов:

Все навыки, полученные в ходе этого руководства, могут быть применены непосредственно к развертыванию собственного экземпляра Jacamar/runner на локальном оборудовании.

Подготовка среды

Первый шаг – подготовка среды, которую мы будем использовать. Мы уже сделали образ контейнера доступным в нашем репозитории с установленным правильным GitLab-Runner и с учетом всех требований к сборке Jacamar. Вы можете проверить файл Dockerfile и при необходимости создать собственную версию.

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

Затем перейдите на официальную страницу выпуска и загрузите последний пакет x86_64, сохранив его в папке srv.

Теперь вы можете запустить контейнер:

Если вы ранее запускали руководство, рекомендуется удалить любой старый образ во избежание возможных конфликтов, образ docker rm .

Теперь вам нужно указать свой логин пользователя GitLab (без символа @). Это можно найти на вашем экземпляре в правом верхнем углу:

Создайте локальную учетную запись пользователя, имя которой соответствует указанному логину. Это будет локальная цель для операций setuid.

Важным предположением является то, что учетные записи серверов управляются с помощью тех же базовых систем, что и в целевой системе CI. Значение userA в GitLab такое же, как userA в системе. Не менее важно и то, что они не могут повлиять на потенциальное имя пользователя на сервере GitLab. Дополнительные сведения см. в разделе «Вопросы безопасности» документации сервера.

Далее мы собираемся установить Jacamar CI с помощью RPM, загруженного на предыдущем шаге. Однако перед этим проверьте RPM и обратите внимание, что потенциально привилегированное приложение jacamar-auth будет развернуто в каталоге с ограниченным доступом:

Наконец, убедитесь, что среда содержит необходимые приложения ( gitlab-runner и jacamar ) и их версии:

С этого момента ваша среда будет готова к работе с последней доступной версией Jacamar CI. Более подробные сведения о процессе развертывания, особенно о GitLab Runner, см. в нашей документации по развертыванию.

Регистрация Runner

Теперь мы можем зарегистрировать gitlab-runner в репозитории на нашем целевом экземпляре GitLab. Это будет раннер для конкретного проекта, доступный только для этого репозитория. Хотя мы будем использовать интерактивную регистрацию исполнителя, вам нужно будет определить URL-адрес экземпляра и токен регистрации проекта (Настройки > CI/CD > Исполнители) перед началом.

Важно, чтобы при запросе типа исполнителя вы указывали пользовательский .

Вы можете проверить регистрацию бегуна в двух местах:

Проверьте локальный файл конфигурации бегуна ( cat /etc/gitlab-runner/config.toml ).

Возвращаясь к тому, где вы получили регистрационный токен, в разделе Runners, активированных для этого проекта, указан runner.

Никогда не разглашайте токен Runner, найденный в config.toml. Это следует рассматривать как пароль, поскольку его можно использовать для взаимодействия с сервером (опрос и выполнение заданий CI). В настоящее время GitLab предлагает минимальные элементы управления для защиты этого токена, хотя предпринимаются усилия по его улучшению.

Теперь, когда исполнитель зарегистрирован, нам нужно предпринять дополнительные шаги, касающиеся настройки пользовательского исполнителя. Просто добавьте следующее в таблицу ( [runners.custom] ) к вашей конфигурации, используя vim /etc/gitlab-runner/config.toml .

Включив приведенную выше конфигурацию, вы выполняете требования как пользовательского исполнителя, так и Jacamar CI:

Каждый этап в задании CI (например, config , prepare , run или cleanup ) должен иметь определенный исполняемый файл/скрипт. В нашем случае мы используем приложение jacamar-auth, которое предоставит возможность выполнять дополнительные шаги авторизации, а также механизм уменьшения масштаба, в нашем случае setuid.

Мы указываем полный путь ( /opt/jacamar/bin/jacamar-auth ) к приложению, поскольку доступ к папке по умолчанию ограничен пользователем root.

Команде jacamar-auth можно указать дополнительные аргументы, для этого требуется подкоманда, связанная с текущим этапом.

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

Настройка Jacamar

Хотя у нас есть зарегистрированный исполнитель, настроенный на использование jacamar-auth, этого недостаточно для использования Jacamar CI. Из-за ряда требований, предъявляемых к Jacamar для обеспечения безопасного рабочего процесса CI, нам необходимо учитывать его особую конфигурацию.

Давайте создадим новый файл TOML: vim /etc/gitlab-runner/custom-config.toml :

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

Обязательный параметр, в котором хранятся все файлы/каталоги для задания. Строгие права собственности ( user:user ) и разрешения ( 0700 ) применяются к каталогам верхнего уровня.

Целевые механизмы уменьшения масштаба для выполнения всех скриптов CI и сгенерированных команд с помощью механизмов аутентификации. При использовании jacmar-auth это обязательно.

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

Тестирование развертывания

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

Вы можете прервать бегун в любое время, нажав CTRL+C. Это отменит все запущенные задания и попытается корректно завершить процесс.

Наконец мы можем протестировать ваше развертывание, создав файл .gitlab-ci.yml в вашем проекте:

После фиксации файла вы можете перейти в CI/CD -> Конвейеры и проверить выходные данные выполняющегося задания. Вы должны увидеть, что пользователь, выполняющий сценарии, является локальной учетной записью, которую мы создали при подготовке среды.

Дополнительный контекст и статус задания можно увидеть с точки зрения администратора, если мы вернемся к терминалу запуска gitlab-runner. Если вы столкнулись с какими-либо ошибками в конфигурации/развертывании, здесь вы сможете лучше всего их идентифицировать.

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

После завершения задания CI проверьте права доступа к файлам для всех файлов CI, созданных как часть вашего тестового задания, в соответствии с функциональностью data_dir:

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

Поскольку проект Министерства энергетики США по экзафлопсным вычислениям (ECP) развивался с момента его создания в 2016 году, то, что известно как технология контейнеров, и как она вписывается в более широкую схему экзафлопсных вычислений и высокопроизводительных вычислений (HPC). сама по себе вызывает постоянный интерес в сообществе высокопроизводительных вычислений.

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

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

В подкасте Let’s Talk Exascale ECP участвует приглашенный член команды проекта Supercontainers Эндрю Янг из Sandia National Laboratories. Интервью было записано в ноябре прошлого года в Денвере на конференции SC19: The International Conference for High Performance Computing, Networking, Storage, and Analysis.

Яндж рассказал о технологии контейнеров следующим образом:

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

Проект Supercontainers занимает уникальное положение благодаря совместной структуре ECP, позволяющей первыми проводить исследования и разработки сред выполнения контейнеров, помогая коллегам из ECP использовать эту технологию, – сказал Янг. И, как он отметил, преимущества будут распространяться на лаборатории Министерства энергетики США.

"У меня есть соавторы, и я могу использовать не только часть отличной работы, которая выполняется, скажем, в лаборатории Беркли, но я также могу централизованно предоставлять ее разработчикам приложений по всему миру. по всему Министерству энергетики, от Брукхейвена до Аргонна, до любой крупной лаборатории», — сказал он.

Одной из основных целей проекта «Суперконтейнеры» является предоставление обучения и информационно-разъяснительных услуг различным командам ECP и объектам Министерства энергетики США. «Это знакомит наших пользователей с некоторыми современными инструментами с контейнерами и позволяет им использовать их, работая в своего рода модели DevOps, которая немного отличается от того, как мы исторически создавали приложения для высокопроизводительных вычислений», — сказал Янг. Подход DevOps сочетает в себе разработку программного обеспечения и операции с информационными технологиями, что позволяет эффективно предоставлять программное обеспечение самого высокого качества.

Яндж поделился некоторыми достижениями группы Supercontainers на сегодняшний день: она разработала набор образов контейнеров, которые можно развернуть в ряде систем. И по крайней мере одна среда выполнения контейнера доступна на подавляющем большинстве машин до экзафлопсного масштабирования. Показатели производительности и масштабируемости сред выполнения контейнеров были очень впечатляющими. Кроме того, некоторые первые образы были созданы с помощью программного стека экстремального масштаба (E4S).

"Хорошая новость заключается в том, что эта технология уже доступна сегодня в той или иной степени", – сказал он. «Мы улучшаем масштабируемость, и я думаю, что это одна из вещей, которыми мы действительно гордимся. Я удивлен тем, как быстро мы смогли продемонстрировать, что контейнеры не добавляют фундаментальных накладных расходов и не влияют на производительность».

Эта команда оптимизирует образы и следит за тем, чтобы улучшения доходили до потребителей контейнерных технологий — команд разработчиков приложений ECP — и чтобы разработчикам не приходилось дорабатывать решения в соответствии со своими требованиями, — говорит Янг. сказал.

"Они могут взять этот шаблонный рецепт или набор рецептов и быстро расширить его в соответствии со своими потребностями, не жертвуя при этом производительностью", – сказал он. «Существует постоянный баланс между мобильностью и производительностью».

Открытые стандарты, функциональная совместимость и создание инструментов, которые по своей конструкции превзойдут ECP, обещают стать центральными аспектами непреходящего наследия проекта Supercontainers, – сказал Янг.

Ссылка по теме

Подкаст ECP, выпуск 60: Упрощение развертывания высокопроизводительных вычислительных инструментов и библиотек, с участием Самира Шенде из Орегонского университета

Коронавирус

Министерство энергетики и лаборатории Министерства энергетики США совместно борются с COVID-19. Узнать больше.

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

Вход в EC2

Вход в систему NERSC

пароль: [предоставляется лично]

Аннотация

Контейнерные вычисления коренным образом изменили способы разработки и доставки приложений. Он предлагает невиданные ранее возможности для значительного повышения эффективности научных рабочих процессов и легкого переноса этих рабочих процессов с ноутбука на суперкомпьютер. Такие инструменты, как Docker, Shifter, Singularity и Charliecloud, создают новую парадигму научных и технических вычислений. Однако, чтобы полностью раскрыть его потенциал, пользователи и администраторы должны понимать, как использовать эти новые подходы. В этом учебном пособии слушатели познакомятся с основами создания образов контейнеров, расскажут о передовых методах и охватят более сложные темы, такие как создание образов для запуска на платформах HPC с использованием различных сред выполнения контейнеров. В учебном пособии также объясняется, как ученые-исследователи могут использовать вычисления на основе контейнеров для ускорения своих исследований и как эти инструменты могут повысить эффективность их исследований, обеспечивая лучшую воспроизводимость и совместное использование их научного процесса без ущерба для безопасности.

Это обновленная версия очень успешного руководства, представленного на SC16, SC17, SC18. Ежегодно в нем принимало участие более 100 человек. Учебник 2018 года получил очень высокую оценку: 2,8 / 3 звезды за "рекомендую" и 4,3 / 5 звезд за общее качество.

Предпосылки

Это практическое руководство. Участники должны принести ноутбук и заранее загрузить или предварительно установить терминал и/или ssh-клиент, чтобы наилучшим образом использовать время во время обучения.Мы будем предоставлять обучающие учетные записи пользователей как для предварительно настроенных инстансов EC2, так и для суперкомпьютера Cori в NERSC.

Это руководство поддерживается премией Amazon AWS Machine Learning Research Awards. Образы EC2 и временные учетные данные для входа будут распространяться на месте во время обучения.

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

Необязательные условия

Вопросы

Вы можете задавать вопросы устно или с помощью этого Документа Google. Добавьте свой вопрос под другими вопросами в документе.

EnOS Enterprise Container Platform (ECP) предоставляет высокопроизводительные, масштабируемые и комплексные услуги по разработке и развертыванию контейнерных приложений, упрощая интеграцию, обслуживание и масштабирование приложений, что позволяет разработчикам приложений быстро разрабатывать, создавать и развертывать приложения, не беспокоясь о сложности ИТ-инфраструктуры. Служба контейнеров, предоставляемая EnOS ECP, упрощает настройку кластеров и контейнеров, тем самым создавая наилучшую среду выполнения контейнеров в облаке.

Архитектура ECP показана на следующей диаграмме.

Основные функции¶

Управление контейнерным кластером¶

На основе собственного Kubernetes предоставляет персоналу по эксплуатации и техническому обслуживанию кластера функции управления эксплуатацией и обслуживанием для одного кластера, в том числе:

  • Управление узлами: мониторинг состояния и управление тегами узлов кластера.
  • Управление объектами K8S, хранилищем и сетью
  • Развертывание приложения:
    • Развертывание приложений с изображениями и диаграммами
    • Последовательное обновление и сине-зеленое развертывание
    • Поддержка отката версии приложения

    Студия разработчика¶

    Для разработчиков контейнерных приложений предоставляет инструменты разработки и эксплуатации для непрерывной интеграции приложений из среды разработки, тестирования и предварительной версии, в том числе:

    • Полное управление жизненным циклом приложений
    • Непрерывная интеграция и доставка: конвейер непрерывной доставки от отправки кода, интеграции, сборки до развертывания, выпуска и проверки тестовой и предварительной версии.
    • Сбор журналов запуска приложения
    • Мониторинг производительности приложений

    Бизнес-сценарии¶

    EnOS Enterprise Container Platform можно применять в следующих бизнес-сценариях:

    Развертывание и предоставление услуг EnOS¶

    С Container Cluster Management предоставляет возможность развертывания диаграмм для сервисов EnOS.

    Платформа для разработки приложений¶

    С помощью Developer Studio и Container Cluster Management обеспечивается полное управление жизненным циклом разработки приложений, от размещения кода, интеграции, сборки и выпуска до тестирования разработки и мониторинга журналов.

    Хостинг приложений для сторонних приложений¶

    Благодаря App Hub и управлению кластером контейнеров можно управлять шаблонами приложений и развертывать их. Сторонние приложения могут быть развернуты в кластере EnOS для формирования решений с помощью сервисов EnOS для удовлетворения бизнес-требований.

    Независимое управление кластером¶

    На основе возможностей O&M кластера Kubernetes предоставляет услуги по управлению независимыми кластерами, включая обслуживание узлов и мониторинг кластеров.

    Связанные роли¶

    Системный администратор

    Системный администратор отвечает за создание организаций, управление основной информацией об организациях и управление пользователями и ролями в системе ECP.

    Владелец организации

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

    Владелец проекта

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

    Разработчик приложений

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

    Подготовка ресурсов¶

    Ресурс хостинга приложений

    Перед развертыванием ресурсов контейнера и размещением приложений с помощью EnOS ECP убедитесь, что ваше подразделение запросило ресурс размещения приложений на странице Консоль управления EnOS > Управление ресурсами > Управление корпоративными контейнерами. Дополнительные сведения см. в разделе Спецификация ресурсов размещения приложений.


    Если вашей компании не нужно развертывать и размещать приложения с помощью EnOS ECP, вы можете удалить запрошенный ресурс размещения приложений с помощью управления ресурсами, чтобы освободить ресурс для экономии средств.

    Сопутствующие услуги¶

    Разработка приложений

    Вы можете разрабатывать свои приложения с помощью EnOS SDK и получать доступ к сохраненным данным через EnOS API. Узнать больше >>

    Платформа Edge Computing обеспечивает сверхнизкую задержку и высокую производительность вычислений.

    Платформа CDNetworks Edge Computing Platform (ECP) позволяет клиентам удовлетворять растущие потребности бизнеса, легко развертывая и масштабируя приложения на основе контейнеров. ECP размещает высокопроизводительные вычислительные ресурсы, ресурсы хранения и сети как можно ближе к конечным пользователям. Это снижает стоимость передачи данных, уменьшает задержку и повышает локальность. ECP – это система оркестрации контейнеров, созданная на основе Kubernetes и Docker, чтобы клиенты могли один раз написать приложения на основе контейнеров и развернуть их везде.

    Ресурсы

    Уровень бесплатного пользования ECP

    Зарегистрируйтесь и получите кредит в размере 500 долларов США

    Основные характеристики продукта

    Присутствие более 1500 точек присутствия по всему миру

    CDNetworks обеспечивает непревзойденный масштаб для быстрого расширения приложений на основе контейнеров

    Высокая пропускная способность 50+ Тбит/с

    Агрегированная пропускная способность обеспечивает высокую производительность и доступность даже при пиковом трафике

    Быстрая обработка приложений и обмен данными между граничными и конечными точками

    Распределенное покрытие точек присутствия для обеспечения сверхнизкой задержки

    Совместимость с протоколом TCP

    Автоматическое развертывание, самовосстановление, автоматическое масштабирование, мониторинг приложений и отчетность

    Всесторонняя техническая поддержка

    Решение для платформы граничных вычислений

    ECP — это инфраструктура как услуга (IaaS), которая предлагает как вычислительные, сетевые ресурсы, ресурсы хранилища для экземпляров контейнеров, так и управление контейнерами Kubernetes (K8s) на периферии.

    Вычислить

    Сеть

    Общедоступный сетевой интерфейс IPv4 и IPv6
    Статические IP-адреса
    Балансировка нагрузки

    Хранилище

    Высокопроизводительное локальное постоянное хранилище SSD

    Основные характеристики продукта

    Автоматическое развертывание приложений

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

    Самоисцеление

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

    Автоматические последовательные обновления

    Контроллер развертывания позволяет разработчикам легко развертывать и откатывать приложения.

    Автомасштабирование горизонтального модуля (HPA)

    Масштабирование приложений автоматически в зависимости от использования ресурсов, таких как ЦП и память.

    Программа бесплатного пользования ECP

    Зарегистрируйтесь и получите кредит в размере 500 долларов США

    Глобальное покрытие ECP

    ECP размещает высокопроизводительные вычислительные ресурсы, ресурсы хранения и сети как можно ближе к конечным пользователям и позволяет клиентам один раз написать приложения на основе контейнеров и развернуть их везде. Глобальные точки присутствия (PoP) CDNetworks организованы в четыре «группы серверов» в зависимости от стоимости.

    Стандарт

    Премиум

    Премиум+

    Ультра

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

    • Эшберн, США
    • Бостон, США
    • Буэнос-Айрес, Аргентина
    • Даллас, США
    • Денвер, США
    • Лос-Анджелес, США
    • Лима, Перу
    • Майами, США
    • Монреаль, Канада
    • Нью-Йорк, США
    • Сан-Хосе, США
    • Сантьяго, Чили
    • Сан-Паулу, Бразилия
    • Сиэтл, США
    • Торонто, Канада
    • Амстердам, Нидерланды
    • Анкара, Турция
    • Брюссель, Бельгия
    • Бухарест, Румыния
    • Франкфурт-на-Майне, Германия
    • Стамбул, Турция
    • Йоханнесбург, Южная Африка
    • Киев, Украина
    • Лондон, Великобритания
    • Мадрид, Испания
    • Марсель, Франция
    • Милан, Италия
    • Москва, Россия
    • Париж, Франция
    • Санкт-Петербург, Россия
    • Стокгольм, Швеция
    • Варшава, Польша
    • Бангкок, Таиланд
    • Ченнаи, Индия
    • Дели, Индия
    • Хошимин, Вьетнам
    • Гонконг, Гонконг
    • Инчхон, Южная Корея
    • Джакарта, Индонезия
    • Куала-Лумпур, Малайзия
    • Макао, Китай
    • Манила, Филиппины
    • Мандалай, Мьянма
    • Мумбаи, Индия
    • Инчхон, Южная Корея
    • Мельбурн, Австралия
    • Сурабая, Индонезия
    • Сеул, Южная Корея
    • Сингапур, Сингапур
    • Сидней, Австралия
    • Тайбэй, Тайвань
    • Токио, Япония

    Что такое граничные вычисления?

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

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

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

    Часто задаваемые вопросы

    Как работают граничные вычисления

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

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

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

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

    Разработчики могут развертывать приложения на периферии, создавая модули — небольшие вычислительные единицы, которые объединяют один или несколько контейнеров с общим хранилищем и сетевыми ресурсами. Kubernetes, или K8, как их называют, можно развернуть на каждой граничной точке присутствия, чтобы разработчики могли сами создавать эти pod'ы на периферии.

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

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

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

    Почему граничные вычисления важны для конфиденциальности и безопасности?​

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

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

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

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

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

    Чем граничные вычисления отличаются от облачных вычислений?​

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

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

    БЕЗ ГОСУДАРСТВА ПРОТИВ СОСТОЯНИЯ

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

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

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

    ТРЕБОВАНИЯ К ПРОПУСКНОЙ СПОСОБНОСТИ

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

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

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

    Задержка

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

    Читайте также: