我们在创建在线商店领域的远程工作经验

我们在创建在线商店领域的远程工作经验

如今,现实情况是,由于隔离和冠状病毒,许多公司不得不考虑如何为员工提供远程工作。 几乎每天都有文章揭示转向远程工作问题的技术和心理方面。 与此同时,自由职业者或那些长期与世界各地的员工和客户合作的 IT 公司已经在此类工作中积累了丰富的经验。

将大型 IT 公司过渡到远程工作可能不是一件容易的事。 然而,在许多情况下,您可以使用众所周知的工具和技术。 在这篇文章中,我们将从技术方面来看看我们的远程工作经验。 我们希望这些信息能够帮助企业适应新的条件。 如果有任何意见、建议和补充,我将不胜感激。

远程访问公司资源

如果一家 IT 公司在办公室工作,那么通常会有系统设备、笔记本电脑、服务器、打印机和扫描仪以及电话。 所有这些都通过路由器连接到互联网。 在成立的最初几年,我们公司就在办公室里放置了这样的设备。

现在想象一下,您需要在 1-2 天内快速让所有员工回家,以便项目工作不会停止。 这种情况该怎么办?

笔记本电脑的一切都很清晰 - 员工只需随身携带即可。 系统单元和显示器更难以运输,但这仍然可以做到。

但如何处理服务器、打印机和电话呢?

解决办公室访问服务器问题

当员工搬回家,但服务器仍留在办公室并且有人照顾它们时,剩下的就是解决组织员工安全远程访问公司服务器的问题。 这是系统管理员的工作。

如果Microsoft Windows Server安装在办公室服务器上(就像我们在工作的头几年一样),那么只要管理员通过RDP协议配置终端访问,员工就可以在家中使用服务器工作。 您可能需要购买额外的终端访问许可证。 无论如何,员工在家中都需要一台运行 Microsoft Windows 的计算机。

运行 Linux 操作系统的服务器可以在家中访问,无需购买任何许可证。 您公司的管理员只需配置通过 SSH、POP3、IMAP 和 SMTP 等协议的访问。

如果尚未这样做,那么为了保护服务器免受未经授权的访问,管理员至少在办公室服务器上安装防火墙(防火墙),并使用 VPN 为员工设置远程访问。 我们使用 OpenVPN 软件,几乎适用于任何平台和操作系统。

但如果办公室完全关闭、所有服务器都关闭怎么办? 剩下四个选项:

  • 如果可能,完全转向云技术——使用云CRM系统、在Google Docs上存储共享文档等;
  • 将服务器运送到系统管理员家(他会很高兴......);
  • 将服务器运输到某个同意接受它们的数据中心;
  • 租用数据中心或云中的服务器容量

第一个选项很好,因为您不需要转移或安装任何服务器。 过渡到云技术的结果将继续对您有用;它们将使您节省支持和维护方面的资金和精力。

第二种选择会给系统管理员带来麻烦,因为服务器会全天候运行并且噪音很大。 如果一家公司的办公室里没有一台服务器,而是一整个机架怎么办?

我们在创建在线商店领域的远程工作经验

将服务器运输到数据中心也并不容易。 一般来说,只有适合机架安装的服务器才能放置在数据中心内。 与此同时,办公室经常使用大型塔式服务器甚至普通台式计算机。 您将很难找到同意托管此类设备的数据中心(尽管此类数据中心存在;例如,我们将它们托管在 PlanetaHost 数据中心)。 当然,您可以租用所需数量的机架并在那里安装您的设备。

将服务器移至数据中心的另一个问题是您很可能必须更改服务器的 IP 地址。 反过来,这可能需要重新配置服务器软件或更改与 IP 地址绑定的任何软件许可证。

在数据中心租用服务器容量的选择更简单,因为无需将服务器运输到任何地方。 但是您的系统管理员必须重新安装所有软件并从办公室安装的服务器复制必要的数据。

如果您的办公技术基于Microsoft Windows操作系统,您可以在数据中心租用一台具有所需数量终端许可证的Microsoft Windows服务器。 为远程使用服务器的每位员工获取一份此类许可证。

租用物理服务器比租用云中的虚拟服务器便宜 2-3 倍。 但如果您需要很少的电量,而不是整个服务器,那么云选项可能会更便宜。

云资源价格的上涨是在云中保留硬件资源的结果。 因此,云可能比租用的物理服务器更可靠地工作。 但在这里你已经需要评估风险并数钱。

