阿里巴巴的云原生与开发者

作者 | 李响 阿里云资深技术专家

关注“阿里巴巴云原生”公众号,回复关键词“容器”,可下载云栖大会容器专场全部 PPT

摘要:利用云原生技术构建应用简便快捷,部署应用轻松自如,运行应用按需伸缩。如今,云原生已经成为下一代技术发展的趋势。在?2019?杭州云栖大会开发者峰会上,阿里巴巴资深技术专家李响就为大家分享了阿里巴巴的云原生技术与开发者的那些故事。

为什么选择云原生?

云原生的本质目标就是充分释放云计算带来的红利,阿里巴巴希望开发者能够使用云上极致弹性的资源交付能力,也能够使用云上极为便捷的产品和服务。阿里巴巴实践云原生也已经走过了几年时间,并在去年启动了全站上云。阿里巴巴希望业务可以更好地拥抱云,更加全面地推进云原生。

云原生既带来了技术红利,同时也带来了业务红利。

  • 在资源效率方面,云原生为资源效率带来了极大提升。使用容器、调度等技术不仅提高了单机维度的部署密度和资源效率,还提高了集群维度资源配置的合理性和使用率。除此之外,将业务搬到云上,还可以使用云的极致弹性的资源交付能力,既能够应对流量洪峰,也降低了资源的使用成本。
  • 在开发效率方面,使用?Kubernetes?这样的平台增强了运维自动化的能力,也增强了对应用和资源进行编排的能力,并降低了运维负担,提高了开发效率。同时,阿里云也在推动?CI/CD 系统的演进,希望加速应用从完成到上线的过程,并提高这一过程的稳定性和确定性,提高开发人员迭代的信心。此外,阿里云也希望将通用框架下沉到基础设施中,使得开发者能够在多语言的环境下更容易地接入和使用平台的能力,其中具有代表性的就是对服务网格的探索。
  • 在标准与开放方面,通过云原生可以帮助阿里巴巴实现基础设施和生态标准的完全融合。这不仅可以将开源生态中的新技术、新理念引入到阿里巴巴的基础设施中,利用阿里内部的大规模场景和复杂业务进行打磨、锤炼,并将经过打磨的结果回馈给社区,让它带给广大开发者更多的技术红利。还可以将打造的技术引入阿里云,打造出一套完整的云原生产品技术家族,帮助云上的开发者。

从 Kubernetes 开始

谈到实践云原生,其实可以从?Kubernetes?这个云原生的基石开始。从?Kubernetes?开始实践云原生的原因主要有两点:

  • 一是?Kubernetes?向下可以对接各种不同的资源层,既可以对接像阿里云这样的公有云,也可以对接专有云,因此可以利用?Kubernetes?构建混合云平台。
  • 二是?Kubernetes?向上提供了强大的自动化运维能力、编排能力以及强大的拓展性,因此可以在?Kubernetes?上层构建一些垂直性的平台能力,比如可观测性、服务治理以及无服务化。基于这些垂直能力,可以进一步构建更贴近业务的平台,这也正是?Kubernetes?本身“Platform for Platform”的定位。

阿里巴巴的规模

阿里巴巴的规模非常庞大,内部有超过?10?个集群,超过?10?万个节点,以及超过百万级别的容器。那么,开源技术和开源项目是否能够承受阿里巴巴的体量?能够抗住双11峰值规模的考验呢?

阿里巴巴坚信一定要和上游共建生态,阿里不希望只是去?Fork
Kubernetes,而希望去锤炼和打造?Kubernetes,因此有三个策略:

  • 第一个策略是对自身业务进行负载的追踪和模拟,并将追踪和模拟的结果应用到?Kubernetes?云原生体系中进行测试。
  • 第二个策略是对于测试过程中发现的规模性问题,会持续优化,并反馈到上游,使得整个社区受益,进而推动云原生领域的发展。
  • 第三个策略是持续推动社区去接受这些可扩展的能力,阿里巴巴也定制了自己的调度器和控制器,来满足自身的业务场景。

Kubernetes 1.16?和?etcd 3.4

在最近发布的?Kubernetes 1.16?和?etcd 3.4?版本中,阿里巴巴和蚂蚁金服也一同作出了大量贡献,单机的数据存储规模提升了?50?倍,单集群节点规模也提升了?3?倍,完全可以满足阿里巴巴这样体量的公司在双?11?这种场景下的需求。今年的?618,蚂蚁金服已经对?Kubernetes?集群进行了验证,在即将到来的双?11,阿里会对?Kubernetes?集群进行再次验证。如果阿里巴巴可以使用?Kubernetes?作为云原生的基石,相信?99.9%?的企业都可以信任?Kubernetes?以及云原生技术。

应用运维与交付

