坐而论道 | “云原生”时代:挑战 寻变 共赢

道客船长新推出访谈类栏目 「坐而论道,由两位重量级嘉宾 Docker Swarm 全球 Maintainer 孙宏亮 (Allen) 和 DaoCloud 首席架构师王天青 (Grissom) ,共同探讨云计算行业的热门话题,从技术和业务的角度探索容器技术的最佳实践。

坐而论道 (1)

2015 年 7 月,Docker、Intel、Red Hat、IBM 等 19 家知名公司共同创建了 “云原生计算基金会(CNCF)”,目标在于解决一个长久以来困扰业界的难题——云体系应该采用怎样的架构来服务现代应用。近期,DaoCloud 也很荣幸成为 CNCF 的一员,共同推动云原生行业落地。本期「坐而论道」,Allen 和 Grissom 将围绕 “云原生” 与 “CNCF” ,分别从技术和业务角度,探讨云原生的价值。

Q1. CNCF 成立的初衷主要围绕 “云原生” 服务,而 “云原生” 这一概念其实是在 2015 年才提出,之后在业界得到了大力推广并迅速成为云计算技术和应用的新趋势。在讨论它的影响前,我们先来聊聊“云原生”为何而生?

 Allen:

我觉得任何事物的诞生肯定是有其自身的原因,这个原因就是当前所遇到的挑战。从我目前的认知来说,可以从以下几个角度来讨论目前行业遇到的挑战:第一个挑战:在目前的行业中,软件交付方面存在一些障碍。这时候为了适应新的格局行业亟需变迁,在变迁的过程中会出现各方推力。一方面的推力是互联网模式的诞生,应用的喷薄式增长,带来巨大的交付压力,这是软件流程方面面临的一大挑战。第二个挑战涉及应用架构,在应用架构方面,项目管理、应用管理方面存在一些弊端。其实大家已经发现了单体应用架构存在的问题,这个时候就有一些推力让它朝着新的软件模式的方向发展。还有最后一个挑战:在上层应用架构转变的过程中,底层——数据中心的架构,数据中心的能力,是否可以很好地支撑上层的应用架构,或是软件流程的变化。数据中心也要谋变,不谋变的话,往往压力会很大。以上是我认为当前行业软件行业面临的 3 个方面的挑战。

Grissom:

IT 最终是必须要服务业务的,所以我主要会从业务角度探讨这个问题。从业务的角度来看,企业老板,尤其是互联网行业的老板,只关注两类最核心的问题:这个功能明天能不能上线?双 11 能撑得住吗?类似于这样的问题。他希望的是什么呢?其实就是又快又好。(Allen:甚至不花钱)其实速度和质量更重要一些,当然你说的不花钱,或者成本比较小,也是一个关注点。那些独角兽公司,例如当时的 Pivotal,有一本书名字叫作 Migrating to Cloud-Native Applications Architectures,书中总结了四条成功的秘诀

  • 第一条就是 speed of innovation,就是快,“天下武功唯快不破”。
  • 第二条秘诀叫作 always available service,就是服务 24 小时都可用,可用性很重要。
  • 第三条秘诀 web scale,就是从 0 到 1 要能快速复制。具体来说,比如说你们公司从天使轮开始只有 500 个用户,A 轮后已经增长到了 10 万,甚至可能是 100 万用户。那么,整个体系就要有能力支撑这么大体量的用户,这一点非常重要。
  • 最后一点同移动互联很有关系,mobile first 移动优先。我们先不探讨具体怎么做,但是这是行业对 IT 的要求。

对创业公司来讲,IT 部门最关键的就是必须要做到这四点。从业务层面来看,云原生的产生对 IT 提出了新的需求。由于传统行业对安全保障性要求更高,比如说银行业、金融行业,他们每个 release 的周期可能是半年,甚至是一年,这样的情况在互联网行业往往不现实。所以,云原生针对互联网行业能够提供更大的帮助和价值。因为对他们来说,云原生能够切切实实解决业务层面的问题。

