Есть ли жизнь 1С в Azure на Linux?
В данной статье мы рассмотрели процедуру разворачивания 1С c PostgreSQL на CentOS, размещенной в Azure. Кроме этого, мы рассмотрели вопросы быстродействия и финансовую составляющую вопроса.
- Описание
- Подробнее
Описание
Ранее в статье //sale.itcity.ru/public/897231/ был рассмотрен вопрос как организовать инфраструктуру 1С в Microsoft Azure. Все примеры были основаны на применении операционной системы Windows Server. Сегодня мы решили рассмотреть разворачивание 1С в Azure на базе Linux.
Постановка задачи
У нас есть Сервер 1С, Конфигурация «Управление торговлей 11» и самое главное — потребность развернуть систему учета без покупки оборудования (старый сервер вышел из строя или не справляется с задачей).
Подготовка Azure
Идем на портал https://portal.azure.com и проходим авторизацию. Если учетной записи с действующей подпиской нет – регистрируемся и получаем тестовую подписку.

В Azure нам необходимо:
- Создать группу ресурсов
- Создать виртуальную сеть
- Создать виртуальную машину с ОС CentOS.
- Установить PostgreSQL и 1С на ВМ
- Провести тестирование быстродействия полученной сситемы
Создаем группу ресурсов Azure.
Группа ресурсов – это логическое объединение ресурсов Azure для упрощения управления и понимания взаимосвязи.

Создаем виртуальную сеть

Указываем параметры для создания сети.

Создаем ВМ с ОС CentOS.
Выберем из доступных дистрибутивов необходимый вариант

Для авторизации в ВМ будем использовать ключ SSH. Для этого сгенерируем пару. Проще для этого использовать PuTTY Key Generator.

Далее возвращаемся к созданию ВМ. Заполняем поля, выбираем размер машины, указываем логин и наш приватный ключ.

На следующем шаге мы можем добавить диск для данных.


Далее настраиваем сетевые параметры и firewall, если это допускает выбранный нами образ системы.

На следующем шаге мы можем настроить мониторинг состояния виртуальной машины.

После подтверждения корректности настроек Azure создаст нашу ВМ.

После того, как Azure подготовит и запустит наш виртуальный сервер для 1С, можем к нему подключиться.

Выбираем созданную машину и копируем Общедоступный IP.

Запускаем PuTTY, вводим IP, указываем наш приватный ключ. Подключаемся.

Теперь необходимо установить обновления операционной системы.

Теперь можно приступить к установке PostgreSQL и 1С
Установка PostgreSQL и 1С на ВМ
Любым удобным способом передаем дистрибутивы на нашу виртуальную машину. К примеру, мы использовали скачивание в mc с сервера FTP, куда заранее загрузил пакеты установки.
В домашней директории создаем папку 1с, скачиваем архивы с пакетов и распаковываем их.

Начнем установку с СУБД. В нашем случае это PostrgeSQL.

Самое время смонтировать наш диск для данных и научить PostgreSQL хранить базы на отдельном диске.
Как инициализировать и смонтировать его в Linux статей много, описывать не будем.
Также очень много материала по переносу путей хранения баз или отдельных БД PostgreSQL. Мы поступим немного хитрее – просто смонтируем наш диск в каталог по умолчанию, в котором СУБД хранит базы.

Инициализируем СУБД с помощью initdb. Обратите внимание, что необходимо корректно указать кодовую страницу. Это делается через параметр —locale=ru_RU.UTF-8

И ставим PostgreSQL в автозапуск

Далее, используя команды:
sudo -u postgres createuser cluster1c
sudo -u postgres createdb -O cluster1c infobaseсоздаем пользователя и базу данных.
Или вызываем:
sudo -u postgres psql
postgres=# CREATE USER cluster1c;
postgres=# ALTER USER cluster1c SUPERUSER;
postgres=# ALTER USER cluster1c CREATEDB;Надо разрешить подключение к нашему серверу СУБД. Необходимо отредактировать файл конфигурации и привести его к такому виду. Так как сервер 1С и СУБД у нас на одной виртуальной машине, о нам надо разрешить локальное подключение, а учитывая, что в Azure поддерживается протокол IPv6 именно в этой строке и меняем тип авторизации.

Переходим к установке 1С.

После успешной установки ставим 1С в автозапуск.

Далее, запустим консоль администрирования на другой виртуальной машине, но уже с ОС Windows.

Создаем информационную базу, указываем данные авторизации и параметры.

После успешного создания базы можем запустить 1С Конфигуратор и перейти к загрузке конфигурации.
Тестируем быстродействие
В качестве эксперимента проведем нагрузочное тестирование с помощью теста Гилева.

