- PVSM.RU - https://www.pvsm.ru -

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами

Привет!

Сегодня мы расскажем о GanttPRO – онлайн-диаграмме Гантта для планирования, создания и управления проектами. Для своей работы команда сервиса в рамках гранта BizSpark использует инфраструктуру Microsoft Azure. У BizSpark есть особенность — когда компания вступает в программу, она получает до 8 аккаунтов Azure. Ежемесячно каждый из аккаунтов может потребить до $150. Часто этого достаточно, иногда — не хватает, особенно в случае с виртуальными машинами. В Azure есть сервис Virtual Network, однако он не умеет создавать сеть между подписками.

В этой статье команда GanttPRO расскажет не только о конкретных действиях, которые позволят объединить виртуальные машины в разных подписках, но и о проекте в целом. Конечно, если вы опытный администратор или разработчик, вы сможете потратить время и разобраться. Однако — потратить время.

А начнём с теории и мотивации проекта. Если вы системный администратор, разработчик, работающий с opensource решениями в облаке Azure, или же менеджер проекта, эта статья будет полезна и для вас.

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

По сути, изобретать легкий способ визуализации проекта не нужно благодаря находке американского инженера Генри Гантта [1], который более 100 лет назад предложил удобный принцип представления длительности и последовательности задач. Речь о диаграмме Гантта.

Это столбчатая диаграмма, состоящая из полос, которые и являются задачами. У каждой полосы есть начальная и конечная точки. Т.е. это те моменты, где задача начинается и заканчивается. Соответственно, протяженность полосы – продолжительность задачи. Все полосы ориентированы вдоль временной оси.

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

Онлайн-диаграмма Гантта GanttPRO [2] также строится на ней. Интерфейс похож c Google Docs, как внешне, так и в простоте использования, как если бы вы в Google Docs внезапно решили начать управлять проектами и работать с командой. Однако Google пока не предоставляет подобного решения.

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 1

Просто постановка задач и контроль над их выполнением – это базовые функции диаграммы. На деле же управление требует много других полезных фич для простоты, наглядности и удобства. Например: задачи редко носят обособленный характер. Как правило, часть из них взаимосвязана. Значит, в инструменте должна быть функция «Установить зависимость».

Или еще пример. Менеджеру нужно, чтобы проект всегда был под рукой для его обсуждения с участниками или включения в презентацию. Значит, без функции «Экспорт» не обойтись.
Поэтому классические функции диаграммы Гантта в GanttPRO значительно расширены. Здесь пользователь может не только создавать задачи и распределять их, но и выставлять зависимости между ними, следить за прогрессом каждой отдельной задачи и проекта в целом, создавать вехи и определять критический путь.

Приложение дает много возможностей для управления командой проекта [3]. Здесь можно делиться проектом, импортировать/экспортировать его из/в популярные форматы, оставлять комментарии под задачами и прикреплять файлы, и многое другое.

Также здесь есть автоматическое планирование. Функция позволяет избежать многочасовой монотонной работы. Сервис автоматически на основе связей рассчитывает порядок задач, длительность и прогресс групп задач и проекта в целом, подсказывает, когда проект завершится и какие этапы опасны из-за потенциального возникновения задержек.

Почему было принято решение создать GanttPRO

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

Сервисом уже пользуется свыше 190 000 пользователей, которые создали более 210 000 проектов по всему миру. Его посчитали полезным и удобным для project management как где-то далеко в США, Канаде, Британии, Австралии и Германии, так и уже в управлении проектами где-то рядом в России, Беларуси и Украине.

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 2

Сфера применения диаграммы Гантта обширна: это разработка ПО, строительство, продажи, производство, и т.д. Однако если есть необходимость просто распланировать свой график и дела, не проблема: онлайн диаграмма поможет в управлении любым личным проектом, будь то подготовка к экзаменам [4] или расписание дел на месяц.

Что сделано в GanttPRO и чего ждать в будущем

Совсем недавно в сервисе появились новые функции: история изменений [5], отмена действия и восстановление прежней версии. Это очень удобные фичи, которых раньше определенно не хватало. С ними у менеджера еще больше возможностей взаимодействовать с командой и управлять проектом в целом.

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

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 3

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

Почему в GanttPRO пользуются облачным сервисом Microsoft Azure:

  • Быстрая настройка в течение нескольких минут;
  • Стабильная производительность;
  • Возможность быстро масштабироваться;
  • Высокий уровень безопасности — все пароли и другая информация шифруются;
  • Функция обнаружения угроз;
  • Собственное виртуальное пространство.

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

Создаем VM для VPN gateway

В «portal.azure.com» выбираем “+New” > «Virtual machines» > «Ubuntu Server 14.04 LTS» > «Create»

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 4

