为何云原生在吞噬世界 ?

Senthil Ravindran
许多企业采取自下而上的以应用程序为中心的短期方法,从长远来看,这可能造成更大的危害,因为云原生行业一直在发展变化,过去很强大的功能可能在明天变得完全无关紧要。

长话短说,本文的目的是帮助你了解云原生的功能及带来的业务效益,并探讨准备迁移到这种新型计算模式的企业面临的种种选择和陷阱。

“计算机革命已过去了60年,离微处理器的发明已有40年,现代互联网兴起至今已有20年,通过软件改变各行各业所需的所有技术终于切实可行,可以在全球范围内广泛提供。

在后端,有了软件编程工具和基于互联网的服务,很容易在许多行业新创办软件驱动的全球性初创公司,无需投资兴建新的基础架构、无需培训新员工。2000年,我的合伙人Ben Horowitz还是第一家云计算公司Loudcloud的首席执行官时,客户运行基本的互联网应用软件所需费用为每月约15万美元。如今在亚马逊云端运行同样这个应用软件,每月费用仅为约1500美元。”

因此,Marc Andreessen在其2011年发表的知名文章中恰如其名地取名为《为何软件在吞噬世界?》。

自2011年以来,几个方面已取得了一些进展,“软件”带来了前所未有的可能性。云不再是个流行语。AI/机器学习已成为主流。敏捷和开发运维(DevOps)对我们而言不再陌生。甚至出现了零运维/无运维(ZeroOps/NoOps)。区块链/去中心化计算并不适合所有人。每个人都为量子计算而感到兴奋。

当今技术更值得关注的方面之一是,“云原生”技术迅猛发展。据云原生计算基金会声称,“云原生技术使企业组织能够在现代动态环境(比如公共云、私有云和混合云)中构建和运行可扩展的应用程序。容器、服务网格、微服务、不可变的基础架构和声明性API就是这种方法的体现。”使用云原生的公司越来越多,这不仅是计算机界的一次重大的根本性转变,也是整个世界的一次重大的根本性转变。

许多新的颠覆性公司(比如Go-Jek、字节跳动和Grab)以及大名鼎鼎且经常被举例的公司(比如Facebook、谷歌、优步和爱彼迎等)都充分表明了这一点:正是由于采用云原生方法,可以迅速构建可灵活扩展,服务于全球数十亿客户的平台。

技术近期发展史

深入探究构成云原生的功能之前,简单回顾一下近期技术的发展史很有必要。

AWS于2009年3月9日问世,它来源于一个自然而合理的想法:靠亚马逊行之有效地管理基础架构的核心优势来赚取收入。公共云现在是一个产值1800亿美元(截至2018年)的行业,预计到2022年将增长到3310亿美元。云已从早期提供存储和计算机等资源,发展成为一种可靠的替代方案(传统方案是拥有和运行自己的基础架构),以开发功能强大的数字化应用软件。还有另外几种强大的技术,比如容器、API和微服务等,当它们与AWS率先倡导的弹性基础架构结合使用时,更广泛的术语“云原生”(Cloud-Native)由此形成。

在提到云计算行业的同时,我们需要追溯对客户期望产生深远影响的另一场革命。iPhone在2007年1月9日面市,标志着客户期望方面出现了重大变化。客户被新的数字化服务所淹没,最先是社交网络,这种网络随时在线,其大多数功能作为自助式服务来交付,提供令人愉悦的客户体验。争夺客户并将网络扩展到数十亿客户的规模,导致了硅谷的技术巨头们展开一场军备竞赛,这意味着旨在开发“数字化优化”应用程序的技术层出不穷。你可以在此处了解这些技术。

这里值得一提的另一点是,通过向开源社区贡献功能强大的软件组件,像谷歌、奈飞、优步和Spotify这些互联网时代崛起的企业组织一直在以零成本或极低的成本增强云原生计算的功能,这与采用许可模式的同行形成了对照。这些功能由才华横溢的工程师组成的社区开发,常常得到科技巨头的支持(比如,用于编排和管理容器的软件Kubernetes已由谷歌开源),它们定义了“可能的艺术”(Art of Possible)。

云原生公司的七大功能

云原生计算不仅是一系列技术功能,还代表了构建数字化优先应用程序的一种新模式。想了解云原生,需要更仔细地分析定义当今高效的云原生公司的七大功能。

平台――虽然平台本身不是软件工程界的新事物,但这更多地局限于产品供应商,而不是企业。比如在银行,贷款业务可能不被认为是一个平台,而是集合了执行一系列业务功能的数百个应用程序、几个本地开发的应用程序和几个商用现成(COTS)应用程序。平台方法意味着业务功能被视为提供一组功能的产品。这与传统IT应用程序的构建方式相比是一大转变。