除了云原生的基石?Kubernetes?以外,阿里巴巴还希望推动整体基础设施的全面升级,希望把云原生技术的红利传导到更上层。

基础设施中一个重要的应用就是交付和运维,以前面向虚拟机的交付和运维非常复杂,并且不同企业有自己不同的运维模式和方法,可能是手动也可能是半自动,甚至在同一家企业内,运维手段也不尽相同。云原生倡导的是统一的平台和统一的理念,希望能够实现自动化运维,因此构建统一的应用模型和统一的应用架构分层就非常重要。

因此,阿里巴巴也同社区一起在推进云原生领域中应用交付与运维分层模型。并且将这一理念在阿里内部进行了规模化落地,目前已经推动了阿里内部的?4?个应用管理产品线面向云原生全面升级,构建了?100?多个应用。阿里认为这套应用结构非常有意义和价值,因此也与?CNCF?成立了应用交付领域小组,并由阿里的张磊担任小组联系主席?,希望与社区一起推进这个项目。

服务网格

在云原生领域中,位于更上层的系统就是服务网格。服务网格的好处在于具有强大的多语言支持能力,能够降低业务对接服务治理的难度,更易于实现统一的基础设施升级。在真正的实践中,Service Mesh?也会面临一些挑战,比如如何支持更多的协议,能否在大规模场景下得以较好运用,数据链路、服务面是否足够稳定等。

为了解决 Service Mesh 面临的上述挑战,阿里巴巴和蚂蚁金服率先决定选用一套与社区兼容的体系,并在阿里巴巴和蚂蚁金服内部的云原生系统当中进行打磨。今年 618 蚂蚁金服已经完成核心系统上到 SOFAMosn 的验证工作,在马上来临的今年的双 11,阿里巴巴和蚂蚁金服将会在核心系统大规模上线 Service Mesh,同时会把自身技术演进的结果及时反馈到上游去,和社区一起把 Service Mesh 从一个非常先进的技术变成一个非常稳定和可靠的技术,并且会在阿里云推出?Service Mesh?服务,让阿里云上的开发者能够便捷地使用服务网格技术。

FaaS

FaaS 是开发人员非常喜欢的技术和概念,它可以极大地提升开发效率,使得开发者无需关注脚手架,可以直接以响应式模式来填充代码。同时,FaaS?可以帮助大家实现自动的扩容和缩容,当遇到问题时也可以帮助大家自动恢复,免去了运维的困扰。

但?FaaS?本身也存在几个问题:

  • 第一个问题是如何找到一个既能够适应不同业务,也能够适应复杂业务逻辑的编程模型。
  • 第二个问题是如何在提供运维和弹性的自动化能力的同时,不增加额外的开销。

阿里巴巴希望在今年的双?11?考验?FaaS?服务的极致弹性和极致的启动时间,阿里也会把?FaaS?的研究结果及时反馈到上游和阿里云中去,为广大开发者提供更大的便利和红利。

开源社区贡献

阿里巴巴与蚂蚁金服对于核心开源社区的云原生领域都做出了巨大的贡献,并且在?etcd、Kata Containers、Containerd?以及?Dragonfly?等项目中都有核心?Maintainer。除这些项目外,我们也会持续向?Kubernetes?等云原生其他领域提供贡献,希望通过我们的努力,可以让云原生成为一个稳定、可靠的技术,成为企业未来的?IT?基石。

引领开发者走向云原生

阿里巴巴在中国的开源社区以及开发者社区中有深厚的积累,之前就一直在运作很多开源项目。阿里巴巴希望用自身构建的土壤引领中国开发者走向云原生模式。

Dubbo

Dubbo 是国内最受开发者欢迎的微服务引擎之一,最近阿里把?Dubbo?捐献给了?Apache?基金会,希望它可以成为更加开放、更加标准的微服务引擎,希望能够与社区和开发者共建这个引擎。

现在,阿里巴巴对?Apache Dubbo?有了新的期望,希望?Apache Dubbo?能够成为更云原生的微服务框架。因此,在?Apache Dubbo?未来的演进道路中,有三个具体目标:

  • 第一个目标是希望?Apache Dubbo?作为?RPC?框架可以更好地结合?Service Mesh,并对?Apache Dubbo?进行一定程度的瘦身,将一些能力下沉到?Service Mesh?上去。
  • 第二个目标是希望?Apache Dubbo?可以变得更加标准,能够和其他生态体系互融互通,能够支持?HTTP/2,能够融入?gRPC、Spring Cloud、Kubernetes?体系,为开发者提供更多选择。
  • 第三个目标是希望提升?Dubbo?本身的可观测性,支持?OpenTracing?等,使得基于?Apache Dubbo?构建的分布式系统能够具备更高的可运维能力。

Nacos

