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

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

Сьогодні реальність така, що через карантин і коронавірус багатьом компаніям доводиться думати про те, як забезпечити віддалену роботу для своїх співробітників. Майже щодня з'являються статті, які розкривають як технічні, і психологічні аспекти проблеми переходу на віддалену роботу. Разом з тим зараз вже накопичено величезний досвід такої роботи, наприклад, фрілансерами або тими ІТ-компаніями, які вже давно працюють зі співробітниками та клієнтами, які проживають по всьому світу.

Переведення великої ІТ-компанії на віддалену роботу може виявитися не простою справою. Водночас у багатьох випадках можна обійтися добре відомими інструментами та прийомами. У цій статті ми розглянемо досвід віддаленої роботи з технічного боку. Сподіваємося, що ця інформація допоможе компаніям адаптуватись до нових умов. Буду вдячний за будь-які зауваження, пропозиції та доповнення.

Віддалений доступ до ресурсів компанії

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

А тепер уявіть собі, що вам потрібно швидко, за 1-2 дні відправити всіх співробітників додому та ще й так, щоб робота над проектами не зупинилася. Як вчинити у цьому випадку?

З ноутбуками все ясно – співробітники можуть просто забрати їх із собою. Системні блоки та монітори перевезти важче, але все ж і це можна зробити.

Але що робити з серверами, принтерами та телефонами?

Вирішення проблеми доступу до серверів в офісі

Коли співробітники переїжджають додому, а сервери залишаються в офісі і за ними є комусь доглянути, то залишиться лише вирішити питання організації захищеного віддаленого доступу співробітникам до серверів вашої компанії. Це робота для системного адміністратора.

Якщо на офісних серверах встановлена ​​ОС Microsoft Windows Server (як це було у нас у перші роки роботи), як тільки адміністратор налаштує термінальний доступ за протоколом RDP, співробітники зможуть працювати з сервером з дому. Не виключено, що вам доведеться придбати додаткові ліцензії для термінального доступу. У будь-якому випадку співробітникам буде потрібен вдома комп'ютер із ОС Microsoft Windows.

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

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

Але що робити, якщо офіс повністю закривається з вимкненням всіх серверів? Тут залишається чотири варіанти:

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

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

Другий варіант створює проблеми вдома у системного адміністратора, так як сервер цілодобово і досить сильно шуміти. А якщо у компанії в офісі не один сервер, а ціла стійка?

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

Із перевезенням серверів у датацентр теж не все просто. Як правило, в датацентрі можна розмістити лише придатні для установки сервера. У той же час в офісі часто використовують сервери в корпусі типу Big Tower або звичайні десктопні комп'ютери. Вам буде важко знайти датацентр, який погодиться розмістити подібну техніку у себе (хоча такі датацентри є, ми, наприклад, розміщували у датацентрі PlanetaHost). Можна, звісно, ​​орендувати потрібну кількість стійок та змонтувати своє обладнання там.

Ще одна проблема з перенесенням серверів до датацентру полягає в тому, що швидше за все доведеться змінити IP-адреси серверів. Це, у свою чергу, може вимагати переналаштування серверного програмного забезпечення або внесення змін до будь-яких ліцензій на програмне забезпечення, якщо вони прив'язані до IP-адрес.

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

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

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

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

Що стосується нашої компанії, яка займається створенням інтернет-магазинів, всі необхідні ресурси у нас давно знаходяться в датацентрах і доступні віддалено. Це власні та орендовані фізичні сервери, які використовуються для хостингу магазинів, а також віртуальних машин розробників програмного забезпечення, верстальників та тестувальників.

Перенесення робочих місць з офісу додому

Як ми вже говорили, співробітники можуть просто забрати із собою свої робочі комп'ютери – ноутбуки чи системні блоки з моніторами. При необхідності можна придбати для співробітників нові ноутбуки, замовивши їхню доставку додому. Зрозуміло, на нових комп'ютерах доведеться встановлювати необхідне програмне забезпечення, що призведе до додаткових витрат часу.

Якщо співробітники вже мають домашні комп'ютери з ОС Microsoft Windows, то вони зможуть їх використовувати як термінали сервера Microsoft Windows Server або для доступу до серверів з ОС Linux. Достатньо буде налаштувати доступ VPN.

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

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

Багато хто намагається контролювати, що роблять співробітники в робочий час удома, встановлюючи на їхні комп'ютери різні спеціалізовані монітори. Ми ніколи не займалися цим, контролювали лише результати роботи. Як правило, цього цілком достатньо.

Що робити з принтером та сканером

Розробникам ПЗ для Web-сайтів рідко бувають потрібні принтери та сканери. Однак, якщо таке обладнання необхідне співробітникам, виникне проблема при переході на віддалену роботу.
Наш досвід віддаленої роботи в галузі створення інтернет-магазинів

Зазвичай в офісі встановлюється мережеве МФУ, швидкісне, велике та важке. Так, його можна відправити додому до такого співробітника, якому потрібно друкувати та сканувати найчастіше. Якщо, звичайно, цей співробітник матиме можливість розмістити його в себе.

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

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

Робота з паперовими та електронними документами

Найкраще, якщо до переходу на віддалену роботу вам вдасться перевести весь документообіг в електронну форму. Ми, наприклад, користуємось ДІАДОК для обміну бухгалтерськими документами, а рахунки оплачуємо через клієнт-банк.

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

У ДІАДОК (як і аналогічних сервісах) можна налаштувати роумінг коїться з іншими операторами електронного документообігу. Це буде потрібно, якщо контрагенти користуються іншими системами документообігу, ніж ваша.

Якщо ви або якісь із ваших контрагентів працюють з документами по-старому, доведеться відправляти та приймати звичайні паперові листи з відвідуванням поштового відділення або викликом кур'єрів. У разі карантину такі операції доведеться звести до мінімуму.

Що робити з телефонією

У перші роки роботи наша компанія використовувала міські та мобільні телефони. Однак ми дуже скоро зрозуміли, що при великій кількості співробітників та клієнтів потрібне якесь адекватніше рішення.

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

Далі, ви можете встановити програму віртуальної АТС на смартфон, ноутбук або настільний комп'ютер. Це дозволить телефонувати на російські номери або приймати дзвінки за внутрішніми тарифами навіть з-за кордону.

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

Якщо ж ви користуєтеся офісною АТС, і при переїзді її вимкнення неминуче, подумайте про перехід на віртуальну АТС. Дізнайтеся у свого телефонного провайдера, чи є можливість включити переадресацію дзвінків із міських номерів офісної АТС на вхідні номери віртуальної АТС. У цьому випадку при переході на віртуальну АТС ви не втратите вхідних дзвінків.

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

Дистанційний підбір та навчання співробітників

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

Проте згодом ми повністю перейшли на дистанційний підбір кадрів.

Первинний відбір можна проводити за допомогою тестів, що додаються до вакансії на сайті HH або будь-якої іншої рекрутингової служби. Треба сказати, що при правильному складанні ці тести дають змогу відфільтрувати значну кількість кандидатів, які не відповідають вимогам.

А далі все просто – використовуємо Skype. За допомогою Skype та обов'язково при включеній відеокамері можна проводити інтерв'ю не менш ефективно, ніж якби кандидат сидів поряд за столом.

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

За наявності певних недоліків у 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="[email protected]"
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 підставляється ідентифікатор користувача.

Далі каталог з усіма необхідними файлами упаковується та відправляється адміністратору (адреса вказана безпосередньо у скрипті). Залишається лише переправити отриманий в результаті архів користувачеві на його адресу електронної пошти.

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

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

Джерело: habr.com

Додати коментар або відгук