Наш опыт удаленной работы в области создания интернет-магазинов

Наш опыт удаленной работы в области создания интернет-магазинов — IT-МИР. ПОМОЩЬ В IT-МИРЕ 2020

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

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

Удаленный доступ к ресурсам компании

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

А теперь представьте себе, что вам нужно быстро, за 1-2 дня отправить всех сотрудников домой, да еще так, чтобы работа над проектами не остановилась. Как поступить в этом случае?

С ноутбуками все ясно — сотрудники могут просто забрать их с собой. Системные блоки и мониторы перевезти труднее, но все же и это можно сделать.

Но что делать с серверами, принтерами и телефонами?

Решение проблемы доступа к серверам в офисе

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

Если на офисных серверах установлена ОС Microsoft Windows Server (как это было у нас в первые годы работы), то как только администратор настроит терминальный доступ по протоколу RDP, сотрудники смогут работать с сервером из дома. Не исключено, что вам придется приобрести дополнительный лицензии для терминального доступа. В любом случае сотрудникам будет нужен дома компьютер с ОС Microsoft Windows.

Серверы с ОС Linux будут доступны из дома и без приобретения каких-либо лицензий. Администратору вашей компании достаточно будет настроить доступ по протоколам, таким как SSH, POP3, IMAP и SMTP.

Если это еще не сделано, то для защиты серверов от несанкционированного доступа адмнистратору имеет смысл как минимум установить на офисных серверах брандмауэр (файервол), а также настроить удаленный доступ для ваших сотрудников с помощью VPN. Мы используем ПО OpenVPN, доступное практически для любых платформ и операционных систем.

Но что делать, если офис закрывается полностью с выключением всех серверов? Тут остается четыре варианта:

  • по возможности полностью перейти на облачные технологии — использовать облачную CRM-систему, хранить общие документы на Google Docs и т.п.;
  • перевезти серверы домой к системному администратору (он будет рад…);
  • перевезти серверы в какой-нибудь датацентр, который согласится их принять;
  • арендовать серверные мощности в датацентре, либо в облаке

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

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

Наш опыт удаленной работы в области создания интернет-магазинов — IT-МИР. ПОМОЩЬ В IT-МИРЕ 2020

С перевозом серверов в датацентр тоже не все просто. Как правило, в датацентре можно разместить только пригодные для установки в стойку серверы. В то же время в офисе часто используют серверы в корпусе типа Big Tower или даже обычные десктопные компьютеры. Вам будет трудно найти датацентр, который согласиться разместить подобную технику у себя (хотя такие датацентры имеются, мы, например, размещали в датацентре PlanetaHost). Можно, конечно, арендовать нужное количество стоек и смонтировать свое оборудование там.

Еще одна проблема с переносом серверов в датацентр заключается в том, что скорее всего придется изменить IP-адреса серверов. Это, в свою очередь, может потребовать перенастройки серверного ПО или внесения изменений в какие-нибудь лицензии на ПО, если они привязаны к IP-адресам.

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

Если ваши офисные технологии основаны на использовании ОС Microsoft Windows, вы можете арендовать в датацентре сервер Microsoft Windows с необходимым количеством терминальных лицензий. Возьмите по одной такой лицензии на каждого вашего сотрудника, работающего с сервером удаленно.

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

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

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

Перенос рабочих мест из офиса домой

Как мы уже говорили, сотрудники могут просто забрать с собой свои рабочие компьютеры — ноутбуки или системные блоки с мониторами. При необходимости можно купить для сотрудников новые ноутбуки, заказав их доставку на дом. Разумеется, на новых компьютерах придется устанавливать необходимое ПО, что приведет к дополнительным затратам времени.

Если у сотрудников уже есть домашние компьютеры с ОС Microsoft Windows, то они смогут их использовать в качестве терминалов сервера Microsoft Windows Server, либо для доступа к серверам с ОС Linux. Достаточно будет настроить доступ VPN.

Наши сотрудники работают как в Windows, так и в Linux. У нас очень мало серверов Microsoft Windows, поэтому не возникает необходимости в приобретении терминальных лицензий для этой ОС. Что касается доступа к ресурсам, расположенным в датацентрах, то он организуется с помощью VPN и дополнительно ограничен файерволами, установленными на каждый сервер.

Не забудьте обеспечить сотрудников, работающих дома, гарнитурами (наушники с микрофонами) и видеокамерой. Это позволит общаться удаленно с большой эффективностью, почти так как в офисе.

Многие пытаются контролировать, что делают сотрудники в рабочее время дома, устанавливая на их компьютеры различные специализированные мониторы. Мы никогда не занимались этим, контролировали только результаты работы. Как правило, этого вполне достаточно.

