V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chousb
V2EX  ›  推广

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

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

    在青云 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  
       2017-06-06 15:08:19 +08:00
    云是谁
    operafans
        3
    operafans  
       2017-06-06 15:10:27 +08:00
    @SingeeKing 发车吗?😄
    gzlock
        4
    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
       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   ·   我们的愿景   ·   实用小工具   ·   5355 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 09:34 · PVG 17:34 · LAX 02:34 · JFK 05:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.