Ранее в статье //infostart.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.
За основу возьмем суммы из статьи (//infostart.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