1、腾讯云日志服务通往云原生时代的破局之道腾讯云 王国梁王国梁 腾讯云CLS自我介绍腾讯云CLS研发负责人,腾讯 OpenTelemetry Oteam PMC,OpenTelemetry社区贡献者、前开源Kubernetes 社区成员(kube-scheduler维护者和Reviewer之一)。目前负责腾讯云日志服务平台(CLS)核心系统设计及研发。关注日志、监控、链路追踪等可观测性领域。曾负责美团虚拟化、容器化调度系统和云原生化的技术改造,主导Kubernetes和云原生应用管理在美团的从0到1的大规模落地。大纲企业视角云原生技术改造和应用现代化的意义传统应用架构案例:腾讯云日志服务老旧系统问
2、题分析云原生化过程遇到的典型挑战和应对策略如何给一架高速运行的“飞机”更换引擎?腾讯云日志服务介绍日志服务云原生化的业务背景规模大且性能要求高:十万亿级日志量/天、百毫秒级写入延迟、百亿条日志秒级检索峰值大且流量突发频繁:高峰GB/秒突发流量写入延迟和稳定性要求高:秒级(99.9%3s以内)日志可见、写入可靠性要求高功能需求迭代要求高:来自客户需求、产品升级、竞品压力几乎每周都有发布上线,对迭代效率要求高质量问题突出:大小故障频发,技术团队不仅要迭代新功能还要一直救火,团队压力大企业视角来看云原生技术改造的意义云原生技术的“三个代表”最先进技术生产力的发展方向企业产品竞争力的发展要求企业降本增
3、效的技术保障云原生技术(容器、K8S等)代表了最先进技术生产力,技术成熟并采用广泛基础设施和技术理念的陈旧会导致无法满足如今的业务需求,并最终成为产品发展的障碍快速扩张是目前新产品的典型特点,爆款产品都有着突发性,如果不能抓住机会很快会被淘汰产品的研发、测试、运维、交付效率直接决定了产品的迭代周期,研效的提升决定了是否能够在同质化竞争激烈的场景下“快人一步”企业内部独立的资源池、资源buffer导致经常出现严重的“贫富差距”,弹性能力差,不能高效的利用资源,企业运营成本居高不下企业不同产品之间存在较大的技术栈、架构、重复的“轮子”导致研效和研发成本高云原生技术改造,几乎成为企业发展的必然选择云
4、原生技术改造,几乎成为企业发展的必然选择传统应用和现代应用传统应用现代应用业务特征技术架构流量压力容器驱动,屏蔽操作系统和硬件,可移植基础设施感知,环境高度统一基础设施服务器为中心,应用程序和底层操作系统之间依赖关系紧密开发模式复杂度架构设计紧耦合、单体或中心化架构,本地部署,扩展升级复杂可伸缩性垂直扩展和按峰值需求常备资源部署运维服务部署、升级管理依赖人工操作,启动恢复慢松耦合,无状态、微服务架构,本地+云化部署,组件可以独立迭代,API调用水平扩张和按需分配,弹性伸缩声明式和自动化运维,业务自适应,快速恢复业务复杂,跨团队、跨部门联合项目多DevOps自动化、流程化、快速迭代,周期短流量突
5、发成为常态,逻辑复杂且压力大开发语言C/C+、ShellJava、Go、Python等业务类型独立单一,多部门协调少瀑布式迭代,开发构建周期长用户访问可控,逻辑简单,压力小关注可靠性、稳定性上市速度、快速增长传统架构的特点和挑战:腾讯云日志服务老旧系统问题分析架构架构基础设施混乱资源浪费成本高应突发能力差性能和稳定性差服务治理难规模增长迅速功能更复杂流量冲击大业务迭代频繁业务业务基础设施混乱物理机虚拟机用户操作系统类库、系统配置宿主操作系统类库、系统配置系统/运维组件系统/运维组件二进制程序二进制程序应用实例应用实例本地IDC、云上(多云)、硬件配置(CPU/MEM等)、硬件型号内核版本、系统
6、性能/安全类库版本、默认系统参数配套运维组件、监控、告警、程序版本等实例存活性、负载、进程数等应用的基础设施依赖如何选择?业务进程1业务进程N1号进程(system/init)业务进程1业务子进程业务进程21号进程(system/init)业务进程21号进程(system/init)业务进程11号进程(system/init)业务进程31号进程(system/init)业务进程4服务器:基础设施为物理机、虚拟机富容器:类服务器模式,基础设施为容器Sidecar:轻量级容器,基础设施为容器-20132013-20192019 至今有状态应用 vs 无状态应用无状态服务有状态服务服务A无状态应用S