在青云 QingCloud 实践课堂广州站上,B2B 旅游电商公司中青易游 CTO 张辉清分享了中青易游的上云经验,下文为张辉清的分享。全文 2216 字,阅读时间约为 7 分钟。
首先我简单介绍一下在部署到青云之前,我们的资源和平台状况,以及遇到的问题。
资源状况:
我们共有 8 个机柜和 2 个机房。广州自建机房规格低、难扩容,北京托管机房由集团统一管理,不可控,而且大部分服务器配置较低、资源短缺、规划相对饱和,网络也存在南北互联互通问题。
平台状况:
应用架构不合理,单点严重,随时可能发生严重故障。这样的架构,自然会爆发一系列问题,我们挑选四个来讲:
新服务器申请频繁,如我们在上云前一个月申请了 24 台服务器;
北京机房没有完整的管理员权限,由集团统一管控,故障处理困难;
网络互联互通问题和机房断电问题,例如在去年四月份业务高峰期断电 1 小时,导致 450 万资金流水的损失;
数据库备份扩容问题,当时一天有 21G 的数据库增量备份,扩充服务器和机柜需要集团层层审批,整个流程大约要两到三个月。
以上问题都无法快速及时地解决,怎么办呢?我们的解决思路是“内部虚拟化,外部云化”。即内部的服务器增加硬件,通过虚拟化技术升级为私有云,然后将北京托管机柜逐步迁移到公有云,最后用 VPN 把北京机房和广州机房分别与公有云打通,以公有云为中心组合成混合云,形成一个大的局域网。
这个事情我做不了,需要找一个靠谱的人来执行。我希望这个人拥有主流云的运维经验,电商运维经验和虚拟化经验,当然还要拥抱新想法,思维要一致。此人可以外招,也可以内部人员送出去培训,例如参加一些类似于今天的技术会议。我们选择的是前者,因为我们的运维人员当时已经习惯了自建机房和部署物理机的方式,短时间内改变的成本较大。
确定了解决思路,接下来就是云平台选型了。国内主流云平台众多,该如何选择呢?
首先是需求分析,深入了解我们的技术和业务的各项需求,包括平台架构需求、平台性能需求、平台发展需求,商务合作需求。比如我们有 3 个项目都需要加密狗服务,而一些云厂商并不能很好的支持,但这却是我们的一个硬性需求。
第二是云产品分析,即将云平台的产品拆开进行单项产品比较,包括主机性能、网络质量、云平台的易用性和可运维性等。
第三是与云厂商沟通交流,云平台的试用和测试。
最后结合自身需求进行综合选择。
经过初步选型后,我们最终回到了大公司与小公司的终极 PK 问题。这时公司内部有两种声音,第一种声音是选择阿里云或腾讯云这样的知名品牌,第二种是选择青云这样的技术创新公司。
不太了解云计算的技术人员大部分会选择阿里云或腾讯云,因为他们是大企业,这与我们以前组装电脑一样,不懂的会选择品牌机。而我们的运维团队则更倾向青云,我们认为青云的专业定制和技术更为领先。
经过大家共同的决策,我们最终选择了青云。主要有五个原因:
加密狗,我们的应用软件小太阳、泰比 OCR、胜意,都需要加密狗服务;
专线接入,方便对接北京机房形成混合云;
简单易操作,用户体验好,大家都喜欢青云界面的小清新;
用户服务好,一对一跟进的企业式服务;
标准开源的技术服务,没有二次包装,让用户更加放心。同时也有利于私有云和公有云的统一管理。
确定云平台后,接下来的工作就是迁移上云。具体如何迁移上去呢?我们一起制定了一个指导性的建议,即上云八条。前四条为网络架构,后四条为上云实施:
20 倍规划、5 倍设计和 1.5 倍实施。规划和设计要大一些,但实施时小一些,这样不仅便于将来的扩展,也节省了当前的费用;
两个逻辑网络:一个内网和一个外网,两个负载均衡,两个防火墙,安全隔离内外网;
五条产品线:国际、国内、商旅、旅游以及公共业务,单点登录和企业支付网关等公共业务也属于一条产品线;
六个集群:Web 集群、SOA 集群、中间件集群、数据库集群、Job 集群和 ITD 集群。
以上横向和纵向地划分形成了一个矩阵结构,也基本确定了基础架构和网络设计,接下来的四点是实施注意事项:
核心自建,与应用核心价值相关的基础设施且需要定制的一定要自建,如外网负载均衡,数据库;
立项,每一个大的阶段都需要立项,当作全新的项目实施,而不仅仅是上云项目的一部分;
应用架构不变,核心网络架构重塑。尽量不要因为迁云而改变应用架构,哪怕只是单点问题,我们不可能因此而大量地调整代码,建议上云后再单独立项优化;
早期适当浪费,后续缩减。迁云的过程可能会爆发一系列不可知的问题,为了更顺利的完成迁移,更快的定位问题,早期可以适当的浪费一些,待迁移稳定后再降级。
我们将具体的迁移工作当项目实施,分七步包括规划、发布、测试,冻结、迁移割接、监控、结项。每一步都明确相关部门和责任人、具体工作内容、开始和完成时间。
整个过程从 9 月 5 日到 10 月 21 日,历时一个多月,通过大家的共同努力和密切配合,最终成功将业务迁移到云端。
过程中没有出现大故障,做到了用户无感知。同时解决上云前的诸多问题,包括资源问题、平台问题和网络问题。故障明显减少,提高了产品的可用性。
最终部署截图
最后我们一起简单总结一下上云过程:
第一,内部虚拟化,外部云化。明确一个目标,然后找个靠谱的人来执行;
第二,选择适合自己的云厂商。青云就不错,一对一 B2B 式的服务,技术也很好;
第三,20 倍规划、5 倍设计和 1.5 倍实施。确定一个指导性原则,比如上云八条。不仅可以指导实施,解决思想冲突,而且还会有一个很好的历史传承性。即便运维人员离职流动,也不会较大影响平台整体架构;
第四,充分运用 PaaS 拉近与大企业的技术差距。中小企业的人员配置有限,我们应该更专注于自身的核心业务,多借力于云平台的基础服务;
第五,核心自建,避免依赖关键技术。哪些要自己做,哪些使用云提供商的服务,需要进一步明确。与应用核心价值相关的技术一定要自建,不要偷懒。例如我们自建的有度量框架 Metrics、调度 Job、消息队列 RabbitMQ、微服务 MSA 框架等。
中青易游为中青实业集团旗下全资子公司,中青实业集团共有 11 万人。目前,中青易游的研发团队有 50 多人,四条业务线,其中两条主营业务线是国内机票和商旅,两条创新业务线是旅游和国际机票 SaaS。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.