Финансовая эффективность
Предлагаем теперь рассмотреть финансовую составляющую вопроса размещения 1С на Linux в Azure.
За основу возьмем суммы из статьи (//sale.itcity.ru/public/897231/).
Если в качестве альтернативы использовать физический сервер, то затраты на оборудования составят:
Наименование | Кол-во | Цена, руб. | Сумма, руб. |
Сервер HPE ProLiant DL325 | 1 | 727 740,00 | 727 740,00 |
Итог | 727 740,00 | ||
Затраты же на Microsoft Azure составят:
Ресурс / Тариф | Роль | Кол-во | Цена | Сумма за месяц*, руб. |
Виртуальная машина F8 v2 | Сервер 1С + PostgreSQL | 1 | 24,25 руб./час | 7 032,50 |
Хранилище Premium SSD | Диск для баз данных 1С | 1 | 5 033,75 руб./мес. | 5 033,75 |
Виртуальная машина E4 v3 | Сервер RDS | 1 | 31,50 руб./час | 9 135,00 |
Хранилище Standard HDD | Диск для профилей пользователей | 1 | 3 610,00 руб./мес. | 3 610,00 |
Шлюз VPN | VPN Site-to-Site | 1 | 1 642,50 руб./мес. | 1 642,50 |
Итог | 26 453,75 | |||
* Из расчета произведения 290 рабочих часов и цены за час.
Как правило, в этот момент, приводится аргумент, что за 27 месяцев потратится денег соизмеримо со стоимостью нового оборудования. Но так сравнивать не корректно! И на это есть несколько причин:
- Минимальный уровень надежности (SLA) ресурсов Azure составляет 99,9%. А какой уровень надёжности у физического сервера? Крайне редко можно встретить инфраструктуру с SLA больше 95%.
- Не совсем правильно делить единовременные затраты на оборудование (капитальные) на периодические. Связанно это с тем, что деньги, которые предприятие оставляет в обороте, позволяют приносить дополнительную прибыль. Другими словами, деньги сегодня стоят дороже, чем деньги завтра. И в данном вопросе ключевую роль играет уровень рентабельности предприятия. Чем выше рентабельность, тем менее выгодно покупать свое оборудование. Наша практика показала, что при рентабельности в 15 – 18% экономия за 3 года на применении облачных сервисов Azure составит 30 – 35% по сравнению с затратами на покупку ИТ-хозяйства.
- При расчете стоимости локальной инфраструктуры мы пренебрегли большим количеством затрат: расходы на резервное копирование данных, стоимость бесперебойного питания и тд.
- Так же для корректного сравнения надо учесть расходы на обслуживание локальной инфраструктуры. Большинство расходов имеют вероятностный характер, а это порождает много споров.
И в завершении, мы так и не придумали, как можно оценить гибкость масштабирования и возможность расширения ресурсов, чтобы их можно было корректно сравнить. Если с виртуальными мощностями все просто – сменил тариф ВМ и ресурсов стало больше, то с физической средой все обстоит иначе – какие-то ресурсы приобретаются с запасом, какие-то можно докупить потом (это если говорить об увеличении), при этом некоторые компоненты со временем дорожают, а некоторые вообще снимаются с производства и становиться недоступными. Если же говорить об уменьшении количества необходимых ресурсов, то с физическими мощностями это крайне затруднительно, а с виртуальным все так же просто – другой тариф и вперед!
Итоги
Ранее был рассмотрен вариант организации инфраструктуры 1С в Azure на базе ОС Windows Server. В этом материале мы рассмотрели вопрос разворачивания сервера 1С на платформе Linux (CentOS) в Microsoft Azure.
В результате виртуальная инфраструктура для 1С на Linux в Azure получается более экономичной в плане стоимости и более производительной в плане показателей быстродействия. Важным моментом является то, что благодаря размещению в Azure мы получаем все тот же достаточно высокий уровень надежности системы. Простота организации резервного копирования и других вопросов управления и администрирования снижает нагрузку на ИТ-персонал.
Может быть полезным:
- https://info.microsoft.com/CE-AzureINFRA-CNTNT-FY18-05May-15-MicrosoftAzureplatform-MGC0002445_01Registration-ForminBody.html
- https://info.microsoft.com/CE-AzureINFRA-CNTNT-FY18-05May-20-DeploymentofEnterpriseontheMicrosoft-MGC0002460_01Registration-ForminBody.html
- https://info.microsoft.com/CE-AzureINFRA-CNTNT-FY18-05May-17-Deployment1CEnterpriseontheMicrosoftAzureplatform-MGC0002447_01Registration-ForminBody.html
- https://info.microsoft.com/CE-AzureINFRA-CNTNT-FY18-05May-21-EnterpriseontheMicrosoftAzureplatform-MGC0002461_01Registration-ForminBody.html

