OAM

阿里巴巴 Kubernetes 应用管理实践中的经验与教训

拈花ヽ惹草 提交于 2019-12-04 11:34:28
作者 | 孙健波(阿里巴巴技术专家)、赵钰莹 导读 :云原生时代,Kubernetes 的重要性日益凸显。然而,大多数互联网公司在 Kubernetes 上的探索并非想象中顺利,Kubernetes 自带的复杂性足以让一批开发者望而却步。本文中,阿里巴巴技术专家孙健波在接受采访时基于阿里巴巴 Kubernetes 应用管理实践过程提供了一些经验与建议,以期对开发者有所帮助。 在互联网时代,开发者更多是通过顶层架构设计,比如多集群部署和分布式架构的方式来实现出现资源相关问题时的快速切换,做了很多事情来让弹性变得更加简单,并通过混部计算任务来提高资源利用率,云计算的出现则解决了从 CAPEX 到 OPEX 的转变问题。 云计算时代让开发可以聚焦在应用价值本身,相较于以前开发者除了业务模块还要投入大量精力在存储、网络等基础设施,如今这些基础设施都已经像水电煤一样便捷易用。云计算的基础设施具有稳定、高可用、弹性伸缩等一系列能力,除此之外还配套解决了一系列应用开发“最佳实践”的问题,比如监控、审计、日志分析、灰度发布等。原来,一个工程师需要非常全面才能做好一个高可靠的应用,现在只要了解足够多的基础设施产品,这些最佳实践就可以信手拈来了。但是,在面对天然复杂的 Kubernetes 时,很多开发者都无能为力。 作为 Jira 和代码库 Bitbucket 背后的公司,Atlassian 的

阿里巴巴的云原生应用开源探索与实践

自古美人都是妖i 提交于 2019-12-04 11:10:49
作者 | 司徒放(姬风) 阿里巴巴技术专家 本文整理自司徒放(姬风)题目为《开源的黄金时代,阿里巴巴云原生开源的探索与实践》的演讲。 关注“阿里巴巴云原生”公众号,回复关键词“开源”即可下载本文 PPT。 导读 :从拥抱开源、贡献开源、自主开源,到赋能开源,开源已升级为阿里技术战略之一,且正为开发者源源不断地输送切实可见的价值。云原生是阿里开源的重要领域,短短几年,以 K8s 为核心的云原生开源生态迅猛发展,这是全世界开发者合作杰出成果,也是开源力量的结晶。 阿里巴巴的应用架构演进 大家好,我是司徒放,目前在阿里巴巴负责阿里云的应用平台和微服务产品线。在和大家分享我们在云原生应用方面的探索之前,先和大家介绍一下阿里巴巴在整个应用架构方面的演进历程。 今年是阿里巴巴成立的二十周年,二十年前,阿里巴巴使用的这个应用的架构,还是单体应用模式,它有很多的业务模块都在一个应用里面,各个业务都在一个应用里面开发,这个架构的一个好处是简单,也非常容易部署,对小的创业公司来说是很方便的。它的缺点在于团队变大变多之后,不能满足快速迭代要求,因为每一个业务它需要去发布的时候,都需要在同一个应用上做修改、发布,当这个业务迭代非常快的时候,它同时的一个并发修改就非常多。 所以在 2008 年的时候,阿里巴巴就引进到了微服务架构,只是当时并不叫微服务,而是叫服务化架构。各个业务模式就按照服务的边界来拆分

阿里巴巴的云原生应用开源探索与实践

孤街醉人 提交于 2019-11-30 19:42:29
作者 | 司徒放(姬风) 阿里巴巴技术专家 本文整理自司徒放(姬风)题目为《开源的黄金时代,阿里巴巴云原生开源的探索与实践》的演讲。 关注“阿里巴巴云原生”公众号,回复关键词“开源”即可下载本文 PPT。 导读 :从拥抱开源、贡献开源、自主开源,到赋能开源,开源已升级为阿里技术战略之一,且正为开发者源源不断地输送切实可见的价值。云原生是阿里开源的重要领域,短短几年,以 K8s 为核心的云原生开源生态迅猛发展,这是全世界开发者合作杰出成果,也是开源力量的结晶。 阿里巴巴的应用架构演进 大家好,我是司徒放,目前在阿里巴巴负责阿里云的应用平台和微服务产品线。在和大家分享我们在云原生应用方面的探索之前,先和大家介绍一下阿里巴巴在整个应用架构方面的演进历程。 今年是阿里巴巴成立的二十周年,二十年前,阿里巴巴使用的这个应用的架构,还是单体应用模式,它有很多的业务模块都在一个应用里面,各个业务都在一个应用里面开发,这个架构的一个好处是简单,也非常容易部署,对小的创业公司来说是很方便的。它的缺点在于团队变大变多之后,不能满足快速迭代要求,因为每一个业务它需要去发布的时候,都需要在同一个应用上做修改、发布,当这个业务迭代非常快的时候,它同时的一个并发修改就非常多。 所以在 2008 年的时候,阿里巴巴就引进到了微服务架构,只是当时并不叫微服务,而是叫服务化架构。各个业务模式就按照服务的边界来拆分