Configure basic settings
«Name» — openvpn-gateway
«User name» — ubuntu-admin
Выбираем пункт «SSH public key»
Копируем «SSH public key»
«Resource group» — newgroup
«Location» — North Europe
-> OK

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 5

Size
«Choose virtual machine size» — A1 Standard
-> Select

Configure optional features
«Disk type» — Standard
«Public IP address» — Create new -> Static

«Network security group» -> Create new -> Создаем новую группу и добавляем правила доступа для 1194 UDP Any
-> OK -> OK

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 6

Ждем, пока создается виртуальная машина. В свойствах виртуальной машины можно посмотреть полученный IP.

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 7

Подключаемся к только что созданной виртуальной машине.

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 8

Для установки и настройки программ залогинимся под root при помощи sudo

$ sudo -i

Обновить список пакетов в репозитории

# apt-get update

Установка необходимых пакетов и настройка

# apt-get install openvpn easy-rsa
# mkdir /etc/openvpn/easy-rsa
# cp -r /usr/share/easy-rsa /etc/openvpn/easy-rsa
# mv /etc/openvpn/easy-rsa/easy-rsa /etc/openvpn/easy-rsa/2.0 

Генерация ключей сервера

# cd /etc/openvpn/easy-rsa/2.0
# cp openssl-1.0.0.cnf openssl.cnf
# source ./vars
# ./clean-all
# ./build-ca
Отвечаем на вопросы интерактивного меню.

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 9

# ./build-key-server <название ключа> (в данном примере openvpn-gateway)

Отвечаем на вопросы интерактивного меню

# ./build-dh

Копируем ключи

# cp -r /etc/openvpn/easy-rsa/2.0/keys/ /etc/openvpn/

Пишем файл конфига для сервера /etc/openvpn/server.conf следующего содержания:

port 1194 
proto udp
dev tun 
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/openvpn-gateway.crt
key /etc/openvpn/keys/openvpn-gateway.key
dh /etc/openvpn/keys/dh2048.pem
server 10.8.0.0 255.255.255.0 (подсеть и маска)
client-config-dir ccd
ifconfig-pool-persist ipp.txt
cipher BF-CBC
client-to-client
keepalive 10 60 
comp-lzo
max-clients 20
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3
mute 20

создаем папку сcd

# mkdir /etc/openvpn/ccd

Перезапускаем openvpn

# service openvpn restart

После перезапуска у сервера должен появиться сетевой интерфейс tun0 с ip 10.8.0.1

OpenVPN в Microsoft Azure для виртуального объединения подписок. Опыт GanttPRO — сервиса для управления проектами - 10

Сервер готов.

Настройка клиентов

На сервере генерируем ключ для клиента

# cd /etc/openvpn/easy-rsa/2.0
# source vars
# ./build-key-pkcs12 <имя клиента>

Отвечаем на вопросы интерактивного меню
На клиента нужно установить пакет openvpn

# apt-get install openvpn

Скопировать сгенерированный на сервер файл <имя клиента>.p12 в папку /etc/openvpn
Написать файл конфига для /etc/openvpn/openvpn-gateway.conf следующего содержания:

dev tun
proto udp
remote <ip адрес сервера или доменное имя> 1194
client
resolv-retry infinite
pkcs12 <имя клиента>.p12
ns-cert-type server
comp-lzo yes
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3
keepalive 10 60

Перезапускаем сервис.

# service openvpn restart

После перезапуска у клиента должен появиться сетевой интерфейс tun0 с ip 10.8.0.х по ip 10.8.0.1 должен отвечать наш сервер.

Работать в GanttPRO [6] с Microsoft Azure удобно. Microsoft Azure дает нам возможность быстро масштабироваться и не волноваться за сохранность данных. При этом выбор стека технологий остается за нами ;)

Спасибо!

Автор: ahriman

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/openvpn/256122

Ссылки в тексте:

[1] Генри Гантта: https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D0%BD%D1%82%D1%82,_%D0%93%D0%B5%D0%BD%D1%80%D0%B8_%D0%9B%D0%BE%D1%83%D1%80%D0%B5%D0%BD%D1%81

[2] Онлайн-диаграмма Гантта GanttPRO: https://ganttpro.com/ru/

[3] управления командой проекта: https://ganttpro.com/ru/teamwork/

[4] подготовка к экзаменам: https://habrahabr.ru/post/320706/

[5] история изменений: https://blog.ganttpro.com/ru/sovety-po-ehffektivnojj-rabote-s-neskolkimi-multi-proektami-odnovremenno/

[6] GanttPRO: https://ganttpro.com/

[7] Источник: https://habrahabr.ru/post/329348/