Serverless 炙手可热,被称为云原生未来发展的方向。信通院报告显示:在核心业务中使用 Serverless 的用户占到18.11%,已经开始和计划使用 Serverless 技术的用户超过了70%。Serverless 广受追捧,得益于它在“快速的开发交付”、“极高的运维效率”、“极低的资源成本”这三个方面上的优势。 Serverless 可以让业务更快上云,让用户用最小的运维投入享受云带来的便利性。底层资源规划及运维交给更专业的云平台处理,使用户可以更专注业务和产品本身,从而更好地提升产品和业务的核心竞争力。 Serverless 的优势如此明显,但在实际落地使用中,无论是云厂商还是用户,均处在摸着石头过河的阶段,仍在不断学习不断试错,主要原因是 Serverless 在带来便利性的同时,也打破了传统 Serverful 模式下的种种用户使用习惯,对企业各个组织均造成了冲击;其先进的产品形态在老的架构上又引入了较高的适配复杂度。具体表现在:
2021年下半年以来,在新冠疫情和互联网政策的冲击之下,各大互联网公司都在进行降本增效。降本增效的一大核心手段就是优化计算资源成本,本文将以腾讯某内部 Kubernetes/TKE 业务为案例,详细阐述如何从 0到1(成本数据采集与分析、优化措施、行业现状与方案选型、方案设计与实现、落地与效果、总结)进行大规模、高可靠、高效率的成本优化的实践,并在这过程中实现了零故障突发,CPU 最高节省70%,Memory 节省50%的成果。本文所介绍的成本优化整体方案实现是腾讯云开源项目 Crane 的内部雏形版,我们在内部成功实践的基础上,将相关设计方案与最佳实践进一步输出给对外开源项目 Crane(https://github.com/gocrane/crane),致力于为云原生广大用户提供云成本优化一站式解决方案。
Prometheus 作为云原生时代最流行的监控组件,已然成为社区监控事实上的标准,但是在多集群,大集群等场景下,只使用 Prometheus 是远远不够的;单集群场景下我们一般主要关注指标采集、存储、告警、可视化等基础监控能力,随着集群规模的增大,监控系统的弹性以及可扩展性成为首要解决的痛点问题,为此社区诞生了 Thanos、Cortex、Prometheus 联邦等一系列成熟的解决方案,我们也通过自研的 Kvass 解决方案,通过将服务发现与采集过程分离,以及自研的任务分片算法,无侵入式的支持采集任务横向扩展,满足大规模集群场景下的采集和监控需求。在分布式云场景下,用户集群往往采用混合多云多集群的部署架构,集群的地理位置更加分散,网络环境更加复杂,为此我们也在寻找一种新的方案来统一解决此类问题。本文以腾讯云跨账号集群统一监控为例,介绍分布式云下的多集群监控方案的最佳实践。
Serverless 架构与 CI/CD 工具的结合 CI/CD 是一种通过在应用开发阶段引入自动化流程以频繁向客户交付应用的方法。如图所示,CI/CD 的核心概念是持续集成、持续交付和持续部署。 作为一个面向开发和运营团队的解决方案,CI/CD 主要针对集成新代码时所引发的问题。具体而言,CI/CD 可以让持续自动化和持续监控贯穿于应用的整个生命周期(从集成、测试阶段到交付和部署阶段)。这些关联的事务通常被统称为“CI/CD 管道”,由开发和运维团队以敏捷方式协同支持。