Pull to refresh
0
1cloud.ru
IaaS, VPS, VDS, Частное и публичное облако, SSL

Как работает API нашего IaaS-провайдера

Reading time 3 min
Views 7K
Сегодня мы поговорим о практических кейсах, в рамках которых используется API нашего IaaS-провайдера 1cloud. Его основная задача — обеспечение интеграции клиентских приложений и нашей ИТ-инфраструктуры.


/ фото Rachel Johnson CC

Один из наших основных принципов работы заключается в предоставлении клиентам простого и удобного интерфейса. Задача состоит в том, чтобы сделать виртуальную инфраструктуру доступной даже для тех, кто еще не сталкивался с настройкой ИТ-составляющей своего проекта.

Пользовательские действия в панели панели управления создают соответствующие задания, которые обрабатывает служебных сервис. Такой подход позволяет создать универсальные условия для работы с помощью графического интерфейса и посредством нашего REST API.

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


Авторизация приложения для работы с API происходит с помощью вставки в заголовок запроса токена (закрытого ключа), данная схема безопасна, т.к. используется SSL-шифрование. Токен можно сгенерировать в панели управления (на скриншоте выше).

Наш API позволяет автоматизировать ряд служебных задач, с которыми сталкивается любая компания, пользующаяся виртуальной инфраструктурой. Наибольшую пользу смогу извлечь те, кто занимается реселлингом хостинг услуг, выводит собственные сервисы в облако нашего IaaS-провайдера и предпочитает быстро масштабировать уже зарезервированные мощности.

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

В рамках работы с сервером возможно осуществлять такие действия как: получение списка всех серверов; поиск сервера по его идентификатору; изменение настроек и удаление сервера.

Существует несколько реализаций клиентских приложений для нашего API.





Пример самого распространенного действия — создания нового сервера:

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/Server" -d '{"Name":"testAPI","CPU":1,"RAM":1024,"HDD":40,"imageID":1,"HDDType":"SSD","IsHighPerformance":true}'

В ответ приходит JSON-объект с атрибутами созданного сервера:

{
  "ID":777,
  "Name":"testAPI",
  "State":"Active",
  "IsPowerOn":true,
  "CPU":1,
  "RAM":1024,
  "HDD":40,
  "IP":"5.200.XX.XX",
  "AdminUserName":"1CloudAdmin",
  "AdminPassword":"XXXXXXXX",
  "Image":"WinServer2008R2x64En",
  "IsHighPerformance":false,
  "HDDType":"SAS",
  "LinkedNetworks":[{"NetworkID":57, "IP":"10.0.1.1"}, {"NetworkID":98, "IP":"10.0.2.4"}]
}


Пример для создания шаблона виртуального сервера (POST-запрос по адресу api.1cloud.ru/image):

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/image" -d '{"Name":"Шаблон","TechName":"TemplateAPI","ServerID":6940}'


Еще один пример — создание частной сети (POST-запрос):

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer 75bb9805c018b1267b2cf599a38b95a3a811e2ef7ad9ca5ed838ea4c6bafaf50' "https://api.1cloud.ru/network" -d '{"Name":"testNetworkAPI"}'


P.S. Для аудитории Хабрахабра мы предоставляем расширенный тестовый период, в ходе которого мы готовы оказать поддержку всем пользователям (для его активации достаточно написать нам на адрес support@1cloud.ru).
Tags:
Hubs:
+11
Comments 4
Comments Comments 4

Articles

Information

Website
1cloud.ru
Registered
Founded
Employees
31–50 employees
Location
Россия