СИСТЕМА УПРАВЛЕНИЯ И ДИСПЕТЧЕРИЗАЦИИ КОНТЕЙНЕРОВ

1. Выполняемый компьютером способ, содержащий:
получение от клиента поставщика служб вычислительных ресурсов одного или более вызовов интерфейса прикладного программирования (API) для создания кластера экземпляров виртуальных машин, выполняющих процесс; и
в ответ на один или более API вызовов:
создание множества экземпляров виртуальных машин;
ассоциирование множества экземпляров вычислительных машин с идентификатором кластера;
для каждого экземпляра виртуальных машин из множества экземпляров виртуальных машин:
запуск программного контейнера в экземпляре виртуальной машины; и выполнение по меньшей мере части процессов в программном контейнере.
2. Выполняемый компьютером способ по п. 1, в котором программный контейнер представляет собой экземпляр пространства пользователя, который запускается изолированно от других программных контейнеров, запущенных на экземпляре виртуальной машины.
3. Выполняемый компьютером способ по п. 1, в котором кластер является ассоциированным с множеством экземпляров, которые включают в себя экземпляр.
4. Выполняемый компьютером способ по п. 1, в котором создание множества экземпляров виртуальных машин дополнительно включает создание множества экземпляров виртуальных машин в виртуальном частном облаке.
5. Выполняемый компьютером способ по п. 1, в котором программный контейнер связан с другим программным контейнером способом, указанным в определении задачи.
6. Выполняемый компьютером способ по п. 1, в котором выполняемый компьютером способ дополнительно содержит:
получение определения задач, которое:
отображает местоположение образа программного обеспечения, связанного с процессом; и
включает информацию, используемую при определении количества вычислительных ресурсов экземпляра виртуальной машины для выделения программному контейнеру; и
дополнительно для каждого экземпляра виртуальной машины из множества экземпляров виртуальных машин:
получение образа программного обеспечения из местоположения;
выделение количества вычислительных ресурсов на экземпляре виртуальной машины для программного контейнера; и
выполнение по меньшей мере части процесса на основании по меньшей мере части образа программного обеспечения.
7. Выполняемый компьютером способ по п. 1, в котором образ программного обеспечения представляет собой данные, которые представляют состояние программного контейнера во время создания образа программного обеспечения.
8. Система, содержащая: один или более процессоров; и
память, содержащую выполняемые инструкции, которые при выполнении одним или более процессорами побуждают систему:
получать определение задачи, которое указывает имя задачи для выполнения, местоположение образа контейнера для задачи, а также порт для задачи;
получать запрос на выполнение в кластере экземпляров виртуальных машин одного или более контейнеров для выполнения задачи, причем запрос указывает количество ресурсов, выделяемых для задачи;
выбирать, посредством планировщика, доступный экземпляр виртуальной машины из кластера для запуска одного или более контейнеров;
запускать, в доступном экземпляре виртуальной машины и в соответствии с определением задач, одного или более контейнеров на основании по меньшей мере части образа контейнера, по меньшей мере побуждая систему:
получать, по меньшей мере частично на основании определения задачи, образ контейнера из местоположения;
назначать количество ресурсов для одного или более контейнеров;
назначать порт для одного или более контейнеров; и
запускать один или более контейнеров для выполнения задачи.
9. Система по п. 8, в которой количество ресурсов является частью количества ресурса, выделенного доступному экземпляру виртуальной машины.
10. Система по п. 8, в которой:
определение задач дополнительно включает информацию о сходстве, указывающую сходство или несходство для определенных типов экземпляров виртуальной машины; и
выполняемые инструкции, которые побуждают систему выбирать доступный экземпляр виртуальной машины, дополнительно содержащей инструкции, которые побуждают выбирать доступный экземпляр виртуальной машины на основании по меньшей мере частично информации о сходстве.
11. Система по п. 8, в которой балансировщик нагрузки осуществляет балансировку трафика между экземплярами виртуальной машины кластера.
12. Система по п. 8, в которой Docker-движок контейнеров управляет одним или несколькими контейнерами, запущенными в доступном экземпляре виртуальной машины.
13. Система по п. 8, в которой определение задачи дополнительно указывает, что:
один или несколько контейнеров назначены группе; и
члены группы координируются для выполнения на том же экземпляре виртуальной машины.
14. Система по п. 8, в которой выполняемые инструкции дополнительно содержат инструкции, побуждающие систему:
получать метрики, связанные с одним или несколькими контейнерами, запущенными в доступном экземпляре виртуальной машины; и
предоставлять метрики для службы мониторинга ресурсов.
15. Система по п. 14, в которой метрики включают в себя по меньшей мере одно из:
использования процессора одним или несколькими контейнерами;
процессорного времени, используемого одним или несколькими контейнерами;
объема памяти, используемой одним или несколькими контейнерами; или
количества места для хранения, используемого одним или несколькими контейнерами.
16. Энергонезависимый машиночитаемый носитель данных, на котором хранятся исполняемые инструкции, которые при выполнении одним или несколькими процессорами компьютерной системы побуждают ее по меньшей мере:
получать сообщение от планировщика для выполнения задачи в результате запланированного выполнения задачи в экземпляре кластера из экземпляров в соответствии с определением задачи;
создавать контейнер в экземпляре для выполнения задачи в ответ на получение сообщения;
контролировать контейнер для получения информации о состоянии контейнера; и
в результате определения, выполненного по меньшей мере частично на основе информации о состоянии, что в контейнере произошла ошибка, создавать новый контейнер для замены контейнера, в котором произошла ошибка.
17. Энергонезависимый машиночитаемый носитель данных по п. 16, в котором количество экземпляров кластера динамически увеличивается или уменьшается в зависимости по меньшей мере частично от потребности в ресурсов контейнеров в экземплярах кластера с помощью автоматического сервиса масштабирования.
18. Энергонезависимый машиночитаемый носитель данных по п. 16, в котором экземпляр кластера расположен в виртуальном частном облаке.
19. Энергонезависимый машиночитаемый носитель данных по п. 16, в котором информация о состоянии включает по меньшей мере одно из:
активности контейнера;
продолжительности выполнения контейнера;
статуса контейнера; или
возникновения ошибки в контейнере.
20. Энергонезависимый машиночитаемый носитель данных по п. 16, в котором исполняемые инструкции выполняются в экземпляре для управления агентом, который запускает и выполняет контейнера, запланированные в экземпляре.