对于我们从事创建网上商店的公司来说,所有必要的资源早已位于数据中心,并且可以远程访问。 这些是自有和租用的物理服务器,用于托管商店,以及软件开发人员、布局设计师和测试人员的虚拟机。

将工作站从办公室转移到家里

正如我们已经说过的,员工只需随身携带工作计算机 - 笔记本电脑或带显示器的系统单元。 如有必要,您可以为员工购买新笔记本电脑,并将其运送到您家中。 当然,您必须在新计算机上安装必要的软件,这将导致额外的时间。

如果员工已经拥有运行 Microsoft Windows 的家用计算机,他们可以将其用作 Microsoft Windows Server 终端或访问运行 Linux 的服务器。 配置 VPN 访问就足够了。

我们的员工在 Windows 和 Linux 上工作。 我们的 Microsoft Windows 服务器很少,因此无需购买该操作系统的终端许可证。 至于对位于数据中心的资源的访问,它是使用 VPN 进行组织的,并且还受到每台服务器上安装的防火墙的限制。

不要忘记为在家工作的员工提供耳机(带麦克风的耳机)和摄像机。 这将使您能够高效地进行远程通信,就像在办公室一样。

许多人试图通过在计算机上安装各种专用监视器来控制员工在工作时间在家中所做的事情。 我们从来没有这样做过,我们只是控制工作的结果。 一般来说,这已经足够了。

如何使用打印机和扫描仪

网站软件开发人员很少需要打印机和扫描仪。 然而,如果员工需要此类设备,那么切换到远程工作时就会出现问题。
我们在创建在线商店领域的远程工作经验

通常,办公室会安装一台速度快、体积大且重的联网多功能一体机。 是的,它可以发送到最需要打印和扫描的员工家中。 当然,如果这位员工有机会主持的话。

但如果您的许多员工经常扫描和打印文档,您将不得不购买一台多功能一体机并将其安装在他们的家中,或者改变公司的业务流程。

作为运输和购买新复合机的替代方案,尽可能加快向电子文档管理的过渡。

处理纸质和电子文档

在切换到远程工作之前,最好将所有文档流转换为电子形式。 例如,我们使用DIADOK交换会计凭证,并通过客户银行支付账单。

在实施这样的系统时,有必要为所有参与电子文档管理的员工(例如会计师)提供带有增强型合格电子签名的密钥卡。 收到此类钥匙扣可能需要一些时间,因此最好提前考虑这个问题。

在 DIADOK 中(与类似服务一样),您可以设置与其他电子文档管理运营商的漫游。 如果交易对手使用您以外的文档管理系统,则需要这样做。

如果您或您的某些交易对手以老式方式处理文件,您将必须通过访问邮局或致电快递员来发送和接收常规纸质信件。 在隔离的情况下,此类操作必须减少到最低限度。

用电话做什么

在运营的最初几年,我们公司使用固定电话和移动电话。 然而,我们很快意识到,由于员工和客户数量众多,我们需要一些更合适的解决方案。

对我们来说最方便的选择是 MangoTelecom 的虚拟 PBX。 在它的帮助下,我们摆脱了与城市电话号码的连接(因此也摆脱了办公室的物理位置)。 我们还有机会将 PBX 与我们的 CRM 集成、记录与客户的客户支持对话、设置呼叫转移等。

接下来,您可以在智能手机、笔记本电脑或台式计算机上安装虚拟 PBX 应用程序。 这将允许您拨打俄罗斯号码或以国内费率接听电话,甚至是从国外打来的电话。

因此,从业务连续性的角度来看,虚拟 PBX 使您可以使员工从办公室搬到家里几乎不引人注意。

如果您使用办公室 PBX,并且在搬家时不可避免地要关闭它,请考虑切换到虚拟 PBX。 请咨询您的电话提供商,了解是否可以启用从固定电话 PBX 号码到传入虚拟 PBX 号码的呼叫转移。 在这种情况下,当您切换到虚拟 PBX 时,您将不会丢失来电。

至于员工之间的通话,使用虚拟 PBX 时,通常不收取任何费用。

远程选拔和培训员工

在补充人员时,公司运营的最初几年,我们总是邀请候选人到办公室,进行经典的面试并布置任务。 接下来,我们对办公室新人进行了个别培训。

然而,随着时间的推移,我们完全转向远程招聘。

