一个月就完成上云,这位 CTO 是怎么做到的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chousb
V2EX    推广

一个月就完成上云,这位 CTO 是怎么做到的?

  •  1
     
  •   chousb 2017-06-06 14:58:52 +08:00 4687 次点击
    这是一个创建于 3057 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在青云 QingCloud 实践课堂广州站上,B2B 旅游电商公司中青易游 CTO 张辉清分享了中青易游的上云经验,下文为张辉清的分享。全文 2216 字,阅读时间约为 7 分钟。

    为什么选择上云?

    首先我简单介绍一下在部署到青云之前,我们的资源和平台状况,以及遇到的问题。

    img

    资源状况:

    我们共有 8 个机柜和 2 个机房。广州自建机房规格低、难扩容,北京托管机房由集团统一管理,不可控,而且大部分服务器配置较低、资源短缺、规划相对饱和,网络也存在南北互联互通问题。

    平台状况:

    应用架构不合理,单点严重,随时可能发生严重故障。这样的架构,自然会爆发一系列问题,我们挑选四个来讲:

    1. 新服务器申请频繁,如我们在上云前一个月申请了 24 台服务器;

    2. 北京机房没有完整的管理员权限,由集团统一管控,故障处理困难;

    3. 网络互联互通问题和机房断电问题,例如在去年四月份业务高峰期断电 1 小时,导致 450 万资金流水的损失;

    4. 数据库备份扩容问题,当时一天有 21G 的数据库增量备份,扩充服务器和机柜需要集团层层审批,整个流程大约要两到三个月。

    内部虚拟化,外部云化

    img

    以上问题都无法快速及时地解决,怎么办呢?我们的解决思路是“内部虚拟化,外部云化”。即内部的服务器增加硬件,通过虚拟化技术升级为私有云,然后将北京托管机柜逐步迁移到公有云,最后用 VPN 把北京机房和广州机房分别与公有云打通,以公有云为中心组合成混合云,形成一个大的局域网。

    这个事情我做不了,需要找一个靠谱的人来执行。我希望这个人拥有主流云的运维经验,电商运维经验和虚拟化经验,当然还要拥抱新想法,思维要一致。此人可以外招,也可以内部人员送出去培训,例如参加一些类似于今天的技术会议。我们选择的是前者,因为我们的运维人员当时已经习惯了自建机房和部署物理机的方式,短时间内改变的成本较大。

    大公司与小公司的终极 PK

    确定了解决思路,接下来就是云平台选型了。国内主流云平台众多,该如何选择呢?

    img

    首先是需求分析,深入了解我们的技术和业务的各项需求,包括平台架构需求、平台性能需求、平台发展需求,商务合作需求。比如我们有 3 个项目都需要加密狗服务,而一些云厂商并不能很好的支持,但这却是我们的一个硬性需求。

    第二是云产品分析,即将云平台的产品拆开进行单项产品比较,包括主机性能、网络质量、云平台的易用性和可运维性等。

    第三是与云厂商沟通交流,云平台的试用和测试。

    最后结合自身需求进行综合选择。

    经过初步选型后,我们最终回到了大公司与小公司的终极 PK 问题。这时公司内部有两种声音,第一种声音是选择阿里云或腾讯云这样的知名品牌,第二种是选择青云这样的技术创新公司。

    不太了解云计算的技术人员大部分会选择阿里云或腾讯云,因为他们是大企业,这与我们以前组装电脑一样,不懂的会选择品牌机。而我们的运维团队则更倾向青云,我们认为青云的专业定制和技术更为领先。

    经过大家共同的决策,我们最终选择了青云。主要有五个原因:

    1. 加密狗,我们的应用软件小太阳、泰比 OCR、胜意,都需要加密狗服务;

    2. 专线接入,方便对接北京机房形成混合云;

    3. 简单易操作,用户体验好,大家都喜欢青云界面的小清新;

    4. 用户服务好,一对一跟进的企业式服务;

    5. 标准开源的技术服务,没有二次包装,让用户更加放心。同时也有利于私有云和公有云的统一管理。

    上云八条

    确定云平台后,接下来的工作就是迁移上云。具体如何迁移上去呢?我们一起制定了一个指导性的建议,即上云八条。前四条为网络架构,后四条为上云实施:

    1. 20 倍规划、5 倍设计和 1.5 倍实施。规划和设计要大一些,但实施时小一些,这样不仅便于将来的扩展,也节省了当前的费用;

    2. 两个逻辑网络:一个内网和一个外网,两个负载均衡,两个防火墙,安全隔离内外网;

    3. 五条产品线:国际、国内、商旅、旅游以及公共业务,单点登录和企业支付网关等公共业务也属于一条产品线;

    4. 六个集群:Web 集群、SOA 集群、中间件集群、数据库集群、Job 集群和 ITD 集群。

    以上横向和纵向地划分形成了一个矩阵结构,也基本确定了基础架构和网络设计,接下来的四点是实施注意事项:

    1. 核心自建,与应用核心价值相关的基础设施且需要定制的一定要自建,如外网负载均衡,数据库;

    2. 立项,每一个大的阶段都需要立项,当作全新的项目实施,而不仅仅是上云项目的一部分;

    3. 应用架构不变,核心网络架构重塑。尽量不要因为迁云而改变应用架构,哪怕只是单点问题,我们不可能因此而大量地调整代码,建议上云后再单独立项优化;

    4. 早期适当浪费,后续缩减。迁云的过程可能会爆发一系列不可知的问题,为了更顺利的完成迁移,更快的定位问题,早期可以适当的浪费一些,待迁移稳定后再降级。

    成功上云

    我们将具体的迁移工作当项目实施,分七步包括规划、发布、测试,冻结、迁移割接、监控、结项。每一步都明确相关部门和责任人、具体工作内容、开始和完成时间。

    整个过程从 9 月 5 日到 10 月 21 日,历时一个多月,通过大家的共同努力和密切配合,最终成功将业务迁移到云端。

    过程中没有出现大故障,做到了用户无感知。同时解决上云前的诸多问题,包括资源问题、平台问题和网络问题。故障明显减少,提高了产品的可用性。

    img

    最终部署截图

    上云总结

    最后我们一起简单总结一下上云过程:

    第一,内部虚拟化,外部云化。明确一个目标,然后找个靠谱的人来执行;

    第二,选择适合自己的云厂商。青云就不错,一对一 B2B 式的服务,技术也很好;

    第三,20 倍规划、5 倍设计和 1.5 倍实施。确定一个指导性原则,比如上云八条。不仅可以指导实施,解决思想冲突,而且还会有一个很好的历史传承性。即便运维人员离职流动,也不会较大影响平台整体架构;

    第四,充分运用 PaaS 拉近与大企业的技术差距。中小企业的人员配置有限,我们应该更专注于自身的核心业务,多借力于云平台的基础服务;

    第五,核心自建,避免依赖关键技术。哪些要自己做,哪些使用云提供商的服务,需要进一步明确。与应用核心价值相关的技术一定要自建,不要偷懒。例如我们自建的有度量框架 Metrics、调度 Job、消息队列 RabbitMQ、微服务 MSA 框架等。

    关于中青易游

    中青易游为中青实业集团旗下全资子公司,中青实业集团共有 11 万人。目前,中青易游的研发团队有 50 多人,四条业务线,其中两条主营业务线是国内机票和商旅,两条创新业务线是旅游和国际机票 SaaS。

    img

    12 条回复    2017-06-07 08:58:42 +08:00
    mozutaba
        1
    mozutaba  
       2017-06-06 15:03:22 +08:00 via Android
    臭傻逼。这 CTO 知道你就被开了
    SingeeKing
        2
    SingeeKing  
    PRO
       2017-06-06 15:08:19 +08:00
    云是谁
    operafans
        3
    operafans  
       2017-06-06 15:10:27 +08:00
    @SingeeKing 发车吗?
    gzlock
       
    gzlock  
       2017-06-06 15:12:14 +08:00 via Android
    商业互吹
    chousb
        5
    chousb  
    OP
       2017-06-06 15:15:21 +08:00
    @SingeeKing 额。。。。 又开车。。。 我刚过完儿童节,叔叔你别这样
    chousb
        6
    chousb  
    OP
       2017-06-06 15:27:57 +08:00
    @gzlock 这篇文章是由嘉宾演讲内容总结而来,他为什么要说这些内容?一个背景雄厚的公司还要去站台?帮忙一个创业公司做软广?我想如果一个公司真切地帮你解决了问题,你自己也会说一些吧。有的人在看到的是行业的案例分享,有的人看到的是一篇商业互吹文。祝好~
    Livid
        7
    Livid  
    MOD
    PRO
       2017-06-06 15:30:32 +08:00
    @chousb 建议你们启用 @QingCloud 这个账号吧,并且软文都一致发到 /go/promotions,这篇我刚刚是从 /go/cloud 移动过来的。

    主要是现在的 @chousb 这个用户名真的是让任何严肃文章都很难严肃起来了
    qq292382270
        8
    qq292382270  
       2017-06-06 15:31:41 +08:00
    恕我才疏学浅.. 上个云被说的这么庄严肃穆的真的很难理解.. 唉.. 我这个小白...
    evlos
        9
    evlos  
       2017-06-06 15:53:05 +08:00   1
    我刚还以为一楼骂人来着
    MrMario
        10
    MrMario  
       2017-06-06 16:33:17 +08:00 via iPhone
    @qq292382270 做方案和迁移时业务不中断可能会比较麻烦吧
    stabc
        11
    stabc  
       2017-06-06 16:34:39 +08:00
    这标题起的我真想骂人……
    qingcloud
        12
    qingcloud  
       2017-06-07 08:58:42 +08:00
    @Livid 恩,确实
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1407 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:38 PVG 00:38 LAX 09:38 JFK 12:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86