容器――正如当初定义运货集装箱的标准尺寸以及围绕集装箱处理而建的工具生态系统促进了全球贸易迎来大幅增长,容器的引入也给软件工程界带来了一场革命。容器可以追溯到Linux操作系统,总部位于硅谷的Docker公司让容器流行了起来。随之出现的生态系统涵盖众多工具,它们作为微服务而开发,作为API来公布(比如客户事务查询),以便在特定的时间处理峰值负载。Kubernetes就是一种代表性的工具,它提供了管理和编排容器的功能,这意味着公司企业可以向内或向外扩展某项特定功能。

API(应用编程接口)和微服务。

API将功能作为贵企业的菜单卡来提供。在云原生界,API好比是贵企业的门户。API抽取了应用程序所有的底层复杂性,提供了更简单且易于理解的合约,以便精通技术的业务用户和开发人员了解和开发功能强大的应用程序。贵企业需要从头开始构建一切的日子已经一去不复返。API利用一系列内部和第三方的API组合成功能强大的应用程序。如果说数字化经济好比是国家,那么API就是你的护照。

微服务――微服务定义了贵企业中独立业务功能的最小单位。通过将整个企业分解成较小的微服务,云原生企业可以迅速行动:无论从可扩展性的角度来看,还是从采用多种编程语言的自由度这个角度来看,这在以前是不可能做到的(比如面向数据科学的Python、面向并行处理的Golang以向面向业务应用软件的Java等)。

智能决策――数据有好多个称谓:比如石油、黄金和氧气。云原生技术对企业组织利用数据的方式产生了深远的影响。我们拥有Kafka等功能非常强大的平台,能够以非常快的速度处理来自外界(众多设备、社交媒体和合作伙伴组织等)的大量数据,发送到可以在一段时间内学习并获取洞察力的AI/机器学习平台。简而言之,现在我们正进入到这样一个时代:需要人来干预才能进行解读和采取行动的决策已变得自动化。这就意味着云原生组织天生比传统组织更智能化,并不断学习。

创新文化――说到进度方面,完美是优秀的敌人。创新不是云原生组织的流行语,而是组织文化的一个固有部分。虽然企业面临老牌品牌的负担,并担心打破常规、失去客户信任,现代企业专注于将持续试验作为一种创新的手段,并将创新的颠覆性技术提供给客户。

敏捷文化云原生应用程序常常由在同一地方工作(或奉行无缝协作文化)的敏捷团队来构建。敏捷的软件开发方式取得了一些进步,尤其来自Spotify及其他硅谷公司,它们打造了一种对功能特性进行创新、试验以及持续集成和持续交付(CI/CD)的文化,这种文化已深入到工程原则的精髓。这些团队全面负责从开发到部署的整个过程,通过先进的DevOps技术使软件开发生命周期(SDLC)流程几乎完全实现自动化,并常常通过任务的游戏化来汲取灵感。

通过充分利用云基础架构的弹性特性来提供存储和计算资源,实现软件定义的基础架构。现在,数字化优化的公司大有机会构建功能的强大应用程序,而这些应用程序的构建和运营成本与以前相比大幅降低。

整体上来看,上述功能及其采用的程度代表着云原生商(CNQ),CNQ代表企业组织在现代化过程中所处的阶段。

借助更高的CNQ和先进的技术(比如事件处理、AI/机器学习驱动的数据处理以获取洞察力),云原生组织常常以几年前无法想象的速度运作。这从我们每年看到的独角兽(估值超过10亿美元的初创公司)数量中可见一斑。总之,如果你在打造一家现代企业,云原生技术将为你提供速度这个核心优势。

凭借速度,云原生组织一直在抢占属于传统企业堡垒的地盘。“从早期阶段到独角兽”的时间越来越短就充分体现了这一点。这些云原生的科技初创公司已成功地从许多国家的传统老牌巨头抢过很大的份额,比如中国的百度、腾讯和阿里巴巴,韩国的Kakao,印度的Flipkart、PayTM和Ola,印度尼西亚的Go-Jek,这样的例子在许多发展中国家比比皆是。在西方国家,这种情况不太普遍,但是客户早晚会移情别恋。

传统企业与云原生企业的速度差异

由于客户比以往任何时候更愿意尝试,并可能从新时代进入者转向更新颖的产品,企业的运营速度决定了它能否继续吸引客户群并蓬勃发展。当初因可预测性和稳定性而备受喜爱的那些企业现在被迫摈弃对这些优点的热情,需要与新时代以速度见长的后起之秀相匹敌或竞争。对速度的渴求无比迫切。

