тых, закрытых и гибридных облаков. Новая версия выходит каждые шесть месяцев,
344
Глава 11. Конкуренция и сети
самая последняя из них на момент написания книги содержала более 1,25 млн строк
кода Python, внесенного многими участниками. OpenStack используется на про-
изводстве постоянно увеличивающимся числом организаций, куда входят CERN
и PayPal.
Основные API OpenStack являются RESTful, модули Python предоставляют
программные интерфейсы, а программы, запускающиеся из командной строки,
отвечают за автоматизацию работы с оболочкой. Рассмотрим стандартные службы
текущей версии:
Keystone — служба идентификации, предоставляющая аутентификацию (на-
пример, логин/пароль), авторизацию (инструменты) и обнаружение служб;
Nova — служба вычислений, распределенная работа с серверами сети;
Swift — хранилище объектов вроде S3 от Amazon. Оно используется службой
Cloud Files от Rackspace;
Glance — служба хранения изображений промежуточного уровня;
Cinder — служба хранения блоков низкого уровня;
Horizon — онлайн-панель управления для всех служб;
Neutron — служба управления сетью;
Heat — служба управления (мультиоблачная);
Ceilometer — служба телеметрии (метрики, мониторинг и измерения).
Время от времени появляются и другие сервисы, затем они проходят через инку-
бационный процесс и могут стать частью стандартной платформы OpenStack.
OpenStack работает на Linux или внутри виртуальной машины Linux. Установ-
ка его основных служб довольно сложна. Самый быстрый способ установить
OpenStack на Linux — использовать Devstack (http://devstack.org/) и читать в про-
цессе весь объясняющий текст. В конце вы увидите онлайн-панель инструментов,
которая может просматривать другие службы и управлять ими.
Если вы хотите установить некоторые службы или даже их все вручную, ис-
пользуйте менеджер пакетов вашего дистрибутива. Все основные поставщики Linux
поддерживают OpenStack и предоставляют пакеты на своих серверах. Посетите
сайт OpenStack, чтобы увидеть документы по установке, новости и соответству-
ющую информацию.
Разработка и корпоративная поддержка OpenStack все больше ускоряются.
Его начали сравнивать с Linux, когда тот мешал распространению версий Unix.
Упражнения
1. Используйте объект класса socket, чтобы реализовать службу, сообщающую
текущее время. Когда клиент отправляет на сервер строку 'time', верните теку-
щие дату и время как строку ISO.
Упражнения
345
2. Используйте сокеты ZeroMQ REQ и REP, чтобы сделать то же самое.
3. Попробуйте сделать то же самое с помощью XMLRPC.
4. Возможно, вы видели эпизод телесериала I Love Lucy, в котором Люси и Этель
работают на шоколадной фабрике (это классика). Парочка стала отставать,
когда линия конвейера, которая направляла к ним на обработку конфеты, на-
чала работать еще быстрее. Напишите симуляцию, которая отправляет разные
типы конфет в список Redis, и клиент Lucy, который делает блокирующие вы-