引言
“当那些务实的实用主义者谈到“工业标准”的时候,而愿意领先的公司往往更加注重产品是否足够领先。”
-- 杰弗里.摩尔《跨越鸿沟:颠覆性产品营销圣经》
无论你是一名一线的工程师也好,还是身处决策层的IT管理者,能否满足公司或企业的业务需求才是关键,但是对于较为前沿的技术,在没有彻底吃透、理解之前,总是希望能够得到足够的信息,从而决定接下来一段时间的技术方向和奋斗目标。Linux 基金会执行总监 Jim Zemlin 早在前两年就下结论称 Kubernetes 是下一代的 Linux,这句话我们一般解读为了两个意思:
1. Kubernetes 将会是继 Linux 之后又一成功的开源项目;
2. Kubernetes 将会是云计算时代的基础设施核心:分布式环境下的操作系统。
没错,Kubernetes 开源项目的成绩单显示它是近几年最为成功的开源项目,简直是坐着火箭腾空版上升,GitHub 的 Star 数53741,PR 和 issue 是非常的活跃,更多 Kubernetes 的开发实时和历史状态,请参考 CNCF 专门做的监控站点:https://k8s.devstats.cncf.io/
在了解完项目开放的状态之后,我们将目光转向采用者,也就是早期使用者或尝鲜者们都经历了哪些?尤其是遇到了哪些障碍,在容器化、高并发、微服务的场景下,传统的应用以及基础设施面临何种状态?是无缝迁移,如丝滑般柔顺?还是九九八十一难,历经艰难险阻?各位看官,接下来就由小编为您介绍这届 KubeCon + CloudNativeCon 所带来,用户、发行厂商、生态伙伴等最为关心的实际生产环境的案例研究以及基于云原生的应用开发。
分论坛主题介绍
案例研究
作为各行各业的标准平台,云原生获得了广泛的支持,增长势头十分凶猛。 K8s、容器及相关云原生技术和工具将有望推动企业完成转型。从支持企业改造传统应用到自动化实施 DevOps,再到自动执行故障恢复和改进测试,基于云原生技术的种种新兴开发和运营实践相继诞生,让人为之惊叹的同时也为企业带来了巨大机遇。
特别推荐:利用云原生技术进行企业转型(小组讨论)
Anni Li – 华为 云项目开源运营负责人
Ying Xiong – 华为云 首席技术官
Shaowei Guo – 奇虎360 工程师
出席的重量级嘉宾有:华为云开源团队开发带头人 Anni Li 和华为云首席技术官 Ying Xiong,京东的首席架构师刘海峰,CNCF 技术委员会成员、阿里巴巴高级技术专家李响、以及奇虎360的郭少巍。在这次小组会议中,上述大咖们将共同讨论云原生的各个方面如何推动企业重大变革。围绕关键云原生创新技术展开讨论,进而推动更高效的开发和更有效的标准化运营实践,最终加速企业的数字化转型和现代化改造。
Kubernetes 是一项容器的编排技术,可以管理成千上万个容器,使之健壮的运行,那么究竟有哪些具体的使用场景呢?
Penghao Cen – 蚂蚁金服 资深工程师
《通过托管 CPU 和 GPU 工作负载,实现资源的高效利用》
由阿里巴巴/蚂蚁金服的 Penghao Cen 和 JianHe 共同分享,他们在 Kubernetes 集群中的托管实践和经验。包括:
-
为何以及如何通过 BestEffort 创建新的 QoS 类别?
-
为何以及如何为批处理任务创建节点级 cgroup?
-
我们如何使用名为 PodGroup 的 CRD 来实现群组调度?
-
我们如何进行利用率评估?
《云原生时代加速镜像分发的三种方法》
阿里云,高级软件工程师 Jiang Yong,分享关于阿里巴巴在全网域提高镜像分发效率的实践和得出的经验教训。根据不同的场景采用了不同的镜像分发方法。基于 P2P 的 CNCF/Dragonfly 分发是缓解注册表带宽压力和减少分发时间的最直接方式。此外,CNCF/containerd 中的远程文件系统快照程序可直接远程存储镜像,并支持容器引擎通过网络读取镜像内容,分发时几乎不需要时间。如果您认为第二种方式过于依赖网络稳定性,那么为了制衡,您可以根据镜像内容读/写请求将镜像从远程站点动态加载到本地存储库中。最后,Jiang Yong 会总结如何选择适合用户自身企业的镜像分发方式。
Xin Ma – eBay 首席云端工程师
《使用 Kubernetes 创建和管理 Kubernetes》
eBay,由高级工程师 Xin Ma 给大家带来,作为一种可移植的声明式系统,Kubernetes 能够通过不同的方式用于许多不同的任务。eBay 开发了一种基于 K8s 的集群管理系统,服务器、子网、操作系统、软件包和状态等一切都是声明式服务,它们可以在 K8s 中建模为 CRD,在 git 对象中则被称为 commit id。通过在这些 CRD 对象上运行各种控制器,可以使用 K8s 来管理 K8s 以及整个 eBay 数据中心。例如:
- 系统配置主机的方式与 K8s 创建和管理 pod 的方式相同。
- 使用 Salt 构建 K8s 集群。每个主机都有一组在其 Salt CRD 对象中定义的状态。控制器根据 commit id 从 git 中提取应用的状态。
- 构建调度程序和部署事务来管理 K8s 集群,以进行配置部署和升级。
京东,在本会场有两个京东的分享,均为高质量的实践:
Yuan Chen – 京东 首席架构师
1.《Kubernetes 中 MySQL 容器的正确大小和自动扩展》
由 Yuan Chen 和 Min Li 带来的关于Vitess的实践,二位工程师将介绍京东如何开发优化的规模调整技术,以提高 Kubernetes 中 MySQL 集群的性能和资源效率。所描述的系统集统计分析、预测和优化算法于一身,能够动态调整容器的资源请求和限值,并通过 Kubernetes 和 Vitess API 重新调度容器,从而最大限度地减少资源的使用,同时满足 QoS 要求。该系统能够使京东更加灵活高效地管理其 MySQL 集群资源,并帮助京东大幅降低在 Kubernetes 中运行 MySQL 的操作成本和硬件成本。
2.《在 Kubernetes 中经济高效地调度大量容器》
刘海峰和 Yuan Chen 分享的是关于 Kubernetes 调度的话题,将介绍京东如何克服障碍,通过高级调度来改善其 Kubernetes 集群的资源利用率和成本效率,包括细粒度的货币化和资源使用监控、机器学习驱动的资源分配、混合工作负载的协同调度以及毫秒级的弹性扩展。这就具体涉及到了京东的 Kubernetes 调度系统 — 阿基米德。刘海峰将以京东 618 店庆特卖日 Kubernetes 平台所处理的 247 亿美元交易为例,详细解释该调度系统如何帮助应对极端需求。
《LinkedIn 适应可插拔的统一集群管理平台》
Linkedin,一线工程师 Tengfei Mu 和 Abin Shahab 带来的是Linkedin内部基于 kubernetes 构建的系统——RAIN 是 LinkedIn 开发的一款集群资源管理系统,能够管理多个数据中心(包括 Azure)中每个群集的数万个主机的资源,以支持调度长时间运行的服务和批处理任务。它与现有 LinkedIn 集群管理生态系统集成在了一起。
Linkedin下一代集群管理系统的目标是快速支持异构计算工作负载,以提高开发人员的工作效率和服务器利用率。评估了 K8s 的声明式 API 和可扩展架构,并决定投入使用。由于要在 LinkedIn 规模的基础之上与现有生态系统相集成,采用流程面临相当大的挑战。
首先,二位将简要介绍 LinkedIn 的集群管理生态系统,然后探讨评估的过程和采用后面临的挑战,最后再分享在生产和集成过程中吸取的经验教训。
Mebnie Cebula – Airbnb 软件工程师
《执行大规模基础设施迁移》
Airbnb 软件工程师 Mebnie Cebula 不远千里,从美国加利福尼亚飞过来为大家分享关于 Airbnb 的 Kubernetes 实践,人人都在追随最新的技术趋势的脚步,但是当您有高可用性需求时,如何从一种技术迁移到另一种技术?如何分辨哪些技术是炒作,哪些真正适合贵公司的规模?本演讲 Mebnie Cebula 将以 Airbnb 将数百种具有严格延迟和正常运行时间要求的传统服务迁移到 Kubernetes 的案例研究为基础,旨在解决两个问题:
1. 业务难题:基础设施迁移的依据和资源分配以及迁移生命周期的管理
2. 技术难题:初始原型设计、识别和解决阻碍、提供最佳部署实践以及使用基础设施即代码进行自动化迁移。
《容器技术推动 Windows 应用转型》
微软,技术解决方案专家 Jason Huang 外搭来自 DaoCloud 的架构师 HuaJun Gu,给大家带来的是:Kubernetes 中运行 Windows 容器。业内为部署混合 Kubernetes 集群做出了很多努力。本会议将分为三个部分。
1)迁移 - 介绍将传统应用迁移到 Windows 容器的经验。
2)混合 Kubernetes 集群 - 传统应用仍然可以使用最新技术来管理。
3)未来的挑战 - 解决未来挑战的潜在解决方案。
《TiKV 最佳实践》
PingCAP,由其核心工程师 James Zhang 来分享 TiKV 这款在 CNCF 项目中孵化的项目,他将介绍 TiKV (这是一个开源的分布式事务键值数据库, TiKV 内置 Rust,由 Raft 提供支持,可提供高可用性、强大的一致性、ACID 兼容性和水平可扩展性。除了支持外部一致的分布式事务之外,TiKV 还可实施协处理器框架,以支持分布式计算。)的一些最佳实践,例如如何控制数据分布以及覆盖多个数据中心场景的部署方法推荐。我们将探讨数据平衡问题,比如规模调整和平衡速度的控制,并向您展示如何识别和应对热点问题。最后,我们将介绍如何在不同的工作负载下优化性能。
《中信银行的容器化探索之路》
灵雀云,这次带来的分享将介绍中国最大的商业银行之一 : 中信银行在构建容器平台方面的宝贵实践。中信银行和灵雀云已经完成了基于 DevOps 的云原生容器 PaaS 平台的构建,创建了一个独立于银行的运行环境,并全面实现了应用开发和测试流程的自动化。产品迭代速度加倍。在本次演讲中,我们将详细阐述 K8s 如何帮助中信银行实现以下目标:
- 统一的门户、统一的用户管理以及多租户和运营场景支持
- 灵活扩展、灰度发布以及应用的快速迭代
- 全面集成的工具链
- 服务和运行状态实时监控与智能故障分析
- 中间件应用市场的建设
那么,KubeCon + CloudNativeCon 的案例研究论坛都有哪些精彩演讲呢?
内容更新请参阅 https://kccncosschn19chi.sched.com 选择:KC+CNC – 案例研究。
应用程序以及开发
从技术的设计、架构到部署均是看不出来其实际用处的,唯有到了实际的和业务相关的应用程序才能彰显支撑平台的友好,云原生还很年轻,很多尝鲜者都在探索着,以平衡业务的快速变化和基础设施的稳定。
鉴于本场话题的特殊性,笔者需要和往常不同的归类和描述,不能再以公司或行业、演讲者等来区分了,因为这个主题涉及的面太广,索性就一个一个来按照主题来介绍:
Irene Zhang – 微软与华盛顿大学研究员
Quinton Hoole - 华为 技术副总裁
重点推荐:《为什么云原生应用的开发仍然如此艰难?》
来自微软研究院/华盛顿大学的 Irene Zhang 和华为的技术副总裁 Quinton Hoole 合作分享的话题:对于普通的应用开发人员来说,创建可靠、可扩展的分布式云原生应用仍然太难了。为什么只是为了构建一个简单的业务应用或社交媒体应用,就必须去了解和解决复杂的分布式系统问题,比如数据一致性、碎片平衡、共识算法、网络分区和指数退避?鉴于新的实际应用现今需要跨间断连接的移动设备、混合云服务器、边缘节点和物联网设备等运行,这就让问题变得更加复杂,甚至到了无法实现的地步。二位业界大神将会介绍分布式系统研发方面的一些最新进展,以及他们的团队合作研究的开源分布式云操作系统,以便为开发人员提供方法借鉴。
Ian Talarico – Google 资深软件工程师
Etan Shaul – Google 资深软件工程师
《IDE 扩展助力加速Kubernetes应用开发工作流》
来自 Google 的 Ian Talarico 和 Etan Shaul 将会给大家带来关于使用探讨如何使用 Visual StudioCode 和 IntelliJ IDE 扩展简化 Kubernetes 的开发工作流。具体包含以下几项内容:
- 轻松使用 IDE 创建 GKE 集群。
- 在几分钟内从零起部署一个支持多种语言和微服务的应用。
- 使用 Skaffold 创建镜像并持续部署到 GKE,以缩短内部周期。
- 通过 IDE 实时调试在本地和远程集群中运行的应用。
- 使用 Kustomize 简化并减少所需的配置。
- 设置和管理多个环境。
Arun Gupta - AWS首席开源技术专家
《Java 开发人员的 Kubernetes 之旅》
多产的AWS 开源技术专家 Arun Gupta 带给大家的是别开生面的分享,没有幻灯片,只有代码:详细说明了如何在 Kubernetes 集群中部署 Java 应用,具体来说包括以下内容:
-
将应用打包为 Docker 镜像
-
创建 Kubernetes 清单
-
创建 Helm 图表
-
在本地 k8s 集群中进行测试
-
使用 Java IDE 调试 Pod
-
使用 Istio 获得可观察性
-
Canary 和 A / B 测试
-
将应用从开发环境迁移到生产环境
-
在桌面和云端部署管道
Tonis Tiigi – Docker 软件工程师
Akihiro Suda – NTT 软件工程师
《BuildKit:建立在 containerd 之上的现代 Builder 工具包》
来自 Docker 公司的 Tonis Tiigi 和 NTT 的 Akihiro Suda 将演示 BuildKit 的功能以及它如何帮助改进用户当前的应用开发流程和 CI 工作流。例如,将解释允许显著提高 Dockerfile 性能的新特性,或者如何使用 BuildKit 中的远程缓存支持来加速 CI 构建。
借助 containerd 清单列表支持,BuildKit 可以使用单个构建请求和单个 Dockerfile 构建多平台镜像。
BuildKit 既可以作为 Docker 平台的一部分使用,也可以作为部署在 Kubernetes 集群上的独立工具使用,参与者将在学习这些用法的同时,了解它相比以往镜像构建方法的优势。
Andrew Chen – Google 项目经理
《Knative Serving 内部介绍》
来自 Google 的 Andrew Chen 和来自 SAP 的 Dominik Tornow 带来的是关于 Knative 方面的分享,Knative 是一个 Kubernetes 扩展,可将函数即服务引入到您的 Kubernetes 集群中。Knative 提供了用于构建、供应和自动扩展应用的组件。
如果看官想知道 Knative Serving 如何将 Docker 镜像转换为函数即服务,Knative Serving 如何扩展函数以满足需求、Knative Serving 如何在不删除任何请求的情况下扩展到零、以及其工作原理是什么的话,不妨来这场分享看看、听听、谈谈、问问。
本演讲将使用系统建模方法探讨 Knative Serving,帮助大家认识工作负载管理和流量管理之间的关联,并简明扼要地介绍 Knative 如何将源代码转换为可扩展的可靠应用。将重点介绍 Kubernetes 扩展如何支持全新的用例,以及如何将自定义功能和自定义流程作为一级对象添加到集群中。
Patrick Chanezon – 微软 首席云布道师
Scott Coulton – 微软首席云布道师
《使用容器、函数和托管服务构建应用》
这场分享的嘉宾来自微软,均是 Azure 的布道师,他们分别是 Patrick Chanezon 和 Scott Coulton,众所周知,云原生应用由多种技术和组件组成,但在近几年出现的三种标准抽象服务可帮助开发人员构建架构结构,即容器、响应事件的函数和托管服务。
本演讲将解释如何使用这三个组件开发(Docker、本地 Kubernetes、虚拟 Kubelet、OpenFaaS)、部署(托管 Kubernetes、函数和服务)和打包(CNAB 规范和工具)应用。
Shikha Srivastava – IBM 软件架构师
《您的生产级12要素应用所缺的其它7个要素》
这个题目一看就是只有内行人才能看的懂,作用云原生的关注者,都听说过或者实践过有效微服务所依据的“12 要素”原则。借助 Kubernetes,其中很多要素都可以获得直接支持。在本次演讲中,来自 IBM 的 Shikha Srivastava 和 Michael Elder 提出了一个问题:是否只需具备 12 个要素便可以构建生产级、可扩展且安全的微服务?
IBM 基于 Kubernetes 创建企业级生产就绪应用的经验,确定了 7 个经常被忽视的缺失要素。这些附加要素可确保用户能够高效升级、保护和扩展应用,直至投入生产环境。
那么,KubeCon + CloudNativeCon 的应用程序 + 开发论坛都有哪些精彩演讲呢?
内容更新请参阅 https://kccncosschn19chi.sched.com 选择:KC+CNC – 应用程序 + 开发。
总结
我们所生存的世界正在加速发展,更方便快捷的支付、出行、购物、社交,背后便是IT系统的支撑,而随着生活方式的改变为默认的方式,进而衍生出更多的需求,更加安全、健康、审美,一切都在量化,进一步要求 IT 系统的快速升缩,更加的健壮,按需供应,以Kubernetes为核心的云原生应用正在形成全新一代数字化转型的支撑力量,以云原生路线图为例,可以清晰的看到云原生的发展和成长之路。
300+的演讲者分享,任谁也无法照顾到所有,我们会尽最大努力帮助你梳理,根据你的兴趣来找到对应的分享嘉宾,让你有所成长、有所收获。
请!注!意!本次大会的售票异常火爆,据大会组委会透露,目前仅剩少量门票可售,错过这次就要再等一年了。不要再犹豫了,立即行动!
票价如下:
扫描二维码到购票窗口,立即购票!
2019年 6月24日~26日,请大家抓住机会,我们在上海世博中心不见不散!
|