可以使用 HH 网站或任何其他招聘服务上的职位空缺附带的测试来进行初步选拔。 必须说,如果设计得当,这些测试可以过滤掉大量不符合要求的候选人。

然后一切就变得简单了 - 我们使用 Skype。 使用 Skype 并始终打开摄像机,您进行面试的效率不会低于候选人坐在您旁边的情况。

我们在创建在线商店领域的远程工作经验

尽管存在某些缺点,但与类似系统相比,Skype 也具有非常重要的优势。 首先,通过Skype你可以组织一个计算机桌面的演示,这在教学和讨论工作问题时是非常有必要的。 其次,Skype 是免费的,可在所有主要平台上使用,并且可以轻松安装在计算机或智能手机上。

如果您需要为多名员工组织会议或培训,只需在 Skype 上创建一个群组即可。 通过共享桌面,演示者或教师可以为会议参与者提供所有必要的材料。 在聊天窗口中,您可以发布链接、短信、交换文件或进行对话。

除了 Skype 上的课程外,我们还准备教育影片(使用 Camtasia Studio 程序,但您可以使用您习惯的程序)。 如果这些影片仅供内部使用,那么我们会将其发布到我们的服务器上,如果供所有人使用,则发布到 YouTube 上。

在大多数情况下,教育电影、Skype小组课程与对话和桌面演示以及师生之间的个人交流相结合,使我们能够完全远程进行培训。

是的,有一些服务旨在向一组用户演示桌面、举办网络研讨会,甚至还有培训平台(包括免费平台)。 但对于这一切,您需要付出金钱或时间来学习如何使用该平台。 免费平台最终可能会变成付费平台。 同时,Skype 功能在许多情况下就足够了。

项目合作

当一起处理项目时,我们每天和每周举行会议,使用结对编程和代码审查。 已创建 Skype 群组用于会议和代码审查,并在必要时使用桌面演示。 至于代码,它存储在我们位于数据中心的 GitLab 服务器中。

我们使用 Google Docs 组织文档的联合工作。

除此之外,我们还有一个内部 Klondike 知识库,与应用程序处理和资源规划系统(我们的 CRM 和 ERP)集成。 多年来,我们创建并改进了这些托管在数据中心服务器上的工具。 它们使我们能够有效地处理客户的大量请求、分配执行人、对申请进行讨论、记录工作时间等等。

最有可能的是,您的公司已经使用类似的东西,当员工转向远程工作时,提供对适当资源的远程访问就足够了。

远程用户支持

我们的用户是在俄罗斯几乎所有地区运营的在线商店的所有者和经理。 当然,我们为他们提供远程支持。

我们的支持团队通过票务系统工作,通过电子邮件和电话回答问题,并通过在线商店的管理网站和我们公司网站进行聊天。

在讨论任务的阶段,我们使用客户可用的任何即时通讯工具,例如 Telegram、WhatsApp、Skype。

有时需要查看客户在他的计算机上正在做什么。 这可以通过 Skype 在桌面演示模式下完成。

如有必要,您可以使用 TeamViewer、Ammee Admin、AnyDesk 等工具在用户计算机上远程工作。 要使用这些工具,客户必须在其计算机上安装适当的软件。

设置 VPN 访问

我们在位于不同数据中心的虚拟机上安装了 OpenVPN 服务器(使用 Debian 10 操作系统)。 OpenVPN 客户端安装在我们员工的 Debian、Ubuntu、MacOS 和 Microsoft Windows 工作计算机上。

在 Internet 上,您可以找到许多有关安装 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"

启动时,该脚本将传递用户 ID(使用拉丁字母)作为参数。

该脚本请求证书颁发机构密码,该密码是在安装 OpenVPN 服务器时创建的。 接下来,此脚本创建一个目录,其中包含 OpenVPN 客户端所需的所有证书和配置文件,以及用于安装 OpenVPN 客户端的文档文件。

创建配置和文档文件时,change_me 将替换为用户 ID。

接下来,将包含所有必需文件的目录打包并发送给管理员(地址直接在脚本中指示)。 剩下的就是将生成的存档转发给用户的电子邮件地址。

我们希望您能够有效地利用在家中的强制隔离期。 掌握了没有办公室的工作技巧后,您可以继续积极利用远程员工的工作。

祝您搬家顺利,在家工作取得丰硕成果!

来源: habr.com

添加评论