KubeCon 2019 北美会议完美落幕| 云原生生态周报 Vol. 29

白昼怎懂夜的黑 提交于 2019-11-29 17:18:14
作者 | 陈俊、张晓宇、徐迪 业界要闻 KubeCon 2019 北美会议召开 业界最隆重的盛会 KubeCon+CloudNativeCon 今年在圣地亚哥举办,超过 12000 名参会者以及 100 多个云原生供应商出席了这次大会。本次大会中阿里巴巴经济体共有 8 个 Topic 亮相。 相关 Topic Fobes 挑选的 10 大最有趣官宣 KubeCon 北美 2019 年 PPT 合集分享 上游重要进展 1. Kubernetes 拟加入对 Cgroup v2 的支持 Kubernetes 的 Kubelet 和 Scheduler 拟加入对 Cgroup v2 的支持。 Cgroup v2 的一个大的特性是可以用非 root 用户操作做资源限制。该 KEP 的实现和下文的 《 使用非 root 权限模式运行 Kubernetes 组件 》KEP 息息相关。 2. 使用非 root 权限模式运行 Kubernetes 组件 目前有众多的厂商尝试使用非 root 的模式去运行 kubelet 组件和 CRI/OCI/CNI,但是因为一些接口需要使用 root 的权限不能实现。此 KEP 着重去改善 kubelet、kube-proxy 对于这方面的限制,同时 CRI/OCI/CNI 也有相关的工作去推进可以使用非 root 模式运行。 3. 提供 Immutable

KubeCon 2019 北美会议完美落幕| 云原生生态周报 Vol. 29

元气小坏坏 提交于 2019-11-29 17:16:23
作者 | 陈俊、张晓宇、徐迪 业界要闻 KubeCon 2019 北美会议召开 业界最隆重的盛会 KubeCon+CloudNativeCon 今年在圣地亚哥举办,超过 12000 名参会者以及 100 多个云原生供应商出席了这次大会。本次大会中阿里巴巴经济体共有 8 个 Topic 亮相。 相关 Topic Fobes 挑选的 10 大最有趣官宣 KubeCon 北美 2019 年 PPT 合集分享 上游重要进展 1. Kubernetes 拟加入对 Cgroup v2 的支持 Kubernetes 的 Kubelet 和 Scheduler 拟加入对 Cgroup v2 的支持。 Cgroup v2 的一个大的特性是可以用非 root 用户操作做资源限制。该 KEP 的实现和下文的 《 使用非 root 权限模式运行 Kubernetes 组件 》KEP 息息相关。 2. 使用非 root 权限模式运行 Kubernetes 组件 目前有众多的厂商尝试使用非 root 的模式去运行 kubelet 组件和 CRI/OCI/CNI,但是因为一些接口需要使用 root 的权限不能实现。此 KEP 着重去改善 kubelet、kube-proxy 对于这方面的限制,同时 CRI/OCI/CNI 也有相关的工作去推进可以使用非 root 模式运行。 3. 提供 Immutable

像智能手机一样管理云端应用:阿里云联合微软全球首发开放应用模型(OAM)

不打扰是莪最后的温柔 提交于 2019-11-29 16:00:26
2019 年 10 月 17 日上午 9 点 15 分,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟在 QCon 上海《基于云架构的研发模式演进》主题演讲中,正式宣布: “今天,我们同微软联合发布了一个全新的项目,叫做开放应用模型 Open Application Model(OAM)。” 项目主页: https://oam.dev/ 蒋江伟在发布中讲道:“OAM 这个项目是业界第一个云原生应用标准定义与架构模型。我们希望通过这样的架构模型,以高效、标准的方式连接应用开发者、运维人员和应用的最终用户,让这些云端应用的参与者能够享受到像智能手机上一样简单、轻松、畅快的应用管理体验。” 与此同一时间,微软杰出工程师(Distinguished Engineer) 、Kubernetes 项目创始人 Brendan Burns 也在微软的官方网站上,宣布了同阿里云的这次重量级联合发布。 图片来源: https://cloudblogs.microsoft.com/opensource/2019/10/16/announcing-open-application-model/ 你可能会好奇,到底什么是 OAM 呢?又是什么原因,让两家全球顶级技术公司走在一起,希望联合整个云原生技术社区共同推进这样一个应用定义与架构模型项目呢? 这个事情本身