Что делать с принтером и сканером

Разработчикам ПО для Web-сайтов редко бывают нужны принтеры и сканеры. Однако если такое оборудование необходимо сотрудникам, появится проблема при переходе на удаленную работу.
Наш опыт удаленной работы в области создания интернет-магазинов — IT-МИР. ПОМОЩЬ В IT-МИРЕ 2020

Обычно в офисе устанавливается сетевое МФУ, скоростное, большое и тяжелое. Да, его можно отправить к домой к такому сотруднику, которому нужно печатать и сканировать чаще всего. Если, конечно, у этого сотрудника будет возможность разместить его у себя.

Но если многие ваши сотрудники часто сканируют и печатают документы, вам придется приобретать МФУ и устанавливать у них дома, либо менять бизнес-процессы компании.

Как альтернатива перевозке и приобретению новых МФУ — ускоренный переход на электронный документооборот везде, где это возможно.

Работа с бумажными и электронными документами

Лучше всего, если до перехода на удаленную работу у вас получится перевести весь документооборот в электронную форму. Мы, например, пользуемся ДИАДОК для обмена бухгалтерскими документами, а счета оплачиваем через клиент-банк.

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

В ДИАДОК (как и в аналогичных сервисах) можно настроить роуминг с другими операторами электронного документооборота. Это потребуется, если контрагенты пользуются иными системами документооборота, чем ваша.

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

Что делать с телефонией

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

Удобнее всего для нас оказалась виртуальная АТС от МангоТелеком. С ее помощью мы избавились от привязки к городским номерам телефонов (а значит и от физического расположения офиса). Мы также получили возможность интегрировать АТС с нашей CRM, записывать разговоры службы поддержки с клиентами, настраивать переадресацию звонков и т.п.

Далее, вы можете установить приложение виртуальной АТС на смартфон, ноутбук или настольный компьютер. Это позволит звонить на российские номера или принимать звонки по внутренним тарифам даже из-за рубежа.

Таким образом, виртуальная АТС позволяет сделать переезд сотрудников из офиса по домам практически незаметным с точки зрения непрерывности бизнес-процессов.

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

Что же касается звонков между сотрудниками, то при работе с виртуальной АТС такие звонки, как правило, не тарифицируются.

Дистанционный подбор и обучение сотрудников

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

Однако со временем мы перешли полностью на дистанционный подбор кадров.

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

А дальше все просто — используем Skype. С помощью Skype и обязательно при включенной видеокамере можно проводить интервью не менее эффективно, чем если бы кандидат сидел рядом за столом.

Наш опыт удаленной работы в области создания интернет-магазинов — IT-МИР. ПОМОЩЬ В IT-МИРЕ 2020

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

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

Помимо занятий в Skype мы готовим обучающие фильмы (при помощи программы Camtasia Studio, но можно пользоваться тем, чем вы привыкли). Если эти фильмы только для внутреннего пользования, то мы размещаем их на наших серверах, а если для всех — то на YouTube.

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

Да, есть сервисы, предназначенные для демонстрации рабочего стола группе пользователей, для проведения вебинаров, и даже платформы для обучения (в том числе бесплатные). Но за все это нужно платить либо деньгами, либо временем, потраченным на изучение приемов работы с платформой. Бесплатные платформы при этом могут со временем стать платными. В то же время возможности Skype будут достаточны во многих случаях.

Совместная работа над проектами

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

Совместную работу над документами мы организуем при помощи Google Docs.

Кроме всего этого у нас имеется внутренняя база знаний Клондайк, интегрированная с системой обработки заявок и планирования ресурсов (наша CRM и ERP). Эти инструменты, размещенные на серверах в датацентре, мы создавали и совершенствовали на протяжении ряда лет. Они позволяют нам эффективно обрабатывать многочисленные заявки от наших клиентов, назначать исполнителей, вести обсуждения по заявкам, учитывать рабочее время и делать многое другое.

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

Удаленная поддержка пользователей

Наши пользователи — это владельцы и менеджеры интернет-магазинов, работающих практически во всех регионах России. Конечно, мы оказываем им поддержку удаленно.

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

На этапе обсуждения задач мы пользуемся любыми мессенджерами, доступные клиенту, например, Telegram, WhatsApp, Skype.

Иногда возникает необходимость посмотреть, что же делает клиент на своем компьютере. Это можно сделать через Skype в режиме демонстрации рабочего стола.

При необходимости можно удаленно поработать за компьютером пользователя при помощи таких средств, как TeamViewer, Ammee Admin, AnyDesk и т.п. Чтобы воспользоваться этими средствами, клиенту придется установить соответствующее ПО на свой компьютер.

Настройка доступа VPN

