阿里巴巴如何改善开发人员在K8s上的体验?
前言 通过 K8s,用户能够自定义基础设施,可以平行的替换或改造平台的已有功能,而非只能局限在平台提供的能力之上构建。但正是这样的“白盒化”体验,正在为越来越多的研发和运维带来“太复杂”的困扰。 从 Kubernetes 到“以应用为中心”的美好未来之间,全世界的 PaaS 工程师其实都在期待一项全新的技术能够弥补这之间的鸿沟。阿里云原生应用平台团队的做法是,通过为应用“建模”的方式来解决这个问题,这也正是 Open Application Model (OAM) 开源项目得以创建的重要目的。 阿里巴巴的容器化之旅 阿里巴巴的容器化之旅始于 2013 年。在 Docker 诞生之前,阿里巴巴基于 lxc 的容器引擎研发了容器技术 T4,用于在裸机上部署和管理应用程序。 2017 年, 阿里巴巴内部孵化了类似于 K8s 的容器编排引擎 Sigma 作为资源统一层,用于管理内部机器池,平均利用率达到 40%。 2018 年,Sigma 重新设计并迁移成兼容 K8s API,阿里巴巴重新编写了自定义控制器和调度算法,并向暴露声明式 API 给用户试用。 2019 年底,阿里巴巴中的大多数应用都在 K8s 上运行,并且在 K8s 之上构建了数十个原生框架,构筑 K8s 生态系统。而 2019 年的 双11 活动不仅仅是商业上的成功,更是 K8s 基础设施可以支持如此大规模的有力证明。