Nacos 是阿里巴巴去年开源的一个项目,开源之后很快就收到了广泛的好评。目前在?GitHub?上有超过?8000?个?Star,也有数十家企业已经将?Nacos?应用到了生产环境中。Nacos?本身在阿里巴巴内部也支撑了巨大体量微服务的注册。Nacos?的研发目标是简单且易用,其提供了一组非常简单的?API,方便开发者使用?HTTP?或?DNS?进行服务发现。阿里巴巴希望?Nacos?能够成为联动传统微服务框架和云原生微服务框架的桥梁,因此也希望?Nacos?既可以注册传统服务,又能注册云原生服务,让两边的服务实现互融互通。这样才能帮助阿里巴巴以及广大开发者平滑、稳定地从传统服务治理模式演进到云原生的服务治理模式。

Apache RocketMQ

Apache RocketMQ?也是一个来自阿里巴巴的开源消息系统,它的目标是低延迟、高可靠、高稳定。Apache RocketMQ?在国内也收到了广大开发者的好评,并且今年在各大城市都举办了?Apache
RocketMQ?开发者自发组织的?Meetup。除此之外,阿里云还提供了丰富的消息产品家族,而它们的内核都是?Apache RocketMQ。

未来,阿里巴巴也希望?Apache RocketMQ?可以进一步融入云原生。希望?Apache RocketMQ?更有弹性,能够做到自动的扩容和缩容,也希望它能够更容易地被部署和运维。因此,现在阿里巴巴也在做?Apache RocketMQ Operator,希望能够让?Apache RocketMQ?更容易地融入到?Kubernetes?生态体系中。此外,阿里巴巴也希望?Apache RocketMQ?能够更加开放和标准,并且目前在推广?OpenMessaging?标准协议,希望让?Apache RocketMQ?兼容?Cloudevent?体系,成为?Serverless?的桥梁。

ElasticDL

Deep Learning?是一个和云原生同一时代发展起来的领域。Deep Learning?对两件事情有很高的要求:

  • 第一件事情是资源效率,Deep Learning?需要利用巨大的算力做?Training。
  • 第二件事情是?Deep Learning?对模型和调参的迭代效率有非常高的要求,并且从模型训练完成到上线的过程需要自动化能力。

因此,Deep Learning?可以和云原生进行完美的融合,可以利用容器和调度的能力,把集群内部的异构资源合理地分配给?Deep Learning?框架使用,也可以将云原生所推广的自动化部署和运维能力提供给?Deep
Learning,缩短?Deep Learning?模型端到端上线的时间,增强?AI?的核心竞争力。

ElasticDL?是蚂蚁金服刚刚发布的新一代基于云原生的开源?AI?学习平台,它的架构基于原生的?Kubernetes?体系,因此具有强大的容错能力和弹性调度能力。另外,ElasticDL?能够支持新一代的?TensorFlow 2.0?框架,也希望引领?AI?开发者走向新一代的机器学习。未来,ElasticDL?会支持更多的?AI?模型,让它本身变得更强大,也会更好地融入云原生体系和?Kubernetes?体系。

云原生技术公开课

除了对开源技术的贡献之外,阿里巴巴认为在知识、理念方面的推动也非常重要。因此,在今年年初,阿里巴巴上线了和?CNCF?联合出品的云原生技术公开课,目前服务了超过?1?万名开发者。后续,阿里巴巴还将会把课程的内容文字化,方便大家利用零散时间进行阅读。此外,阿里巴巴也正在做云原生技术手册,希望可以采访一些中小型公司和互联网企业,探讨他们在云原生领域的实践。阿里巴巴希望不仅能够为大家提供理念上的知识,还可以提供实践上的帮助。

云原生与开源 Meetup

最后,阿里巴巴也在举办很多云原生以及开源相关的?Meetup,希望借助这样的活动拉近阿里巴巴和线下开发者的距离,倾听开发者的声音,了解开发者对社区的需求。也希望促进国内开发者的线下互动,增进相互了解,共同推动云原生领域在中国的落地和发展。

“ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”

原文地址:https://www.cnblogs.com/alisystemsoftware/p/11671172.html

时间: 2024-10-10 09:13:29

阿里巴巴的云原生与开发者的相关文章

重磅发布 | 《不一样的 双11 技术,阿里巴巴经济体云原生实践》电子书开放下载

2019 双11,订单创新峰值达到 54.4 万笔/秒,单日数据处理量达到 970PB,面对世界级流量洪峰,今年的阿里巴巴交出了一份亮眼的云原生技术成绩单,并实现了100% 核心应用以云原生的方式上云: 双11 基础设施 100% 上云 支撑 双11 在线业务容器规模达到 200 万 采用神龙弹性裸金属服务器计算性价比提升 20%? 这些数据背后是对一个个技术问题的反复尝试与实践.这一次,我们对云原生技术在 双11 的实践细节进行深挖,筛选了其中 22 篇有代表性的文章进行重新编排,整理成书<不

