2019-12-11

汇量科技蔡超:“云原生”趋势下的架构演进

12 月 6 日,汇量科技(Mobvista)技术 VP 兼首席架构师蔡超在北京的全球架构师峰会 ArchSummit 发表主题演讲,介绍“云原生”趋势下的架构演进。

Avatar
欧芫希

内容营销经理

12 月 6 日,全球架构师峰会 ArchSummit 在北京举办,大会云集了 100 余位国内外技术专家,展开以“升级架构思维 支撑业务发展”为主题的技术探讨。汇量科技(Mobvista)技术 VP 兼首席架构师蔡超受邀参会并发表主题演讲,介绍“云原生”趋势下的架构演进。

在演讲中,蔡超结合自己在汇量科技成功构建基于多云平台的国内最大规模的移动广告系统,以及在 Amazon 的 7 年云端架构经验的总结,通过分析云计算的特点与大规模软件开发的挑战,解析如何设计适合于“云原生”的架构及开发模式。

他首先回顾了软件架构的发展历程,总结出 IT 基础设施(Infrastructure)的变迁总是会推动架构演进,使得架构能够充分发挥基础设施的特点。“现今云计算的基础设施同样推动着相应的软件架构的演变。”他同时指出,“云计算技术甚至还影响了软件的开发过程和团队的组织结构,由此催生的‘云原生’的相关理念正被越来越多的团队所认可并成功应用。”

什么是“云原生”?“云原生”不仅仅只是软件价架构,而是一种充分利用云计算模式的优点来构建和运行应用的方法。云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更。

为什么需要“云原生”?天下武功,唯快不破,市场竞争亦是如此。从根本上而言,因为它可以实现更快速的交付应用系统,加速创新。

云计算有按需获取、按使用付费、非确定性资源失效、资源维护托管、快速弹性伸缩等主要特点。从云计算的主要特点出发,蔡超介绍了云计算的架构演进。从云单体系统向云原生架构进行改造,构建微服务是第一步。这个过程中,要考虑面向容错、面向恢复和混沌工程,从而可以构建一个高可用的微服务,使得系统架构更加具有弹性,可以更好利用云端的高弹性资源。当服务变得更加弹性、更可恢复的时候,就可以找到更有价格优势的方式。

例如,使用竞价实例。竞价实例价格是按需实例的 10-20%,但当资源紧张的时候会被回收。为了保持系统服务的可持续性和 SLA 服务水平,就需要有效的应对竞价实例回收而产生的系统集群容量变化,结合一些 Spot 集群管理软件,帮助动态维持集群容量的稳定。这样就可以在不妥协可用性的情况下实现大幅度的成本节省。

蔡超还介绍了“云原生”架构中的容器化,“架构是一种选择和权衡,包括对设计风格的选择、框架的选择构建方式、运行平台的选择。容器化一直以来都是云原生的组成部分,”他表示,容器化有助于我们快速构建和发布应用及构建适合云计算应用,它可实现更高的资源利用率、更快的伸缩和恢复,也更具便携性。

最后,蔡超还分享了架构演进的趋势:一是从 Infrastructure as a Service 到 Container as s Service,关注点在进一步分离;二是虚拟服务从 VM Network 到 Container Network 再到 Service Network,我们也看到从云基础设施到容器平台再到服务网格的演进,实现了更高层次的网络抽象。

蔡超于 2017 年加入汇量科技,担任技术 VP 兼首席架构师,探索成本可控的大规模云端系统实践。他一方面展开汇量科技架构向微服务为代表的云原生构架迁移,另一方面则探索在全面采用云服务的前提之下如何节省更多的节本。目前,汇量科技的在线系统集群中 70% 的 Instance 都是 Spot Instance,单次广告请求的成本降低了 65%。公司还把使用 Spot Instance 的经验和实践进行了对外的产品化输出:SpotMax,其解决方案和服务包括了 MaxArch 高可用性架构、MaxChaos 混沌工作和 MaxGroup 智能弹性集群管理三大部分。

Share