CNCF предложила бесплатное облако Open Source-проектам для DevOps/микросервисов



    Во вторник организация CNCF (Cloud Native Computing Foundation) объявила о публичной доступности своей «инфраструктурной лаборатории» — CNCF Community Infrastructure Lab (CIL). Это означает, что Open Source-проекты, связанные с микросервисной архитектурой и «облачным» (cloud native) подходом, могут бесплатно получить в своё распоряжение инфраструктуру для тестирования функционирования и производительности своих наработок в облаке нужного масштаба.

    CNCF — проект The Linux Foundation, созданный в конце 2015 года с целью способствовать широкому принятию подхода cloud native — «вычислительной парадигмы, оптимизированной для современных распределённых окружений, способных масштабироваться до десятков тысяч самовосстанавливающихся многопользовательских узлов». Подразумевается, что такие (cloud native) системы запускают приложения, разбитые по контейнерам, динамически управляются и являются ориентированными на микросервисную архитектуру. А поскольку всё это происходит с подачи Linux Foundation, речь идёт о проектах с открытым исходным кодом (Open Source). И сегодня среди поддерживаемых в CNCF проектов можно увидеть много знакомых DevOps-миру названий: Kubernetes, containerd, Prometheus, CNI, CoreDNS, Linkerd и др.

    CNCF Cluster: первая версия


    С самого своего появления CNCF организация стремилась обеспечивать инфраструктуру для Open Source-проектов. Со временем это вылилось в создание специального кластера — CNCF Cluster. Первую его реализацию представили около года назад, а его конфигурация была основана на процессорах Intel Xeon (и подарена компанией Intel), выглядела следующим образом:



    Уже тогда CNCF Cluster назывался «крупнейшим в мире бесплатно доступным кластером из bare metal-серверов для развития cloud native computing». И за время существования его первой версии к облачным ресурсам CNCF успели обратиться такие проекты, как Kubernetes, Apache ZooKeeper, Elasticsearch на Mesos, СУБД TiDB и другие. Однако самым масштабным пользователем оказалась платформа OpenShift.

    Инженеры Red Hat развернули две инсталляции OpenShift: один кластер на 100 узлах bare metal и второй — на 2048 узлах виртуальных машин на базе облака OpenStack (Red Hat OpenStack Platform 10).



    Цели эксперимента заключались в тестировании различных компонентов Docker (драйвер overlay2 для OverlayFS) и Kubernetes/OpenShift (HAProxy + Ingress, Persistent Volumes на базе Red Hat Container-Native Storage, реестр контейнеров) на достаточно большом масштабе. Результаты их теста подробно описаны в блоге OpenShift, а итоговые впечатления от эксперимента были сформулированы так:
    Проделана большая работа. Как мы можем быть уверены, что сообщество и потребители выиграют от неё? Во-первых, мы добавляем абсолютно все [полученные результаты] в upstream. Вдобавок, мы создаем настолько много настроек, лучших практик и оптимизаций конфигов для продукта, насколько это возможно… и документируем всё остальное. [..] CNCF Cluster — невероятно ценный актив для Open Source-сообщества. Второй этап тестирования производительности на кластере CNCF снова обеспечил нас полезной информацией, которую мы используем в грядущих релизах.

    Одним из заметных ограничений первого CNCF Cluster было максимальное время его использования — до 2 недель. С ним столкнулись в своих запросах такие проекты, как Cilium и etcd. Но их не оставили без внимания: на помощь пришёл сотрудник американской компании Packet, специализирующейся на предоставлении ресурсов bare metal по запросу*… И вот пришло время, когда это предложение распространилось на весь кластер CNCF, который вместе с Packet получил вторую инкарнацию.

    * Кстати, в Open Source-сообществе Packet была известна и ранее — благодаря своей безвозмездной помощи для kernel.org.

    CNCF Cluster: новая версия


    Итак, для нужд CNCF в Packet предлагают облако, финансово лимитированное 25 тысячами USD в месяц и географически распределённое по всему миру (включая США, Нидерланды, Японию).

    Доступны серверные варианты 5 типов (7 конечных конфигураций) на базе:
    • Intel Atom C2550 (4 cores @ 2.4Ghz);
    • Intel Xeon E3-1240 v3 (4 cores @ 3.4Ghz);
    • Intel E3-1578L (4 Physical Cores @ 2.0 GHz base / 3.40 GHz burst);
    • 2 x Intel Xeon E5-2650 v4 (24 cores @ 2.2 GHz);
    • 2 × Cavium ThunderX ARMv8 SoC's;
    • 2 x Intel Xeon E5-2640 v3 (16 cores @ 2.6Ghz);
    • 2 x Intel E5-2620 v4 (16 total cores @ 2.1Ghz).


    Типовая конфигурация сервера Packet, предлагаемая для развёртывания приложения

    Среди официально поддерживаемых операционных систем для серверов с процессорами Intel упоминаются Ubuntu 14.04 и 16.04, Debian 8, CentOS 7, Scientific Linux, Container Linux, RancherOS, NixOS, FreeBSD, а для ARMv8 этот список гораздо короче, зато дополнен CoreOS. Сетевые возможности включают в себя анонсирование своего IP-пространства, BGP/Anycast и поддержку IPv6.

    Взаимодействовать с предлагаемыми конфигурациями можно по специальному API, доступному по протоколу HTTP, а также с помощью готовых клиентов, уже реализованных на Ruby, Python, PHP, Go, Java, Node.js. Одна из особенностей Packet — интеграция предлагаемых ею ресурсов с популярными инструментами/сервисами для работы с облачными окружениями и контейнерами, такими как Rancher, Terraform, Mesosphere DC/OS, Kontena, Docker Machine и Docker Cloud, Apache jclouds и Apache Libcloud, а также системой управления конфигурациями Ansible и сетевым решением Project Calico.

    Подача заявки на ресурсы


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

    1. запускаемый код должен быть Open Source (распространяться под лицензиями, одобренными OSI) на 100%;
    2. приложение должно позволять разработчикам тестировать или создавать непрерывно интегрируемые инфраструктуры с автоматизированным использованием крупного публичного облака и без принудительного применения виртуализации;
    3. в тестировании должны использоваться контейнеры, если это уместно.

    Чтобы запросить ресурсы для своего проекта, необходимо создать issue в Git-репозитории CNCF Cluster. Для текста заявки заготовлен достаточно подробный шаблон, который просит рассказать о том, для кого из сообщества и конечных пользователей будут полезны проводимые тестирования и как они «помогут развить cloud native computing (в частности — контейнеризацию, оркестровку, микросервисы или любую их комбинацию)». Примеры уже реализованных запросов (правда, пока они относятся только к старому кластеру) можно увидеть в закрытых issues.

    P.S.


    Возможно, вам не нужны эти ресурсы прямо сейчас (и/или вы не разрабатываете Open Source-код), но полезно знать… возможно, даже не столько об этом конкретном предложении, сколько о самих примерах сотрудничества в индустрии на благо современным технологиям и, конечно, Open Source.

    Читайте также в нашем блоге: «Linux Foundation представила бесплатный вводный онлайн-курс по Kubernetes».
    Метки:
    • +14
    • 2,2k
    • 7
    Флант 264,80
    Специалисты по DevOps и высоким нагрузкам в вебе
    Поделиться публикацией
    Комментарии 7
    • 0
      Т.е. без CI / docker'a можно не пытаться?
      • 0
        Docker не является обязательным критерием, а конкретно CI в требованиях на их GitHub даже не указан. Что у вас за проект?
        • 0
          У меня их небольшая кучка. В основном, Python или PHP. Проверяют доступность сайтов, собирают количество открытых вакансий и т.п.
          Вплоть до градостроительного симулятора и MMORPG.
          Код везде далек от совершенства, но он же работает. И везде опен-сорс.
          • 0
            По первому впечатлению всё это никак не связано с cloud native (хотя, конечно, зависит от конкретной реализации…). Вот дословно ключевое требование в этом смысле: «Testing should involve cloud native computing, meaning containerization, microservices, orchestration or some combination».
            • 0
              Не люблю писать длинный код, поэтому весь код в маленьких порциях и выполняется условно-независимо. Чем не микросервисы?)
      • 0
        А можно ли это использовать для домашнего IoT на базе ардуинки?
        • 0
          … если он не просто «домашний для себя», а для какого-то потенциально полезного массам Open Source-проекта, связанного с CI/микросервисами/оркестровкой. (Вообще, у меня есть подозрение, что в Packet готовы помочь и другим Open Source-проектам, даже не связанным напрямую с тематикой CNCF [как пример — ядро Linux]. Просто тогда логичнее к ним напрямую обратиться.)

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

        Самое читаемое