我们在创建在线商店方面的远程工作经验



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

将大型IT公司转移到远程工作可能并不容易。但是,在许多情况下,您可以使用众所周知的工具和技术。在本文中,我们将从技术方面回顾我们的远程体验。我们希望这些信息将帮助公司适应新的条件。如有任何意见,建议和补充,我将不胜感激。

远程访问公司资源


如果IT公司在办公室工作,那么通常会有系统单元,便携式计算机,服务器,打印机和扫描仪以及电话。所有这些都通过路由器连接到Internet。我们公司在成立之初就在办公室中安装了此类设备。

现在想象一下,您需要在1-2天内迅速将所有员工送回家,甚至不致使项目工作停止。在这种情况下该怎么办?

有了笔记本电脑,一切都变得清晰了-员工可以随身携带它们。系统单元和监视器更难以运输,但是仍然可以做到。

但是,如何处理服务器,打印机和电话?

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


当员工搬家,而服务器仍留在办公室中并且有人来照顾时,剩下的只是解决组织员工对公司服务器进行安全远程访问的问题。这是系统管理员的工作。

如果将Microsoft Windows Server安装在办公室服务器上(就像我们早年一样),则管理员只要使用RDP协议设置了终端访问权限,员工就可以在家中使用该服务器。您可能必须购买其他许可证才能访问终端。无论如何,员工将需要在家中使用装有Microsoft Windows的计算机。

具有Linux OS的服务器将可以在家中访问,而无需购买任何许可证。您的公司管理员就可以通过SSH,POP3,IMAP和SMTP等协议配置访问权限。

如果尚未完成此操作,则为了保护服务器免受未经授权的管理员访问,有必要至少在办公室服务器上安装防火墙(防火墙),并使用VPN为员工配置远程访问。我们使用OpenVPN软件,该软件几乎可用于任何平台和操作系统。

但是,如果办公室在所有服务器都关闭的情况下完全关闭了怎么办?剩下四个选项:

  • 如果可能,请完全转向云技术-使用云CRM系统,在Google文档上存储常规文档,等等。
  • 将服务器移交给系统管理员(他会很高兴的……);
  • 将服务器移到同意接受它们的某个数据中心;
  • 租用数据中心或云中的服务器容量

第一种选择是好的,因为您不需要传输和安装任何服务器。过渡到云技术的结果将对您进一步有用,它们将节省资金和维护工作量。

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



将服务器传输到数据中心也不容易。通常,只能将适合安装在机架中的服务器放置在数据中心中。同时,办公室通常在大型塔式机柜中使用服务器,甚至在普通台式计算机中使用服务器。您很难找到一个同意在家里托管类似设备的数据中心(例如,尽管有这样的数据中心,但我们将其放置在PlanetaHost数据中心中)。当然,您可以租用正确数量的机架并将设备安装在那里。

将服务器移至数据中心的另一个问题是您很可能需要更改服务器的IP地址。反过来,这可能需要重新配置服务器软件或对某些软件许可证(如果它们与IP地址绑定)进行更改。

由于无需将服务器传输到某处,因此在数据中心租用服务器容量的选项更加容易。但是您的系统管理员将必须重新安装所有软件并从办公室中安装的服务器中复制必要的数据。

如果您的办公技术基于Microsoft Windows的使用,则可以使用所需数量的终端许可证在数据中心租用Microsoft Windows服务器。为远程使用服务器的每位员工获取一份这样的许可证。

租用物理服务器的成本比在云中租用虚拟服务器便宜2-3倍。但是,如果您需要非常小的容量,而不是整个服务器,那么使用云的选项可能会更便宜。

云资源价格上涨是由于云中保留了硬件资源而导致的。结果,云将比租用的物理服务器更可靠。但是这里已经有必要评估风险并数钱。

对于我们从事在线商店创建的公司,那么与我们在一起的所有必要资源长期以来都在数据中心中,并且可以远程使用。这些是专有的和租用的物理服务器,用于托管商店,以及用于软件开发人员,布局设计人员和测试人员的虚拟机。

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


正如我们已经说过的,员工可以随身携带他们的工作计算机-笔记本电脑或带有显示器的系统单元。如有必要,您可以通过订购送货上门的方式为员工购买新的笔记本电脑。当然,新计算机将必须安装必要的软件,这将导致额外的时间成本。

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

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

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

许多人试图通过在计算机上安装各种专用显示器来控制员工在家工作期间的行为。我们从来没有这样做,我们只控制工作的结果。通常,这已经足够。

打印机和扫描仪怎么办


网站软件开发人员很少需要打印机和扫描仪。但是,如果员工需要此类设备,则切换到远程工作时会出现问题。


通常,高速,大型且重型的办公室MFP已安装。是的,您可以将他送回家给需要最频繁打印和扫描的员工。当然,除非该员工有机会接待他。

但是,如果您的许多员工经常扫描和打印文档,则您将必须购买MFP并在家中安装它们,或者更改公司的业务流程。

作为运输和获取新MFP的替代方法,尽可能地加快向电子文档管理的过渡。

处理纸质和电子文档


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

