做者 | 李响 阿里云资深技术专家编程
关注“阿里巴巴云原生”公众号,回复关键词“容器”,可下载云栖大会容器专场所有 PPT微信
摘要:利用云原生技术构建应用简便快捷,部署应用轻松自如,运行应用按需伸缩。现在,云原生已经成为下一代技术发展的趋势。在 2019 杭州云栖大会开发者峰会上,阿里巴巴资深技术专家李响就为你们分享了阿里巴巴的云原生技术与开发者的那些故事。
云原生的本质目标就是充分释放云计算带来的红利,阿里巴巴但愿开发者可以使用云上极致弹性的资源交付能力,也可以使用云上极为便捷的产品和服务。阿里巴巴实践云原生也已经走过了几年时间,并在去年启动了全站上云。阿里巴巴但愿业务能够更好地拥抱云,更加全面地推动云原生。架构
云原生既带来了技术红利,同时也带来了业务红利。框架
谈到实践云原生,其实能够从 Kubernetes 这个云原生的基石开始。从 Kubernetes 开始实践云原生的缘由主要有两点:less
阿里巴巴的规模很是庞大,内部有超过 10 个集群,超过 10 万个节点,以及超过百万级别的容器。那么,开源技术和开源项目是否可以承受阿里巴巴的体量?可以抗住双11峰值规模的考验呢?运维
阿里巴巴坚信必定要和上游共建生态,阿里不但愿只是去 Fork
Kubernetes,而但愿去锤炼和打造 Kubernetes,所以有三个策略:机器学习
在最近发布的 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 自己也存在几个问题:
阿里巴巴但愿在今年的双 11 考验 FaaS 服务的极致弹性和极致的启动时间,阿里也会把 FaaS 的研究结果及时反馈到上游和阿里云中去,为广大开发者提供更大的便利和红利。
阿里巴巴与蚂蚁金服对于核心开源社区的云原生领域都作出了巨大的贡献,而且在 etcd、Kata Containers、Containerd 以及 Dragonfly 等项目中都有核心 Maintainer。除这些项目外,咱们也会持续向 Kubernetes 等云原生其余领域提供贡献,但愿经过咱们的努力,可让云原生成为一个稳定、可靠的技术,成为企业将来的 IT 基石。
阿里巴巴在中国的开源社区以及开发者社区中有深厚的积累,以前就一直在运做不少开源项目。阿里巴巴但愿用自身构建的土壤引领中国开发者走向云原生模式。
Dubbo 是国内最受开发者欢迎的微服务引擎之一,最近阿里把 Dubbo 捐献给了 Apache 基金会,但愿它能够成为更加开放、更加标准的微服务引擎,但愿可以与社区和开发者共建这个引擎。
如今,阿里巴巴对 Apache Dubbo 有了新的指望,但愿 Apache Dubbo 可以成为更云原生的微服务框架。所以,在 Apache Dubbo 将来的演进道路中,有三个具体目标:
Nacos 是阿里巴巴去年开源的一个项目,开源以后很快就收到了普遍的好评。目前在 GitHub 上有超过 8000 个 Star,也有数十家企业已经将 Nacos 应用到了生产环境中。Nacos 自己在阿里巴巴内部也支撑了巨大致量微服务的注册。Nacos 的研发目标是简单且易用,其提供了一组很是简单的 API,方便开发者使用 HTTP 或 DNS 进行服务发现。阿里巴巴但愿 Nacos 可以成为联动传统微服务框架和云原生微服务框架的桥梁,所以也但愿 Nacos 既能够注册传统服务,又能注册云原生服务,让两边的服务实现互融互通。这样才能帮助阿里巴巴以及广大开发者平滑、稳定地从传统服务治理模式演进到云原生的服务治理模式。
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 的桥梁。
Deep Learning 是一个和云原生同一时代发展起来的领域。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,但愿借助这样的活动拉近阿里巴巴和线下开发者的距离,倾听开发者的声音,了解开发者对社区的需求。也但愿促进国内开发者的线下互动,增进相互了解,共同推进云原生领域在中国的落地和发展。
“ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,作最懂云原生开发者的技术公众号。”
搜索「阿里巴巴云原生公众号」获取更多K8s容器技术内容