[Перевод] Как меняется бизнес Docker для обслуживания миллионов разработчиков, часть 1: Хранилище

po-46qfjunh9cour_41gqebpqoq.jpeg

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

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


Подробный анализ образов Docker Hub

Доставка приложений переносимым, безопасным и ресурсоэффективным способом требует инструменты и сервисы для безопасного хранения и совместного использования для вашей команды разработчиков. На сегодняшний день Docker с гордостью предлагает крупнейший в мире registry для образов контейнеров, Docker Hub, используемый более 6.5 миллионов разработчиков по всему миру. В настоящее время в Docker Hub хранится более 15ПБ образов контейнеров, охватывающих всё, начиная от популярнейших баз данных с хранением данных в оперативной памяти, и заканчивая платформами поточной передачи событий, тщательно отобранных и доверенных официальных образов Docker, а также порядка 150 миллионов образов, созданных сообществом Docker.

Согласно отчету, полученному нашими внутренними аналитическими инструментами, из 15 ПБ образов, хранящихся в Docker Hub, более 10ПБ не использовалось более полугода. Мы обнаружили, копнув глубже, что более 4.5ПБ этих неактивных образов связаны с бесплатными учетными записями. Многие такие образы использовались короткое время, включая образы, полученные из конвейеров CI с Docker Hub, настроенных так, что удаление временных образов игнорировалось.

Из-за большого объема неактивных данных, простаивающих в Docker Hub, команда столкнулась со сложным вопросом: как ограничить эти данные, за которые Docker ежемесячно платит, не влияя при этом на остальных клиентов Docker?

Основные принципы, принятые для решения проблемы были такими:


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


Помощь разработчикам в управлении неактивными образами

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

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


  • Пример 1: Молли, пользователь бесплатной учетной записи, закачала в Docker Hub 1 января 2019 года образ с меткой molly/hello-world:v1. Этот образ никогда не скачивался с момента публикации. Этот помеченный образ будет считаться неактивным начиная с 1 ноября 2020 года, когда новая политика начнет действовать. Образ и любая метка, указывающая на него, будут удалены 1 ноября 2020 года.
  • Пример 2: У Молли есть образ без метки molly/myapp@sha256:c0ffee, закачан 1 августа 2018 года. Последнее скачивание было 1 августа 2020 года. Этот образ считается активным, и не будет удален 1 ноября 2020 года.


Минимизация влияния на сообщество разработчиков

Для бесплатных учетных записей Docker предлагает бесплатное хранение неактивных образов в течение полугода. Для тех, кому надо хранить неактивные образы, Docker предлагает неограниченное хранение образов в качестве особенности планов Pro или Team.

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

Наконец, в рамках поддержки сообщества разработчиков ПО с открытым исходным кодом, до 1 ноября мы предоставим новые тарифные планы для открытого исходного кода. Чтобы подать заявку — надо заполнить форму тут.

Для получения дополнительной информации о последних изменениях условий обслуживания обратитесь к FAQ.

Следите за сообщениями по e-mail касательно любых образов с истекающим сроком действия, либо перейдите на тарифные планы Pro или Team для хранения неактивных образов без ограничений.

Хотя мы пытаемся минимизировать влиание на разработчиков, возможно у вас есть не рассмотренные вопросы или варианты использования. Как обычно мы ждем обратную связь и вопросы здесь.

P.S. Учитывая то, что технология Docker не теряет актуальности, как заверяют её создатели, совсем не лишним было бы изучить эту технологию от и до. Тем более это всегда в пользу, когда вы выработаете с Kubernetes. Если хотите познакомиться с best practice кейсами, чтобы понять, где и как лучше использовать Docker, рекомендую комплексный видеокурс по Docker, в котором мы разберем все его инструменты. Полная программа курса на странице курса.

© Habrahabr.ru