随着这种系统的引入,有必要向所有参与电子文档管理的员工(例如会计师)提供具有增强的合格电子签名的智能钥匙。获得此类小装饰品可能需要一些时间,因此最好事先对此问题感到困惑。

在DIADOK中(与类似服务一样),您可以与其他电子文档管理操作员一起配置漫游。如果承包商使用您以外的其他工作流程系统,则需要这样做。

如果您或您的某些承包商以旧的方式处理文件,则必须访问邮局或致电快递公司来发送和接收普通的纸质信件。如果是隔离,则必须将此类操作减到最少。

与电话做什么


在工作的最初几年,我们公司使用固定电话和移动电话。但是,我们很快意识到,在拥有大量员工和客户的情况下,我们需要一些更合适的解决方案。

对我们来说最方便的是来自MangoTelecom的虚拟PBX。有了它的帮助,我们摆脱了绑定城市电话号码(以及办公室的实际位置)的麻烦。我们还获得了将PBX与我们的CRM集成,记录客户服务对话,设置呼叫转移等的机会。

接下来,您可以在智能手机,便携式计算机或台式计算机上安装虚拟PBX应用程序。这样您就可以拨打俄罗斯号码,甚至可以从国内拨打国内电话。

因此,虚拟PBX允许您从业务连续性的角度使员工从办公室到家的迁移几乎不可见。

如果您使用办公室PBX,并且在关闭时不可避免地会关闭,请考虑切换到虚拟PBX。从电话提供商处查找是否可以启用从办公室PBX的城市号码到虚拟PBX的传入号码的呼叫转移。在这种情况下,切换到虚拟PBX时,您不会丢失来电。

至于员工之间的通话,在使用虚拟电话交换机时,通常不会收取此类通话费用。

远程选拔和培训员工


为了补充员工,在公司成立之初,我们总是邀请应聘者进入办公室,进行经典面试并分配任务。接下来,我们在办公室中为初学者进行了个人培训。

但是,随着时间的流逝,我们完全转向远程人员选拔。

可以使用HH网站或某些其他招聘服务上空缺附带的测试进行初始选择。我必须说,通过适当的准备,这些测试可以让您筛选出大量不符合要求的候选人。

然后一切都很简单-我们使用Skype。使用Skype并始终在打开摄录机的情况下,进行面试的效率不亚于候选人坐在桌子旁边的情况。



如果存在某些缺点,则Skype与类似系统相比具有非常重要的优势。首先,通过Skype,您可以组织计算机桌面的演示,这在培训和讨论工作问题时非常必要。此外,Skype是免费的,可在所有主要平台上使用,并且易于安装在计算机或智能手机上。

如果您需要组织会议或培训多名员工,只需在Skype中创建一个组即可。演讲者或老师可以使用其桌面演示,将与会人员所有必要的材料带到会议上。同时,在聊天窗口中,您可以发布链接,短信,交换文件或进行对话。

除了在Skype上的课程外,我们还在准备培训影片(使用Camtasia Studio程序,但您可以使用惯用的东西)。如果这些电影仅供内部使用,那么我们会将它们发布在我们的服务器上;如果是全部发布,则将它们发布在YouTube上。

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

是的,有些服务旨在向一组用户演示桌面,进行网络研讨会,甚至培训平台(包括免费平台)。但是对于所有这些,您需要用金钱或花时间研究使用平台的方法来支付。同时,免费平台可能会收费。同时,在许多情况下,Skype的功能就足够了。

项目合作


在项目的联合工作过程中,我们每天和每周举行会议,使用成对编程和代码审查。已创建用于会议和查看代码的Skype组;如有必要,将使用桌面演示。至于代码,它存储在我们位于数据中心的GitLab服务器中。

我们将使用Google文档组织有关文档的协作。

除此之外,我们还有一个内部的Klondike知识库,该知识库与应用程序处理和资源计划系统(我们的CRM和ERP)集成在一起。这些工具位于数据中心服务器上,多年来我们已经创建和改进了这些工具。它们使我们能够有效地处理客户的大量申请,任命执行者,就申请进行讨论,考虑工作时间并做更多的事情。

您的公司很可能已经在使用类似的工具,并且当切换到员工的远程工作时,足以提供对相关资源的远程访问。

远程用户支持


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

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

在讨论任务的阶段,我们使用客户端可用的任何Messenger,例如Telegram,WhatsApp,Skype。

有时有必要查看客户端在其计算机上执行的操作。这可以通过Skype在桌面演示模式下完成。

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

VPN访问设置


我们在不同数据中心的虚拟机上安装了OpenVPN服务器(使用Debian 10 OS)。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="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"


启动时,该脚本会传递用户标识符(使用拉丁字母)作为参数。

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

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

接下来,将包含所有必需文件的目录打包并发送给管理员(该地址直接在脚本中指定)。仅保留将结果存档通过用户的电子邮件地址转发给用户。

我们希望您能从中获利地度过您的家庭监禁期。解决了在没有办公室的情况下工作的方法之后,也许您将继续积极使用远程员工的工作。

祝您在家工作愉快而富有成效!

All Articles