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

摘要:利用云原生技术构建应用简便快捷,部署应用轻松自如,运行应用按需伸缩。如今,云原生已经成为下一代技术发展的趋势。在 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,希望借助这样的活动拉近阿里巴巴和线下开发者的距离,倾听开发者的声音,了解开发者对社区的需求。也希望促进国内开发者的线下互动,增进相互了解,共同推动云原生领域在中国的落地和发展。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517690.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(企业案例)使用Nacos持久化规则,改造sentinel-dashboard

文章目录一、前言1. 版本选取2. 克隆代码3. 导入 IDEA二、全局修改2.1. 修改 POM2.2. 修改配置文件三、后端代码修改3.1. 包结构部分3.2. nacos 配置文件四、创建规则与 Nacos 交互类4.1. 创建授权规则与 Nacos 交互类4.2. 创建降级规则与 Nacos 交互类4.3. 创建流控规则与 Nac…

如何基于 Nacos 和 Sentinel ,实现灰度路由和流量防护一体化

Nepxion Discovery框架在实现灰度发布和路由功能前提下,结合Nacos和Sentinel,对流量再实施一层防护措施,更能达到企业级的流量安全控制的目的。它的功能包括: 封装远程配置中心和本地规则文件的读取逻辑,即优先读取远…

神操作!一行Python代码搞定一款游戏?给力!

来源:pypl编程榜一直以来Python长期霸占编程语言排行榜前三位,其简洁,功能强大的特性使越来越多的小伙伴开始学习Python 。甚至K12的同学都开始学习Python 编程。新手入门的时候趣味性其实最重要的。那么一行Python 代码到底能玩出什么花样&a…

详解阿里云数据中台,一篇文章全面了解大数据“网红”

一直想写一篇关于数据中台正面文章,现在有闲时做些总结,想充分诠释一下DT内部人如何看待数据中台。 数据中台的概念是最早由阿里巴巴首次提出,是为了应对内部众多业务部门千变万化的数据需求和高速时效性的要求而成长起来的,它既要…

云原生时代,蚂蚁金服公开了新的金融混合云架构

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。我们将其中的优秀演讲整理成文并…

Python 薪资降温?不存在的

当你学习编程时,最先被困扰在哪一步?是不是很容易陷入在语法之类的细节而忽视基础概念?解决当前任务的最佳方法是什么?在多种编程语言之间来回切换,却感觉不到效率的提高?0 基础学习编程,最先入…

隐私与AI兼得,蚂蚁金服是如何做到的?

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。我们将其中的优秀演讲整理成文并…

Nacos配置中心规范

文章目录一、版本选取和概念理解1. 版本选择2.Namespace3. 如何进行配置和服务的管理、隔离(Group)二、方案选取1. 命名空间创建2. Namespace实施方案三、nacos配置实战3.1. dev环境配置创建3.2. test环境配置创建四、代码coding实战4.1. 创建2项目4.2. …

干货|Flutter 原理与闲鱼深度实践

王康(正物)—— Flutter 官方成员 阿里巴巴技术专家,之前主要负责 Flutter 在闲鱼中的混合开发体系,目前重点关注 Flutter 深入度以及生态相关的工作。本文将分享三方面内容, Flutter 的原理、 Flutter 在闲鱼中的应用…

云计算,巨头们的背水一战

作者 | 马超责编 | 伍杏玲头图 | CSDN 下载自视觉中国出品 | CSDN(ID:CSDNnews)最近国内各IT巨头技术布局都颇有看点,先是腾讯宣布将投入5000亿,用于新基建的进一步布局(将重点投入云计算、人工智能、区块链…

基于函数计算的 Serverless AI 推理

前言概述 本文介绍了使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖、一键部署、本地调试以及压测评估, 全方位展现函数计算的开发敏捷特性、自动弹性伸缩能力、免运维和完善的监控设施。 1.1 DEMO 概述 通过上传一个…

《Flutter in action》开放下载!闲鱼Flutter企业级实践精选

复制链接到浏览器 https://yq.aliyun.com/download/3792?utm_contentg_1000081730 下载。 闲鱼是国内最早使用Flutter的团队,也是Flutter业务线渗入最深的团队之一。 现在承载亿级流量的闲鱼将多年最佳实践经验整理成册,《Flutter in action》 正式面世…

阿里HBase高可用8年抗战回忆录

前言 2011年毕玄和竹庄两位大神将HBase引入阿里技术体系,2014年接力棒转到东8区第一位HBase commiter天梧手中,多年来与淘宝、旺旺、菜鸟、支付宝、高德、大文娱、阿里妈妈等几乎全BU合作伙伴携手共进,支撑了双十一大屏、支付宝账单、支付宝…

nginx 1.9.9 Linux 环境安装

文章目录一、软件下载和安装Nginx相关依赖1. 安装Nginx相关依赖2. 下载Nginx二、源码安装Nginx2.1. 解压2.2. nginx默认配置2.3. 编译安装2.3. 查找安装路径2.4.启动nginx2.5. 查看是否启动成功一、软件下载和安装Nginx相关依赖 1. 安装Nginx相关依赖 yum -y install gcc zli…

Java面向对象部分小结

Java面向对象部分小结 第一天: 1. 了解面向对象和面向过程 2. 对象是什么,静态特性(属性),动态特征(方法) 3. 类和对象的关系 类是抽象的,对象是具体的类是具有相同属性和行为(…

音视频应用驶入快车道 开发者如何快速追赶这波技术红利?

受访人 | 融云CPO 任杰 作者 | June 图片来源 | 视觉中国 毋庸置疑,随着5G时代的到来,实时音视频技术将会上升到一个全新的高度。 5G时代发生巨变的远远不止网速,凭借5G网络的高带宽,低延迟和大并发性,音视频应用场…

Mysql 8.0 安装教程 Linux Centos7

文章目录一、软件下载上传1. 下载2. 上传二、软件安装配置2.1. 解压mysql2.2. 创建data文件夹 存储文件2.3. 创建用户组以及用户和密码2.4. 授权用户2.5. 切换到bin目录下2.6. 编辑my.cnf文件2.7. 添加mysqld服务到系统2.8. 授权以及添加服务2.9. 启动mysql2.10. 查看启动状态2…

重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源

Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长。但同时我们也关注到,Kubernetes 的核心 API 资源比如 Service、Deployment 等,实际上只是应用中的不同组…

今天的作业 --- 去重

使用Set的写法: public String myMethod1(String str){ //Set方法Set setnew HashSet();for (int i 0; i < str.length(); i) {set.add(str.charAt(i));}String s "";for (Object o :set) {so;}return s;}由于Set集合内不会存储重复的字符,所以…

2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态

《2020年国务院政府工作报告》提出&#xff0c;重点支持「两新一重」建设。其中「两新一重」中的第一个「新」&#xff0c;就是新基建&#xff0c;而人工智能是新基建的重要组成部分。新基建首次被纳入政府工作报告后&#xff0c;各大科技厂商纷纷押注&#xff0c;重金投向「新…