Watchfinder为何从AWS迁移到Azure?如何迁移?
他们也不需要键盘、鼠标甚至屏幕。相反,支持普通企业组织的IT系统更像工作人员,几乎可以回答任何问题,每星期7天、每天24小时待命,几乎可以肯定的是,工作起来卖力得多。
在某些方面,这正是Watchfinder的CIO乔纳森·吉尔(Jonathan Gill)期望的愿景,这家快速发展的经典手表零售商目前正将市场从英国拓展到澳大利亚和美国。
就在它向国外市场拓展的同时,也一直在谋划从亚马逊网络服务(AWS)DD2011年由Rackspace迁移到AWS,迁移到微软的Azure云,一方面是为了充分利用Azure日益丰富的机器学习工具,并继续致力于提高自动化。
吉尔说:“我们想要做的事情之一是,将工作人员从计算机的束缚中摆脱出来,将这作为一个首要原则。所以,如果我们能将Cortana与聊天机器人程序集成起来,那么工作人员就可以外出,发信息看看我们的库存量有多少,或者我们为某款手表支付多少的成本。(与计算机交互)变得更加呈对话的方式。”
至少这是愿景,这与公司在2001年成立的时候大相径庭,它不是想成为一家传统的在线零售商,而是成为昂贵二手手表的销售商。公司刚创办时,系统是内部的,之所以青睐开源软件是图成本较低。确实,直到今年夏天,这家公司的主要企业数据库还是MySQL,这与2004年一样。
但是吉尔早已不再将服务器和其他硬件视作宠儿,更青睐服务器维护尽可能由别人来操心的环境。
吉尔说:“我们使用AWS时,运行虚拟服务器。虽说你在一小时就可以部署虚拟服务器、重新构建,但我们其实不想操心服务器的维护和服务。迁移到Azure的主要原因之一是,可以充分利用平台即服务解决方案。”
Watchfinder已从Rackspace设施中的托管硬件迁移到AWS,以便消除管理硬件这一负担,但是这仍然留下了一大堆虚拟服务器需要维护。从AWS上的基础设施即服务迁移到Azure上的平台即服务完全意味着Watchfinder可以减少管理工作。
“这是影响较小的一个管理负担。我们迁离AWS时使用12台服务器,突然有一小批服务器需要维护、检查和监控,确保不会遇到配置漂移(configuration drift)之类的情况。每个月你要为它们打补丁一两次,创建一个新的黄金镜像,实在太费时间了,而我们的IT团队规模比较小,精力有限。”
“你转向平台即服务后,它实际上为公司编写代码,部署代码,设置自动扩展机制,并按照我们所需的方式来配置,之后就不用管了。”
吉尔策划从Rackspace到AWS的转变时,团队只有两个人,不过今天IT团队规模大得多。“现在,整个团队都参与到了迁移至Azure的工作。团队中的每个人都知道Azure持续集成(CI)管道到底是如何构建的,他们知道我们到底为什么以这种方式开展工作。”
Watchfinder近些年来经历的迁移在许多方面反映了英国企业界看待和管理IT的方式出现的类似转变:原来自行维护硬件,变成维护服务器(无论物理服务器还是虚拟服务器),再变成日益专注于为客户和公司构建应用程序和功能,服务器方面的责任日益从公司抽离出去,交由别人管理。
吉尔说:“这在改变团队的情况。我们事先做了另外一些工作,那样我们迁移时,就可以为基础设施编制脚本,以便我们所做的一切都通过代码来配置。一切自动部署,经历持续集成构建,从开发测试直到生产环境都是如此,我们还部署了一款开发运维(DevOp)设备。”
因此,大部分迁移工作都是准备工作,实际迁移只花了几个小时。
“就内部系统而言,所有人在下午6点左右停止工作,零售部门在晚上10点停止工作,那样我可以基本上把那些系统关闭,迁移过去,没有人需要操心。但是就前端网站而言,我们在英国的站点每个月就有近100万次会话,我们还要考虑到澳大利亚和美国站点。”
“这就是为什么我在星期六晚上只有两个小时的维修窗口;如果第一次失败,我得等到下周重新来过。”
吉尔说:“迁移的最后环节是,我打开命令提示符,输入两个命令,将当前站点设为只读,把数据倒过去,把DNS倒过去,然后我们就进入到了Azure上。所以实际的转变相对轻松。”
棘手的部分是该公司的MySQL数据库服务器,这是该公司的基础设施中最后迁移过去的那部分。吉尔说:“数据库必须以‘原子方式’迁移过去。这就是我们只好将AWS系统设成只读,迁移过去,并更改DNS的原因。”
之后,从今年夏天开始,数据库本身从MySQL迁移到了在Azure中运行的微软SQL Server平台即服务解决方案。
迁移的这最后一部分不仅仅是为了改进管理,还为了让Watchfinder能够开始尝试和开发Azure上可用的一系列新兴机器学习工具,不过目前这方面还处于早期阶段。
吉尔说:“我们正在研究由弹性搜索改为Azure搜索。我们在开始探究Data Factory和管道,以构建所有报告,并接入机器学习。PowerBI在稳步接过我们公司的整个报告结构。”
说到机器学习,这家公司已经开始尝试让该公司能够优化业务流程的工具和工具集。
“我们现在期望在内部进行优化,那样我们只要关注从整个公司获取数据,以优化服务中心中的手表流动,而不是搞标准的面向客户的推荐引擎或定价比较模块,我们会进一步扩展手表购买工具,以便了解‘我们库存有多少货”、‘我们的销量有多少’和‘我们需要备多少现货’。
他说:“再一次,这一切都归结为乐高积木。你可以坐下来实验,做你想做的一切,然后一旦你做好了,就可以产品化,并把它插入到你的系统。”
吉尔声称,但是可能最重要的是额外的安全层。
“我在Azure上可能比在AWS上来得更放心,主要原因是安全性。亚马逊很安全,我倒不是说它不安全,但是前提是你设置了安全组,这将涵盖你的所有应用程序访问或任何IP地址访问。”
吉尔说:“我们都知道IP地址会受到欺骗。我们设置的系统是一个完全隔离的虚拟网络,只能通过VPN来访问,所以Web应用程序服务只能通过VPN来访问,如果我们需要在办公室访问它们,就要通过VPN,它完全由证书控制,所以这么一来就让人觉得更可靠、更稳妥。”
当然,Watchfinder的内部系统变得更像工作人员后,增强的安全性会变得越来越重要。