1、构建 Serverless 体验的云原生应用平台孙健波(天元)阿里云 高级技术专家OAM/KubeVela 项目负责人云原生应用模型(OAM)及 KubeVela 项目主要作者专注于推动标准化云原生应用交付和管理体系在开源和云上全面落地,负责阿里云 Serverless 应用平台建设。技术布道师/开源爱好者多届 KubeCon、ArchSummit 大会讲师参与开源社区近 10 年,先后贡献过 CloudFoundry、Docker、Kubernetes 等数十个云原生、PaaS 领域的开源项目。孙健波(天元)欢迎联系:阿里云 云原生应用平台团队 高级技术专家容器:标准化的交付介质Kubern
2、etes:标准化的基础设施管理与抽象K8s CRD Operator:自动化的运维模型Infrastructure as Code:基础设施即代码云原生的崛起,带来了交付介质、基础设施管理、运维模型和持续交付理论的全面升级和突破,形成了繁荣的技术生态,加速了云计算时代到来。云原生带来了技术的全面升级蓬勃发展的云原生生态Shift Left is about doing things earlier in the development cycle.应用开发的整个生命周期各项职责不断向研发侧左移https:/devopedia.org/shift-leftshift left!更高的效率更高的效
3、率更低的成本更低的成本研发效率研发效率交付效率交付效率运维效率运维效率资源成本资源成本软件成本软件成本人力成本人力成本交付成本交付成本Cloud Infrastructure!#!#$%&()*+,-./012345$%&()*+,-./012345q 测试左移q 安全左移q 交付左移q 监控左移q!#$%&()*+,-./012&3!#$%&()*+,-./012&3应用交付流水线RolloutController基础工作负载制品仓库提交发布YAML 文件安全扫描策略实例灰度/扩缩容策略流量策略日志&监控策略sidecarPrometheusService MonitorPodDeploym
4、entCRDnamespaceLabel&AnnotationsIstioVirtual ServiceServiceHorizontalPodAutoscalerValidatingWebhookMutatingWebhookPV/PVCStatefulSetJob 以容器工作负载为核心构建基础设施 基于代码或脚本对接已有的 CI/CD 体系或内部平台 以 K8s 原生 API 为标准集成界面,无厂商绑定 充分利用 K8s 生态的各类 CRD Operator 做能力扩展Charts6789:);+?6789:);+?ABCDEFABCDEFGHIJ5GHIJ5挑战:云和 K8s 基础设施的
5、复杂性暴露给了开发者应用开发者?水平扩缩容要怎么设置?minReplicas,maxReplicas 设置多少?网关的负载均衡设置成15s 健康检查够吗?Pod 驱逐策略(PDB)是什么?maxUnavailable 设置为多少?CPU 和 内存的 limits 该怎么设置?应用的命名空间 quota 值该设置多少?q 基础设施的 API 版本变更暴露给了开发者应用开发者q 基础设施的功能过度暴露给了应用开发者挑战:现代应用天然面向多云混合环境依赖编排巡检策略故障注入资源绑定端云联调云资源创建/销毁可观测性策略(日志&metrics)安全扫描策略实例灰度/扩缩容 策略流量策略多集群开发测试环境
6、预发联调环境生产环境云资源绑定远端 exec实时日志集群环境初始化断点调试热加载通知、告警可观测性策略(日志&metrics)攻防演练云厂商自建机房现代微服务应用ECSRDS数据库SLB业务 Pod业务 PodPrometheus同一个应用,在不同环境下部署的组件依赖差异巨大数据库、负载均衡、K8s,在不同云上也存在诸多差异ARMS同一个应用,在不同场景下的运维能力要求差异巨大q开发者面对不同场景心智负担重。开发者面对不同场景心智负担重。q系统缺乏统一交付和管理能力。系统缺乏统一交付和管理能力。q需要补充大量人工操作,缺乏自动化需要补充大量人工操作,缺乏自动化。平台开发无法满足日益增长的应用管