全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23

徘徊边缘 提交于 2019-11-28 16:17:15
作者 | 临石、元毅、冬岛、衷源、天元 业界要闻 全球首个开放应用模型 OAM 开源 2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open Application Model (OAM)开源项目。OAM 的愿景是以标准化的方式沟通和连接应用开发者、运维人员、应用基础设施,让云原生应用管理与交付变得更加简洁,高效,并且可控。 KubeVirt 进入 CNCF Sandbox KubeVirt 尽管容器技术提供了各种便利,但是在特定情况下使用 VM 仍然是不可避免的(编者按:VM 只是选择之一,不同的安全容器解决方案都可以在不同方面代替单纯的 VM)。来自 Redhat 的 KubeVirt 项目可以提供在 K8s 集群内部准备、部署、运行和管理 VM 的能力,让用户可以使用 Pod 一样来使用一个 VM。现在,这个项目已经正式进入了 CNCF 的 Sandbox 了。 Megalix 发布 KubeAdvisor 1.0 版本 KubeAdvisor 日前发布了 1.0 版本。KubeAdvisor 一款辅助 K8s 运维的工具,能够扫描 K8s 集群的资源、状态、配置等,通过提供恰当的“可观测性”(编者按:眼花缭乱的监控数据和曲线图不等于可观测性)

4 个概念,1 个动作,让应用管理变得更简单

不羁的心 提交于 2019-11-28 15:40:45
作者: 刘洋(炎寻) EDAS-OAM 架构与开发负责人 邓洪超 OAM spec maintainer 孙健波(天元) OAM spec maintainer 随着以 K8s 为主的云原生基础架构遍地生根,越来越多的团队开始基于 K8s 搭建持续部署、自助式发布体验的应用管理平台。然而,在 K8s 交付和管理应用方面,目前还缺乏一个统一的标准,这最终促使我们与微软联合推出了首个云原生应用标准定义与架构模型 - OAM。本文作者将从基本概念以及各个模块的封装设计与用法等角度出发来详细解读 OAM。 OAM 主要有三个特点: 开发和运维关注点分离 :开发者关注业务逻辑,运维人员关注运维能力,让不同角色更专注于领域知识和能力; 平台无关与高可扩展 :应用定义与平台实现解耦,应用描述支持跨平台实现和可扩展性; 模块化应用部署和运维特征 :应用部署和运维能力可以描述成高层抽象模块,开发和运维可以自由组合和支持模块化实现。 OAM 综合考虑了在公有云、私有云以及边缘云上应用交付的解决方案,提出了通用的模型,让各平台可以在统一的高层抽象上透出应用部署和运维能力,解决跨平台的应用交付问题。同时,OAM 以标准化的方式沟通和连接应用开发者、运维人员、应用基础设施,让云原生应用交付和管理流程更加连贯、一致。 角色分类 OAM 将应用相关的人员划分为 3 个角色: 应用开发:关注应用代码开发和运行配置

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

拜拜、爱过 提交于 2019-11-25 21:46:26
作者 | 孙健波(天元) 阿里巴巴技术专家 本文整理自 11 月 21 日社群分享,每月 2 场高质量分享, 点击加入 社群。 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LXC 技术构建容器,然后逐渐切换到 Docker,自研了大规模编排调度系统。到了 2018 年,我们团队依托 K8s 体系开始推进“轻量级容器化”,同时投入了工程力量跟开源社区一起解决了诸多规模与性能问题,从而逐步将过去“类虚拟机”的运维链路和阿里巴巴整体应用基础设施架构升级到了云原生技术栈。 到了 2019 年,Kubernetes 基础设施底盘在阿里巴巴经济体中已经覆盖了阿里巴巴方方面面的业务,规模化的接入了包括核心电商、物流、金融、外卖、搜索、计算、AI 等诸多头部互联网场景。这套技术底盘,也逐步成为了阿里巴巴支撑 618、双11 等互联网级大促的主力军之一。 目前,阿里巴巴与蚂蚁金服内部运行了数十个超大规模的 K8s 集群,其中最大的集群约 1 万个机器节点,而其实这还不是能力上限。每个集群都会服务上万个应用。在阿里云 Kubernetes 服务(ACK)上,我们还维护了上万个用户的 K8s 集群,这个规模和其中的技术挑战在全世界也是首屈一指的。 我们的 Kubernetes 面临的新挑战 在规模和性能等基础设施领域问题逐步解决的同时,规模化铺开 Kubernetes 的过程中