通过云原生计算获得速度的旅程并非没有陷阱。在开始迈上获得速度的旅程之前,企业需要考虑清楚几个关键的方面。

将应用程序重写为原生云的成本仍然很高,这方面的风险可能无法证明有必要搞原生云。同样,在金融服务、保险和医疗保健等受监管行业,监管机构常常对所有数据移至云端惴惴不安。原因不一,有的是缺少了解云原生技术的工作人员,有的是对云服务提供商(CSP)保护客户数据的能力有所担忧。

由于云服务提供商市场快速整合,企业将面临少数几个选择:AWS、Azure、GCP(开源替代技术OpenStack尚未达到临界规模),这些CSP可能会成为“重要的外包商”,它们控制着企业组织的关键功能。

此外,万一出现安全泄密,大量客户数据集中在个别几家CSP可能意味着灾难,不过客户数据放在CSP处比放在本地数据中心来得更安全这种观点有其道理。还有一些隐私方面的顾虑:CSP会不会分析海量数据以牟取私利(还记得Cambridge Analytica吗?)。虽然有一些令人满意的技术方案:从强加密到分片(将数据分成多个块并存储在CSP许多不同地区的方法),但监管部门对此却仍有所担忧,对金融服务、保险和医疗保健这些处理敏感客户数据的行业来说尤为如此。

为了解决上述问题,几家高瞻远瞩的企业组织正在采用一种兼顾的“混合多云”方法:将关键应用程序留在内部,将AWS用于一组功能,而将Azure和GCP用于另外几组功能。应用程序的容器化是这个方法的核心,谷歌Anthos就是一个典例,它表明了本地环境、私有云和公共云可以无缝共存。

从技术角度来看,企业在采用云原生计算时主要有三个选择

将所有内容重写成云原生――这个选择成本高昂但回报丰厚。虽然云原生的好处很诱人,但对于仅在威斯康星州运营,投入成本以构建有助于在全球范围内扩展的功能的银行来说,这可能不明智。相反,关注云原生功能以扩大其市场范围,这方面倒是有几个机会。新市场和新客户群意味着现金充裕的企业组织可以追逐新的利润池。

针对云进行优化――这个选择需要更改应用程序的某些部分,比如它使用的存储、进行少量更改以采用微服务以及将功能作为API来提供,从而充分利用与众多SaaS提供商和合作伙伴进行协作的机会。大多数企业选择了这条路。虽然这可能不像原生云方案那样完全有效,但它提供了开始的契机。

将应用程序原封不动地迁移到云――这种选择最省事,企业可以将应用程序迁移到云,无需在利用弹性基础架构功能方面作任何改变。对于不太关键的应用程序、COTS应用程序和不再积极开发的老式应用程序而言,这不失为一个选择。

向云原生转变有好几条路,技术、架构和流程方面有几个选择。很显然,这是重要的旅程,需要引起CEO的注意。云原生计算不再是可以单单交给IT团队就行的方案,因为它带来了关键的业务功能和急需的速度,以便在瞬息万变的世界保持重要性和竞争力。

许多企业采取自下而上的以应用程序为中心的短期方法,从长远来看,这可能造成更大的危害,因为云原生行业一直在发展变化,过去很强大的功能可能在明天变得完全无关紧要。因此,在公司旨在实现的成果、一系列业务战略、旨在执行这些战略的功能、为交付这些功能而构建的应用程序以及一直在交付服务的流程之间建立可追溯性就显得至关重要。

最后,采用云原生计算的10条戒律

●如果贵公司的性质不希望你成为谷歌,无需成为谷歌。切莫过于复杂。

●在业务成果、战略、功能和应用程序之间建立可追溯性。

●明确哪些功能将留在内部、哪些功能可以托管在私有云中以及哪些功能可以托管在公共云中。

●明确哪些应用程序完全可以移植到云端、哪些可以针对云进行优化以及哪些可以针对云原生进行重写。

●专注于将“客户放在首位”的一系列执行。如果贵公司的活动不会提高收入或利润,就要质疑一切。

●采用“混合多云”方法。记住,贵公司追求的是竞争能力,而不是新潮的技术。

●建立一套强大的敏捷优先的工程方法,并适合贵公司。

●倡导持续创新和试验的文化。

●参与API经济。

●这个行业不乏牛皮大王,我们在经历根本性转变时更是如此。小心避开他们。成功没有捷径可言。

欢迎来到云原生时代!

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论