Kubernetes 是业界领先的容器编排引擎,这极大地推动了 Kubernetes 生态内的服务在全球各主要公有云平台上的显著增长。但是,在 Kubernetes 的核心资源中诸如服务、部署等,从整个应用的角度来看,开发、配置、编排等却呈现出的离散状态。正是出于这样的考虑,微软与阿里云基于 Open Web 基金会展开合作,推出了开放应用模型(OAM)。
在今年微软最大的技术交流会议上 微软云 CEO Mark Russinovich 介绍了 OAM 和 DAPR两个帮助开发者更流畅开发的应用。
本次大会我们有幸邀请到 来自微软云美国的Dapr 项目组核心工程师以及来自阿里云的 OAM核心团队成员来向大家介绍两个最新的技术和应用。
*请参会者务必带上自己的电脑,我们将在下午的时候和大家一起来动手实践并体验一些有意思的功能。
关于Dapr 和 OAM您需要了解:
Dapr 是一个可移植的、由事件驱动的 Serverless 运行时,用于跨云和边缘构建分布式应用程序。10月9日,正式以 MIT 协议开源。Dapr 使开发人员能够轻松地构建弹性、无状态和有状态的微服务,让它们在云和边缘位置上运行,并包含了开发语言和框架的多样性。 Dapr 将构建微服务应用程序的最佳实践编纂成开放、独立的构建基块,使开发者能够使用自己选择的语言(已同时发布.NET、Java、JS、Go、Python的SDK)和框架构建可移植应用程序。每个构建基块都是独立的,开发者可以在应用程序中使用其中一个、部分或全部。
OAM 是一个专注于描述应用的标准规范。有了这个规范,应用开发实现就可以更好的与基础设施部署和管理应用的细节分开。这种关注点分离(Seperation of Conerns)的设计好处是非常明显的。举个例子,在实际生产环境中,无论是 Ingress , CNI,还是 Service Mesh,这些表面看起来一致的运维概念,在不同的 Kubernetes 集群中可谓千差万别。通过将应用定义与集群的运维能力分离,我们就可以让应用开发者更专注于应用本身的价值点,而不是”应用如何部署、如何配置“这样的运维细节。此外,关注点的分离让平台架构师可以轻松地把平台的运维能力封装成可被复用的组件,从而让应用开发者能够专注于将这些运维组件与代码进行集成,从而快速、轻松地构建可信赖的应用。Open Application Model 的目标是让简单的应用管理变得更加轻松,让复杂的应用交付变得更加可控。
大会语言:中文+英文
09:30 ~ 10:00
Signin / 入场签到
10:00 ~ 10:45
OAM introduction
OAM 介绍
Sudhanva Huruli - Microsoft PROGRAM MANAGER
10:45 ~ 11:30
Build Discoverable and Manageable CRD + Operator In Prod
阿里巴巴大规模 K8s Operator管理实践
Jianbo Sun, Senior Engineer in Alibaba, Rudr Maintainer
How many CRDs installed in your cluster? And how many Operators?
In Alibaba, the answer is hundreds per cluster.
As a result, we began to notice a tricky problem: the numbers of CRD and Operator are growing so rapidly that even ourselves are not able to tell accurately who is who, what is for. This indeed caused troubles: e.g. 1. capabilities of certain Operators are conflict w/ each other when applied to the same app, can we prevent this beforehand, 2. how to learn usage of a new Operator?
In this session, we will share how we built an open source CRD/Operator platform with community tools. It supports register and discover CRD with category, different operators can cooperate with each other, and fast confliction detection during app deploy. In web-scale clusters of Alibaba, this helps us to expose potential issues before app running and built a manageable CRD/Operator system indeed.
Kubernetes 拥有非常灵活的扩展性,而这些扩展能力通常都通过安装CRD和Operator来实现的。在Alibaba,我们每个集群要安装上百个Operator,用于解决研发、运维、基础设施等方方面面的需求。
随着 CRD 和 Operator 的不断增长,我们发现管理Operator越来越困难,我们很难精确让用户理解每个Operator的作用是什么。更重要的是,多个Operator之间甚至可能出现冲突,我们如何统一管理,预防冲突,也成为了一大难题。
本次演讲会首先介绍阿里在基于 Kubernetes 项目进行大规模应用实践过程中遇到的真实问题。然后介绍我们如何通过开放应用模型构建统一的 CRD/Operator 管理平台,使得不同的CRD可以根据类别注册和发现,不同的Operator可以互相协作,遇到冲突也能在部署的第一时间解决。
11:30 ~ 12:15
Revisit K8s API as a PaaS Builder: what's missing
阿里巴巴基于K8s构建Paas实践
Yang Liu, Engineer in Alibaba, PaaS Builder atop of OAM and K8s.
My job in Alibaba is to build PaaS for all my other colleagues. I love K8s for its magical declarative API indeed, it’s perfect for me to build platform atop. But when I begin to build a real PaaS to serve others, I found that something is kinda “weird”.
For example: What is “application” in K8s API? Should I let my users write Deployment YAML? What is the accurate value for replicas? Who will define PodSecurityPolicy? Or, should I have to hide K8s API from my users?
This talk is about my failure story during building a PaaS atop K8s from scratch. This is not easy, as I noticed there are parts missing from K8s API “intentionally”. The interesting part is, I finally fix them with the extensibility of K8s API itself. Believe it or not, my solution is fully open sourced and could be applied to everyone right now, and standardly. TL;DR: I built a layered K8s API.
随着Kubernetes的持续流行,越来越多的公有云用户选择使用K8s作为应用的运行平台,然而在K8s里面,没有应用这个开发运维最关注的概念,阿里云EDAS作为企业级Paas平台,将应用的概念带到K8s,让用户能够更加自然地低门槛地使用K8s。
在一开始,我们的思路是做一个控制台,屏蔽掉底层K8s资源的操作,以Deployment为工作负载,暴露Container部分字段作为应用抽象,上线之后无论是我们自身的思考还是用户的反馈,都发现了不少问题,比如:应用这个概念到底该如何表达?我们是否应该屏蔽K8s资源?用户如果自行修改了底层K8s资源怎么办?
本次演讲会首先介绍阿里云EDAS基于K8s构建Paas平台遇到的真实问题,然后介绍我们如何通过开放应用模型(OAM)构建统一的Paas平台,该实践为我们解决了哪些问题,未来如何发展?
12:15 ~ 13:15
Lunch / 午餐
Photo / 拍照留念
13:15 ~ 14:00
DAPR Introduction
Dapr 简介
Mark Fussell - Microsoft PRINCIPAL PM Lead
This introduction provides a background on Dapr explaining the challenges that developers face today and how Dapr helps make it easy to build cloud native applications. Learn what the core building blocks of Dapr are such as state management, pub/sub and resource bindings to external events and how these are used in applications that you build. We will run through of the getting started samples so that you become familiar with the Dapr APIs.
本次分享将简单介绍关于Dapr的背景,简单介绍开发人员当前面临的挑战以及Dapr如何帮助开发者轻松构建云本机应用程序。 了解Dapr的核心构建模块是什么,例如状态管理,对外部事件的发布/订阅和资源绑定,以及如何在您构建的应用程序中使用它们。
14:00 ~ 14:20
【Hands on】Prepare Work
【动手实践】准备
14:20 ~ 16:20
【Hands on】DAPR Deep Dive
【动手实践】深入学习 DAPR
Haishi Bai - Microsoft PRINCIPAL SOFTWARE ENGINEER / R&D Microsoft Azure Team in US
Peek under the hood to see how Dapr works. Understand Dapr architecture and component design. Learn how to build Dapr code base and how to make contributions to Dapr repositories. Learn how to customize and extend Dapr, and some exciting new features on the roadmap.
深入了解Dapr的工作原理。 了解Dapr架构和组件设计。 了解如何构建Dapr代码库以及如何为Dapr存储库做出贡献。 了解如何自定义和扩展Dapr,以及路线图上一些令人兴奋的新功能。
本环节需要带上自己的电脑,进行实际操作。
16:20 ~ 16:30
Lottery,Free Convesation,End
活动结束,抽奖,自由深度交流
联合主办方
场地支持
微软 Reactor 上海 是微软为构建开发者社区而提供的一个社区空间,以“予力多元化社区建设,帮助每一个开发者成就不凡”为使命。
Reactor 为开发者及初创企业交流提供免费的活动场地,欢迎点击申请:
https://developer.microsoft.com/en-us/reactor/Form/10
(5年前)
(5年前)
(5年前)
(5年前)
(5年前)
(5年前)
1、本活动具体服务及内容由主办方【MSReactor_Shanghai】提供,活动行仅提供票务技术支持,请仔细阅读活动内容后参与。
2、如在活动参与过程中遇到问题或纠纷,双方应友好协商沟通,也可联络活动行进行协助。