双11 背后的全链路可观测性:阿里巴巴鹰眼在“云原生时代”的全面升级

点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者: 周小帆(承嗣)? 阿里云中间件技术部高级技术专家 王华锋(水彧)??阿里云中间件技术部技术专家 徐彤(绍宽)??阿里云中间件技术部技术专家 夏明(涯海)??阿里云中间件技术部技术专家 导读:作为一支深耕多年链路追踪技术 (Tracing) 与性能管理服务 (APM) 的团队,阿里巴巴中间件鹰眼团队的工程师们见证了阿里巴巴基

CNCF官方大使张磊:什么是云原生?

作者|张磊 阿里云容器平台高级技术专家,CNCF 官方大使 编者说: 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Google.AWS.Azure.Alibaba Cloud 等大型云计算供应商都加入了云原生基金会?CNCF,云原生技术也从原来的应用容器化发展出包括容器.Service Mesh.微服务.不可变基础设施.Serverless.FaaS 等众多技术方向,CFCF 旗下也囊括了越来多的开源项目. Kub

如何保障云上数据安全?一文详解云原生全链路加密

点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者李鹏(壮怀)阿里云容器服务高级技术专家黄瑞瑞? 阿里云技术架构部资深技术专家 导读:对于云上客户而言,其云上数据被妥善的安全保护是其最重要的安全需求,也是云上综合安全能力最具象的体现.本文作者将从云安全体系出发,到云数据安全,再到云原生安全体系对全链路加密进行一次梳理,从而回答:在云原生时代,全链路加密需要做什么?如何做到?以

PouchContainer 容器技术演进助力阿里云原生升级

点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 作者 | 杨育兵(沈陵) 阿里巴巴高级技术专家 我们从 2016 年开始在集团推广全面的镜像化容器化,今年是集团全面镜像化容器化后的第 4 个 双11,PouchContainer 容器技术已经成为集团所有在线应用运行的运行时底座和运维载体,每年 双11 都有超过百万的 PouchContainer 容器同时在线,提供电商和所有相关的在线应用平稳运行的载体,保障大促购物体验的顺滑. 我们通过 PouchContainer 容器运行时

持续投入开源社区建设 | 阿里巴巴又一开源项目被列入 CNCF 云原生全景图

近日,阿里巴巴服务发现和配置管理领域开源项目Nacos被列入云原生全景图谱配置管理和服务发现象限,这是继Dragonfly.Dubbo.RocketMQ.OpenMessaging. PouchContainer和Sentinel后,阿里巴巴又一开源项目被列入该图谱.借助Nacos,用户在云原生时代构建微服务架构时,可极大的降低生产上的落地难度和实施风险. CNCF(Cloud Native Computing Foundation)于 2015 年 7 月成立,隶属于 Linux 基金会,初衷

9 年云原生实践全景揭秘|《阿里巴巴云原生实践 15 讲》正式开放下载

以容器.服务网格.微服务.Serverless 为代表的云原生技术,带来一种全新的方式来构建应用.同时,云原生也在拓展云计算的边界,一方面是多云.混合云推动无边界云计算,一方面云边端的协同.在云的趋势下,越来越多的企业开始将业务与技术向“云原生”演进. 在这个演进过程中,企业都或多或少都面对一些困惑与挑战,其中如何将应用和软件向 Kubernetes 体系进行迁移.交付和持续发布是一个普遍的难题. 阿里巴巴从 2011 年开始通过容器实践云原生技术体系,在整个业界都还没有任何范例可供参考的大背境

阿里巴巴 Kubernetes 能力再获 CNCF 认可 | 云原生生态周报 Vol. 32

作者 | 丁海洋? 陈有坤 李鹏? 孙健波 业界要闻 阿里巴巴 Kubernetes 技术能力再获 CNCF 认可 CNCF 官网发布博文<Demystifying Kubernetes as a Service – How Alibaba Cloud Manages 10,000s of Kubernetes Clusters>.这篇长文从为什么需要超大数量的 K8s 集群,以及如何高效的管理这些集群出发,系统介绍了 Alibaba 在 Kubernetes 上取得的成绩. GitHub 欲

给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践

作者 | 孙健波(天元)? 阿里巴巴技术专家本文整理自 11 月 21 日社群分享,每月 2 场高质量分享,点击加入社群. 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LXC 技术构建容器,然后逐渐切换到 Docker,自研了大规模编排调度系统.到了 2018 年,我们团队依托 K8s 体系开始推进"轻量级容器化",同时投入了工程力量跟开源社区一起解决了诸多规模与性能问题,从而逐步将过去"类虚拟机"的运维链路和阿里巴巴整体应用基础设施架构升