У нас на виртуальных машинах, расположенных в разных датацентрах, установлены серверы OpenVPN (используется ОС Debian 10). Клиент OpenVPN устанавливается на рабочих компьютерах наших сотрудников в среде Debian, Ubuntu, MacOS и Microsoft Windows.

В интернете можно найти немало инструкций по установке сервера и клиента OpenVPN. Вы также можете использовать мое Руководство по установке и настройке OpenVPN.

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

Скрипт для создания ключей

#!/bin/bash

if [ -z "$1" ]
then
echo "============================================================="
echo "VPN -- Generate crt key pair"
echo "============================================================="
echo "Usage:  bash gen.sh username"
exit
fi

echo "============================================================="
echo "VPN -- Generate crt key pair for user: $1"
echo "============================================================="

ADMIN_EMAIL="admin@mycompany.ru"
USER=$1

RSA="/home/ca/easy-rsa-master/easyrsa3/"
PKI="$RSA"pki/
PKI_KEY="$PKI"private/
PKI_CRT="$PKI"issued/
USR_CRT="/home/ca/cert_generation/user_crt/"
USR_DISTR="/home/ca/cert_generation/user_distr/"

# If user key does not exists, create it

if [ ! -f "$PKI_KEY$USER.key" ]
then
  echo "File $PKI_KEY$USER.key does not exists, creating..."
  cd "$RSA"
  ./easyrsa build-client-full $USER nopass
fi

# Removing user folder, if exists

if [ -e "$USR_CRT$USER/" ]
then
echo "Already exists, removing user folder $USR_CRT$USER..."
rm -r -f "$USR_CRT$USER/"
fi

# Create user folder for key and other files

mkdir $USR_CRT/$USER/

# Copy OpenVPN key, cert and config files to user folder

cp "$PKI_KEY$USER.key" "$USR_CRT$USER/$USER.key"
cp "$PKI_CRT$USER.crt" "$USR_CRT$USER/$USER.crt"
cp "$PKI"ca.crt "$USR_CRT$1"

cp "$USR_DISTR"ta.key "$USR_CRT$USER"
cp "$USR_DISTR"openssl.cnf "$USR_CRT$USER"

# Copy Manual files

cp "$USR_DISTR"readme_vpn_win.txt "$USR_CRT$USER"

# Replace string "change_me" in configuration files whis user name $USER

cp "$USR_DISTR"server.conf "$USR_CRT$USER"/server.conf.1
cp "$USR_DISTR"mycompany_vpn.ovpn "$USR_CRT$USER"/mycompany_vpn_$USER.ovpn.1
cp "$USR_DISTR"readme_vpn_win.txt "$USR_CRT$USER"/readme_vpn_win.txt.1

sed "s/change_me/$USER/g" "$USR_CRT$1"/server.conf.1 > "$USR_CRT$1"/server.conf
rm "$USR_CRT$USER"/server.conf.1

sed "s/change_me/$USER/g" "$USR_CRT$1"/mycompany_vpn_$USER.ovpn.1 > "$USR_CRT$1"/mycompany_vpn_$USER.ovpn
rm "$USR_CRT$USER"/mycompany_vpn_$USER.ovpn.1

sed "s/change_me/$USER/g" "$USR_CRT$1"/readme_vpn_win.txt.1 > "$USR_CRT$1"/readme_vpn_win.txt
rm "$USR_CRT$USER"/readme_vpn_win.txt.1

# Create tar.gz and send it to administrator e-mail

tar -cvzf "$USR_CRT$USER/$USER.tar.gz" "$USR_CRT$USER/"
echo "VPN: crt, key and configuration files for user $USER" | mutt $ADMIN_EMAIL -a $USR_CRT/$USER/$USER.tar.gz -s "VPN: crt, key and configuration files for user $USER"

echo "--------->  DONE!"
echo "Keys fo user $USER sent to $ADMIN_EMAIL"

Этому скрипту при запуске в качестве параметра передается идентификатор пользователя (с использованием латинских букв).

Скрипт запрашивает пароль Certificate Authority, который создается при установке сервера OpenVPN. Далее этот скприт формирует каталог со всеми необходимыми сертификатами и файлами конфигуации для клиентов OpenVPN, а также файл документации по установке клиента OpenVPN.

При создании файлов конфигурации и документации вместо change_me подставляется идентфикатор пользователя.

Далее каталог со всеми необходимыми файлами упаковывается и отправляется администратору (адрес указан непосредственно в скрипте). Остается только переправить полученный в результате архив пользвателю на его адрес электронной почты.

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

Удачи вам в переезде и плодотворной работы на дому!

Специально для сайта ITWORLD.UZ. Новость взята с сайта Хабр