oreilly2

Allen:

这个方面我还想多说一点,不仅仅是创业公司,包括微软这类大型企业,公司层面的策略也是基于 cloud first,mobile first。从业务角度来讲,这不仅仅是对技术的要求,也是对整个企业策略方面的要求。

Q2. 云原生技术的出现,会对现代化应用带来哪些实质影响?

Grissom:

这个问题可以从几个方面来理解。云原生能够解决老板的问题就是又快又好了。就是整个研发的流程、迭代周期快。通过微服务架构,可以把原来一个大的单体应用拆成了一块块小的部分,这样就实现了高耦合。改动比较小的部分通过小步迭代的方式,粒度很小,很多功能其实只要改一二行代码,就可以快速上线。过去一个大的单体应用,所有人都在上线,很难在比较短的周期内完成全部工作。很多时候,一处小的修改,需要把整个测试重新做一遍,甚至两周都无法完成既定目标。但是,在使用微服务架构之后,这个问题迎刃而解。然后,通过持续集成的流程可以很好地保证代码从提交,到最后的交付,这一整个流程的自动化。同时中间过程中可以通过各种自动化测试来保证质量。最后,就是底层的敏捷基础架构 docker。它使得交付能够做到标准化,保证在开发测试生产上,环境都是基本一致的。这样一来,交付时间大幅度缩减,因为标准化势必会提高整体的效率。最后,通过做到更小的粒度使得整体的交付效率大幅度提升。这是从“快“的角度延伸来讲,“云原生技术”能解决的问题。质量的角度来讲,从前,我们更多采用的是人工介入的方法,而现在更多是通过自动化的方式,包括运维,我们都会使用基于容器的自动化运维方式。它能够很好地支撑整个体系,避免人为造成的问题。同时,通过结合一些最佳实践,如应用架构层面的实践,避免了过去踩过的坑。这样的话,我们不仅在整体上提升了效率,同时能够有效避免犯一些错误。另外还有一个方面,微服务架构这一块,在可用性、可扩展性、可靠性方面,比原来的单体应用都会有所提升。由于原来是单体架构,现在通过集群让每个地方都可以做到扩展。老板想要的又快又好,针对这种突发的场景,整个云原生的理念或者整个体系的配套,是可以充分满足这些需求的。akana-Banners-MicroServ-960x300 (1)

Q3. 云原生应用技术具有诸多的优势,如何帮助其更好地服务现代化应用,也成为行业共同探讨的问题。CNCF 的成立,是行业解决问题的一个新思路。DaoCloud 加入了 CNCF,未来在技术方面会带来哪些变革或贡献?

Grissom:

DaoCloud 在初期的时候,给人的印象是个容器公司。刚才提到的 云原生和微服务,DevOps,还有以容器为代表的敏捷的技术架构,我们可以称之为是 DaoCloud 的黄金三角。但是就像一个三角架,3 个角,现在缺了一角。为了更好地提供支持,我们想通过学习 Pivotal,或者同 CNCF 这样的组织有更紧密的合作,最终能够更好地支持微服务这个大生态,这样我们的产品才能更好地去服务好这些业务。另外,业务其实是应用,它跟底层的架构,还有一定距离,底层架构很重要。但实际上,一定要在流程上从上到下提供更好的服务。在这之前,我们已经帮客户解决了容器的问题,现在我们要帮助客户解决应用的问题。当然容器的问题我们还会一直做下去,但是会上升到更高的一个层面来帮助客户解决应用的问题。这个应用就是新时代下的云原生应用。从我个人的理解来看,并非意味着容器变得不重要了,而是现在的核心目标是做好服务。所以,我们的三大产品线,DaoCloud Services、DaoCloud Enterprise、DaoCloud Voice,就是围绕应用在做这些事情。

Allen:

我觉得从开源技术的角度来讲,基金会 CNCF 的诞生可以从 3 个方向应对行业面临的挑战:一个方向是 container packaged,也就是通俗意义上的软件打包方式,交付方式,然后沿着这条路走下去,又可以做到在 DevOps 方面的改进。第二个方面是 microservices,面向微服务,主要聚焦在应用架构方面。第三点就是 dynamical management动态管理方面,是数据中心的领域。这 3 个方向中,关于 container packaged,目前行业里面需要制定一个容器标准。行业里面目前都会比较认同 OCI,那么 OCI 的标准是谁在推动呢?业界比较有名的一些 IT 公司,包括 IBM、Red Hat、Docker 等公司,它们为了整个行业的标准在推动。从技术角度来讲,随着 OCI 标准的建立,我们希望看到的是依附这个标准出现更多的具体实现。在行业当中,目前使用标准这方面的是 docker,我们希望通过社区的能力、技术手段把 docker 这个方面做得更好,更成熟,帮助 docker 在企业落地的时候排除一些障碍。这也是 DaoCloud 在社区中做过的一些贡献和投入,我们会从企业的角度去收集一些需求和想法,然后在开源社区里做贡献。微服务领域,我们希望通过技术理念影响整个社会,带来一些不一样的东西。我们主要关注如何和传统充分融合,如何去改变一些已有的模式,为企业真正地提供价值。在这个方面,像 Grissom、Chris Richardson 等微服务行业的大亨,他们可以为企业提供一些专业的服务,比如说咨询。关于第三个方面是敏捷的 IT 架构,或者说是编排能力。例如 docker 的 swarmkit,kubernetes,这是一种多样性,说明这个生态是活跃的。我们甚至可以反推,企业级对于这方面的需求,明显是最旺盛的,这也是长期来看的一个发展方向。我们目前选择的 swarmkit,是一条“原生”的技术方向,为企业解决一些实际问题。我们也会在技术、编排和 cloud native 开放性方面做起,兼容并包。推进整个行业的标准,进而真正为企业解决问题,实现共赢

Q4. 作为 CNCF 的一员,DaoCloud 未来将会扮演什么角色?

Allen:

CNCF 的角色就是制定整个行业的标准,引导整个 IT 行业的应用架构朝着云原生方向发展。这是一个很大的目标,同时有很多细节需要去做。
在政治方面,我们需要有类似委员会的机构,通过民主的形式,让大家共同来做决策。DaoCloud 是委员会的一员,我们将共同参与和影响 CNCF 的发展。另外,DaoCloud 在 CNCF 中会用自己的实际行动,体现我们的最大价值,或者说发挥我们的重大贡献。作为基金会的成员,我们会在 CNCF 中做出更多的贡献,比如说在开源社区中,我们希望以一些项目为契机,投入更多的人力物力在开源社区的建设中。上游投入、基金会的管理是最重要的。同时在这个基础之上,我们要做的最重要的一件事就是:让更多的人,更多的企业参与到社区中来,共同建设生态,营造云原生的未来。本期的「坐而论道」就到这里,下期内容敬请期待!

嘉宾介绍

Allen 孙宏亮:DaoCloud 技术合伙人,Docker Swarm 全球核心 Maintainer,Docker 项目全球 Top 30 贡献者,《Docker 源码分析》作者,《Docker 容器与容器云》合作者。数年来一直深耕云计算领域,研究 PaaS 与容器技术等。是国内第一批 Docker 实践者以及布道者。爱开源,衷分享。

Grissom 王天青:DaoCloud 首席架构师,曾先后在麻袋理财担任职首席架构师,EMC 中国研究院任职主任工程师,工作十多年间,做过前端,做过后端, 对云计算有深入了解。目前对云原生应用之微服务架构及敏捷的基础架构(Docker)有比较多的研究和实践,同时对大型网站的技术架构有比较多的认识和实践,在 DaoCloud 负责企业客户应用微服务架构转型。

Leave a Reply

Your email address will not be published. Required fields are marked *