Как управлять облачными ресурсами с помощью Python? Поднимаем кластеры по запросу через несколько строк кода

th?id=HN.608049004316985352&w=160&amБиблиотека Simple Azure позволяет управлять облачными ресурсами, в том числе созданием, управлением и удалением виртуальных машин в облачном окружении. Вы можете использовать данную библиотеку для любых целей: от развертывания песочницы для целей Dev&Test до размещения и управления решениями в промышленной эксплуатации.

С помощью Simple Azure вы можете легко поднять ipython notebook и кластеры ipython в облачном окружении, развернуть готовые виртуальные машины на выбор из сотен представленных в каталоге VMDepot.

Ниже представлено краткое введение и примеры использования Simple Azure для простых задач и задачи развертывания кластера IPython в облаке.

Установка $ pip install simpleazure $ simpleazure-cluster start mycluster Развертывание виртуальных машин from simpleazure.simpleazure import SimpleAzure as saz azure = saz () azure.get_config () azure.create_vm () Видео:[embedded content]

Смена виртуальной машины на выбор:

azure.set_image (label=«Ubuntu Server 12.04.2 LTS») Размещение нескольких машин azure = saz () azure.get_config () azure.create_cluster (num=5) my-cluster-vm-0–87412 {'request_id': '88c94c00288d42acaf877783f09c4558'} my-cluster-vm-1–61293 {'request_id': 'abfd563c2c4f4926872b6b1dba27a93b'} my-cluster-vm-2–96085 {'request_id': '29b55f6cb5e94cfdbf244a7c848c854d'} my-cluster-vm-3–46927 {'request_id': 'b1a3446ebafe47a295df4c9d1b7d743c'} Размещение машин из каталога сообщества VMDepot В этом примере кода из каталога сообщества VMDepot выбирается виртуальная машина Azure Data Science Core на базе OpenSUSE с настроенным окружением для работы с большими данными, HPC и следующими пакетами: cython, ipython, matplotlib, networkx, nltk, nodejs, numpy, pandas, pytables, redis, scikit-image, scikit-learn, scipy, statsmodels, sympy. azure = saz () azure.get_config () q = azure.get_registered_image (name=«Azure-Data-Science-Core») azure.set_image (image=q) azure.create_vm () Поддержка командной строки Simple Azure поддерживает команды в шелле Linux. Например, вы можете создать кластеры виртуальных машин типа StarCluster следующей командой: $ simpleazure-cluster start mycluster

Включение кластера IPython В этом руководстве описывается как за несколько шагов развернуть в облаке кластер IPython.Шаг первый:

from simpleazure.simpleazure import SimpleAzure as saz azure = saz () azure.get_config () Шаг второй — создание трех узлов для кластера с ADSC: adsc = azure.get_registered_image (name=«Azure-Data-Science-Core») azure.set_image (image=adsc) azure.set_location («West Europe») azure.create_cluster (3) Шаг третий — импорт плагина IPython: from simpleazure.plugin import ipython ipy = ipython.IPython () Настройка SSH: ipy.set_username (azure.get_username ()) ipy.set_private_key (azure.get_pkey ()) Шаг четвертый — настройка узлов master и engine: from simpleazure import config master = config.get_azure_domain (azure.results['master']) engines = [ config.get_azure_domain (x) for x in azure.results.keys ()] Привязка имен в плагине IPython: ipy.set_master (master) ipy.set_engines (engines) Установка SSH-подключения к узлам: ipy.init_ssh ()

ipy.connect_nodes () Создания профиля IPython: ipy.create_profile () Запуск IPController на master: ipy.run_ipcontroller () Натсройка узлов engine: ipy.copy_pkey_to_nodes () # <- Temporary function to distribute id_rsa private key to node(s) ipy.copy_json2engines() Последний шаг – исполнение ipengine на каждом узле engine, чтобы они начали взаимодействие с master: ipy.run_ipengine()

ipy.apply_ipcluster (azure) Дополнительная информация Еще больше руководств вы можете найти по следующей ссылке. Тонкости установки и настройки библиотеки описаны тут. Вы можете получить исходные коды библиотеки и присоединиться к разработке проекта на GitHub. Свежие новости и информацию о проекте вы всегда может найти на официальном сайте Simple Azure.Дополнительные ссылки

© Habrahabr.ru