Серия статей о переносе инфраструктуры в облако еще раз подтверждает общую тенденцию, наметившуюся в течении последних нескольких лет. К сожалению, если решать задачу в лоб, цена хостинга получается очень высокой, вот один из примеров. Недавно к нам пришел клиент, который на наш взгляд является наиболее подходящим на роль среднестатистической компании, интересующейся этой услугой. Описание этого проекта со всеми ценами мы и решили показать уважаемому хабрасообществу. Некоторые данные для соблюдения конфиденциальности изменены, но это не влияет на конечную картину.
Исходные данные:
Компания 35 человек, один основной офис и два дополнительных, несколько человек работает из дома.
Что нужно:
перенести на облако существующий сервер приложений (1С) с терминальным доступом для 15 человек;
перенести почту с платного хостинга и с публичных почтовых сервисов 30-40 почтовых ящиков;
среда для совместной работы звонков и видеоконференций вместо skype 30-40 пользователей;
телефония с подключением к существующему оператору и возможностью подключить новых. Желательно с возможностью проведения телефонных конференций по телефонному номеру и ПИНу;
Мобильный VoIPклиент с шифрование голосового трафика;
Хранилище общих документов 60-100Гб.
Требования по безопасности достаточно стандартные: размещение в западной Европе, шифрование всего трафика, шифрование данных. Как-будто клиент прочитал статью, перестал боятся за свои данные за границей.
В качестве решения предложено использовать связку 1с на Terminal Server+RDG, MS Exchange, MS SfB+FreePBX и MS SharePoint с Office Online Server.
MS SharePoint спорное решение
Share Point спорное решение, многие компании даже при построении остальной инфраструктуры на продуктах Микрософт предпочитают использовать другие решения (File Cloud, OwnCloud).
Но с учетом географической разнесённости офисов компании, острой потребности в улучшении коммуникации между сотрудниками, и при интеграции с Skype for Business и Exchange, SharePoint на наш взгляд является наиболее логичным выбором. Это решение покрывает как все современные «must have» требования к хранилищу документов – версионность, доступность отовсюду, безопасность подключения, возможность работать с документами офлайн, возможности поиска, сортировки и структурирования хранения документов, гибкая настройка доступов, так и приятные дополнения – возможность позвонить или написать автору документа, не выходя из окна браузера.
Office Online Server (OOS) позволит править документы через браузер без необходимости скачивания документа и не требуя установки на устройстве программ пакета MS Office. Это является одним из основных слагаемых безопасности, т.к. наличие офлайн копии важных документов на локальном компьютере пользователя является потенциальной угрозой, а работа с Word, Excell через терминал гораздо менее удобна чем через OOS.
Ну и, конечно, возможности совместной работы – когда можно наблюдать процесс создания или правки документа в реальном времени, работа становится: наглядней, быстрее, интереснее (обзор возможностей совместной работы — habrahabr.ru/post/310396/).
Исходя из требований получилась следующая конфигурация VM:
Хост HV1
Сервер
RAM, Gb
HDD, Gb
Роли выполняемые сервером
Exch1
14-20
450
Exchange сервер, Data availability group совместно с Exch2
RP
2-4
60
Реверс прокси
DC1
2-4
60
Контролер домена
Mkt1
1
20
MikroTik Cloud Hosted Router
RDSHost1
40-60
300
Терминальный сервер, балансировка с RDSHost2
RDSBroker
4-6
60
RD Connection Broker, RD Gateway, RD Web Access
FS1
2-4
300
Файловый сервер, объединённый в DFS с FS2
SQL
16-24
300
MS SQL для 1С
1C
8-12
80
1С сервер
Sb-fe
8-12
60
Skype for Business Front-End
Sb-edge
2-4
60
Skype for Business edge
SP
12-24
300
Sharepoint
OOS
12
80
Office Online Server
Frpbx
1
40
FreePBX в качестве SIP шлюза
Итого
124-188
2170
Хост HV2
Сервер
RAM, Gb
HDD, Gb
Роли выполняемые сервером
Exch2
14-20
450
Exchange сервер, Data availability group совместно с Exch1
RP
60
Реплика VM
DC2
2-4
60
Контролер домена
Mkt2
1
20
MikroTik Cloud Hosted Router, Failover IP c Mkt1
RDSHost2
40-60
100
RD Session Host балансировка с RDSHost1
FS2
2-4
300
Файловый сервер, объединённый в DFS с FS1
RDSBroker
60
Реплика VM
SQL
300
Реплика VM
1C
80
Реплика VM
Sb-fe
60
Реплика VM
Sb-edge
60
Реплика VM
SP
300
Реплика VM
OOS
80
Реплика VM
Frpbx
40
Реплика VM
Bckp
2-4
2000
Сервер бекапов
Итого
59-89
3970
Итак, где размещать
Мы провели небольшое сравнение цен разных хостеров с приблизительно одинаковой конфигурацией, подходящей для этой задачи (сортировка по цене)
Выбор хостинга или рассуждения о доступности и SLA
Простейший расчет с калькулятором показывает, что SLA, в котором указанно снижение абонентских платежей пропорциональное времени недоступности, является профанацией. Например, в году 8764 часа, за два года сервис был не доступен 12 последовательных часов, получается, что не считая косвенных потерь бизнеса только на простое 30 сотрудников, при 80 000р в месяц затрат на человека, вы понесли потери 109 090р, а компенсация от дата центра составит 0.07% от платежа за два года или, даже беря гипотетические 5000$ в месяц, получим 82$, что несерьезно ни для вашего бизнеса, ни для провайдера услуги.
Для компании с количеством сотрудников в 20-50 человек использование HP 3PAR с репликацией хранилища между двумя дата центрами, скорее всего, является избыточным, да и не дает 100% гарантии от ошибок в конфигурации — пример недавний сбой из-за человеческого фактора у AWS https://aws.amazon.com/ru/message/41926/. Наиболее приемлемых два варианта — построение software cluster (есть возможность у всех серверов Microsoft), а если простой 2-3 часа для бизнеса не критичен, то онлайн резервное копирование во второй дата-центр и ручное включение виртуальных машин вполне приемлемое и бюджетное решение.
Что бы 100% застраховаться не только от сбоев в оборудовании, но и от проблем дата-центра, лучше взять одни сервер у одного оператора, а второй у другого (например, hetzner и OVH), но для упрощения администрирования контроля оплаты можно вначале взять оба физических сервера у одного оператора, а в будущем вынести второй к другому. Перемещение резервных виртуальных машин по быстрым, внутри- европейским каналам задача простая и не требующая остановки обслуживания.
Итак, провайдер хостинга выбран, что получилось. Как все работает:
Железо: для нашего случая мы выбираем аренду двух серверов в Hrtzner с очень удобной услугой failover IP. Два сервера https://ru.hetzner.com/hosting/produktmatrix/rootserver-produktmatrix-px E5-1650 v3 256Gb RAM 2x4Tb HDD, по 116€ каждый. В качестве гипервизоров MS Hyper-V, на которых будут размещены виртуальные машины в соответствии с вышеуказанной таблице. На первом сервере будет расположены основные VM а на втором резервные.
Внутренняя сеть между серверами: Сеть построена между двумя MikroTik Cloud Hosted Router (Mkt1 и Mkt2), установленными на каждом хосте, через которые настроен туннель. В Heztner заказан, отказоустойчивый IP (Failover IP), который назначен на роутеры Mkt1 и Mkt2 для организации публикации внешних сервисов.
Терминальные сервера объедены в пул и будут одновременно активны на обоих гипервизорах для экономии ресурсов. В случае выхода из строя одного из узлов, пользователи терминального сервера переключатся на второй с некоторой деградацией производительности, но смогут продолжить работу, т.к. пользовательские профили находятся на сетевом ресурсе, реплицируемом по технологии DFS.
Репликация: Между двумя хостами будет настроена непрерывная репликация виртуальных машин. В случае сбоя хоста или профилактики будет включается реплика.
Почта: организована на двух серверах Exchange объединённых в DAG, вместо репликации виртуальных машин, пользовательский доступ с помощью Active Sync, OWA и Outlook
Телефонная связь, видеоконференции, IM на Skype for Business. Как и Exchange для почты, это на сегодня лучшее средство совместной работы. Т.к. провайдеров телефонии, подключающих sip транки по стандарту SfB не много, в качестве шлюза, установили FreePBX, к которому подключены транки с SIP регистрацией.
Файловое хранилище: MS SharePoint c OOS обсуждалось ранее.
Сервер приложений: здесь все прозаично 1С с базой на MS SQL.
Удаленный доступ: ко всем приложениям через HTTPS. Опубликованы — терминальный сервер через RDG, Active Sync, OWA, Outlook, SharePoint c OOS, Skype for Business.
Безопасность: шифрование данных на VM на основе Shielded VM. Доступ ко всем ресурсам по SSL. Шифрование голосового трафика по TLS+SRTP. Для доступа к терминальному серверу применяется двухфакторная аутентификация Azure MFA. Возможно еще подключить двухфакторную аутентификацию для доступа к OWA и SharePoint, но пока ограничились мониторингом IP, с которых пользователи подключаются к этим ресурсам, тем более новая версия Skypetime позволяет это делать.
Сколько стоит данное решение:
Железо — 238€ включая дополнительный ИП и failover в месяц. Если есть значительная нагрузка на терминальный сервер или на SQL, необходимо еще 28€ на SSD диск.
Лицензии на время внедрения и тестовой эксплуатации рекомендуется взять вот такую лицензию https://www.visualstudio.com/msdn-platforms/ (3VU-00016 MSDNPltfrms ALNG LicSAPk OLV NL 1Y AP) 67 123руб на msbuy. Данная лицензия содержит все продукты Microsoft с правом тестирования и разработки. После того, как будет окончена тестовая эксплуатация и будет понятно, сколько и каких лицензий необходимо, тогда и покупать. Рекомендуем обратить внимание на цены по программе OVS.
Сертификат – SSL, можно взять бесплатный на 10 SAN от StarCom или более надежный, например, от Godaddy $249.99 в год.
Работа — конкретных цифр называть не будем, чтобы не делать из стати рекламу, оценим только объем работ в часах.
Установка данной конфигурации, включая все административные работы с провайдерами, от 90 до 120 часов без миграции данных пользователей, где все индивидуально.
Ежемесячная поддержка серверной части: 8-15 часов в зависимости от объемов изменений и надежности работы sip провайдеров. Поддержка пользователей сильно варьируется от средней квалификации пользователь, но в среднем берется из расчета 0.8-1,2 часа в месяц на пользователя.