searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

云原生时代的弹性编排:从理论到实战

2024-11-29 09:11:28
0
0

一、云原生架构与弹性编排

1. 云原生架构概述

云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化地剥离,让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性等)。云原生架构的核心原则包括服务化、弹性、可观测性、韧性、自动化、零信任和架构持续演进等。

2. 弹性编排的定义

弹性编排是指通过自动化工具和策略,对云资源进行动态管理,以适应业务负载的变化。在云原生架构中,弹性编排不仅能够实现资源的自动扩展和缩减,还能确保服务的高可用性和稳定性。

3. 弹性编排的关键要素

  • 资源调度:根据业务需求,动态分配和释放资源。
  • 弹性伸缩:根据负载变化,自动调整资源规模。
  • 服务发现与负载均衡:确保服务的高效访问和负载均衡。
  • 自动修复:对故障进行快速响应和修复,确保服务的连续性。

二、云原生弹性编排的理论基础

1. 弹性原则

弹性是指系统在面对不可预期的故障或负载峰值时,能够快速恢复并继续正常运行的能力。弹性通常体现在自动故障转移、自我修复和冗余设计等方面。通过在多个可用区或数据中心部署应用程序的多个实例,实现冗余。当某个实例或区域发生故障时,系统可以自动切换到其他正常运行的实例,确保服务的连续性。同时,通过健康检查和自我修复机制,定期对服务进行健康检查,检测服务的运行状态,自动重启或替换故障实例,减少人为干预。

2. 服务化原则

服务化架构将不同生命周期的模块分离出来,分别进行业务迭代。通过微服务架构,将后端单体应用拆分为松耦合的多个子应用,每个子应用负责一组子功能。这些子应用称为“微服务”,多个“微服务”共同形成了一个物理独立但逻辑完整的分布式微服务体系。微服务相对独立,通过解耦研发、测试与部署流程,提高整体迭代效率。

3. 可观测原则

通过日志、链路跟踪和度量等手段,使得多次服务调用的耗时、返回值和参数都清晰可见。可观测性对于定位问题、优化性能和确保服务质量至关重要。

4. 自动化原则

自动化工具能够理解交付目标和环境差异,实现整个软件交付和运维的自动化。通过持续集成/持续部署(CI/CD)流水线,支持多种发布策略,如蓝绿发布、金丝雀发布等,以满足对业务发布稳定性的诉求。

5. 零信任原则

零信任原则要求不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础。通过加强身份验证和访问控制,确保系统的安全性。

三、云原生弹性编排的实战案例

1. 申通快递核心业务系统云原生化上云案例

背景和挑战

申通快递作为发展最为迅猛的物流企业之一,日订单处理量已达千万量级,亿级别物流轨迹处理量,每天产生数据已达到TB级别。随着业务体量指数级增长和业务形式愈发多元化,原有系统暴露出不少问题,如传统IOE架构、各系统架构的不规范、稳定性差、研发效率低等。这些问题限制了业务高速发展的可能,软件交付周期过长,大促保障对资源的特殊要求难实现,系统稳定性难以保障。

云原生解决方案

申通快递选择与天翼云进行深度合作,采用云原生技术和架构实现核心业务搬迁上云。具体方案包括:

  • 引入云原生数据库:通过引入OLTP和OLAP型数据库,将在线数据与离线分析逻辑拆分到两种数据库中,改变此前完全依赖Oracle数据库的现状,满足在处理历史数据查询场景下Oracle数据库所无法支持的实际业务需求。
  • 微服务改造:通过引入Kubernetes的服务发现,组建微服务解决方案,将业务按业务域进行拆分,让整个系统更易于维护。
  • 基础设施转型:全部计算资源取自天翼云的神龙裸金属服务器,相较于一般云服务器,Kubernetes搭配神龙服务器能够获得更优性能及更合理的资源利用率。云上资源按需取量,对于拥有大促活动等短期大流量业务场景的申通而言极为重要。
  • 流量接入:天翼云提供两套流量接入,一套是面向公网请求,另外一套是服务内部调用。域名解析采用云DNS及PrivateZone。借助Kubernetes的Ingress能力实现统一的域名转发,以节省公网SLB的数量,提高运维管理效率。
  • 平台层和应用服务层:基于Kubernetes打造的云原生PaaS平台,打通DevOps闭环,统一测试、集成、预发、生产环境;天生资源隔离,机器资源利用率高;流量接入可实现精细化管理;集成了日志、链路诊断、Metrics平台;统一ApiServer接口和扩展,天生支持多云跟混合云部署。每个应用都在Kubernetes上面创建单独的一个Namespace,应用跟应用之间实现资源隔离。
  • 运维管理:线上Kubernetes集群采用天翼云托管版容器服务,免去了运维Master节点的工作,只需要制定Worker节点上线及下线流程即可。同时业务系统均通过天翼云的PaaS平台完成业务日志搜索,按照业务需求投交扩容任务,系统自动完成扩容操作,降低了直接操作Kubernetes集群带来的业务风险。

成果

通过云原生解决方案,申通快递核心业务系统成功搬迁上云,实现了稳定而高效的计算能力。同时,通过微服务改造和引入云原生数据库,提升了产研效率和系统稳定性。

2. 电商业务云原生弹性实践案例

背景和挑战

某电商平台随着业务高速发展,技术运维面临着非常严峻的挑战。特别是在“双11”电商大促、“双12”购物节期间,小程序、网红直播带货呈现爆发式增长趋势。如何确保微商城系统稳定顺畅地运行成为首要难题。其中,比较突出的挑战包括系统开发迭代快、线上问题多、定位问题耗时长;频繁大促导致系统稳定性保障压力很大;压测与系统容量评估工作相对频繁,缺乏常态化机制支撑;系统大促所需资源与日常资源相差较大,需要频繁扩缩容。

云原生解决方案

针对这些问题,电商平台选择了天翼云的云原生应用稳定性解决方案。具体方案包括:

  • 资源弹性编排:通过天翼云的弹性伸缩服务,根据业务负载自动调整资源规模。在大促期间,能够自动扩容以满足业务需求;大促结束后,自动缩容以节省资源成本。
  • 服务发现与负载均衡:利用Kubernetes的服务发现和负载均衡能力,确保服务的高效访问和负载均衡。
  • 自动化运维:通过天翼云的DevOps平台和自动化工具,实现整个软件交付和运维的自动化。通过持续集成/持续部署(CI/CD)流水线,支持多种发布策略,提高业务发布效率和稳定性。
  • 可观测性:通过日志、链路跟踪和度量等手段,对服务进行实时监控和性能分析。在出现问题时,能够快速定位并解决。

成果

通过云原生解决方案,电商平台成功应对了大促期间的流量高峰,确保了系统的稳定性和可用性。同时,通过资源弹性编排和自动化运维,降低了运维成本和提高了运维效率。

四、总结与展望

云原生时代的弹性编排,为企业数字化转型提供了强有力的支持。通过理论探讨和实战案例,我们可以看到云原生架构和弹性编排在提升企业业务敏捷性、降低运维成本、提高系统稳定性和可用性方面的巨大优势。未来,随着云原生技术的不断发展和完善,我们相信弹性编排将在更多领域得到广泛应用和推广。作为开发工程师,我们应该不断学习和掌握云原生技术,为企业数字化转型贡献自己的力量。

0条评论
0 / 1000
李****振
511文章数
0粉丝数
李****振
511 文章 | 0 粉丝
原创

云原生时代的弹性编排:从理论到实战

2024-11-29 09:11:28
0
0

一、云原生架构与弹性编排

1. 云原生架构概述

云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化地剥离,让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性等)。云原生架构的核心原则包括服务化、弹性、可观测性、韧性、自动化、零信任和架构持续演进等。

2. 弹性编排的定义

弹性编排是指通过自动化工具和策略,对云资源进行动态管理,以适应业务负载的变化。在云原生架构中,弹性编排不仅能够实现资源的自动扩展和缩减,还能确保服务的高可用性和稳定性。

3. 弹性编排的关键要素

  • 资源调度:根据业务需求,动态分配和释放资源。
  • 弹性伸缩:根据负载变化,自动调整资源规模。
  • 服务发现与负载均衡:确保服务的高效访问和负载均衡。
  • 自动修复:对故障进行快速响应和修复,确保服务的连续性。

二、云原生弹性编排的理论基础

1. 弹性原则

弹性是指系统在面对不可预期的故障或负载峰值时,能够快速恢复并继续正常运行的能力。弹性通常体现在自动故障转移、自我修复和冗余设计等方面。通过在多个可用区或数据中心部署应用程序的多个实例,实现冗余。当某个实例或区域发生故障时,系统可以自动切换到其他正常运行的实例,确保服务的连续性。同时,通过健康检查和自我修复机制,定期对服务进行健康检查,检测服务的运行状态,自动重启或替换故障实例,减少人为干预。

2. 服务化原则

服务化架构将不同生命周期的模块分离出来,分别进行业务迭代。通过微服务架构,将后端单体应用拆分为松耦合的多个子应用,每个子应用负责一组子功能。这些子应用称为“微服务”,多个“微服务”共同形成了一个物理独立但逻辑完整的分布式微服务体系。微服务相对独立,通过解耦研发、测试与部署流程,提高整体迭代效率。

3. 可观测原则

通过日志、链路跟踪和度量等手段,使得多次服务调用的耗时、返回值和参数都清晰可见。可观测性对于定位问题、优化性能和确保服务质量至关重要。

4. 自动化原则

自动化工具能够理解交付目标和环境差异,实现整个软件交付和运维的自动化。通过持续集成/持续部署(CI/CD)流水线,支持多种发布策略,如蓝绿发布、金丝雀发布等,以满足对业务发布稳定性的诉求。

5. 零信任原则

零信任原则要求不应该信任网络内部和外部的任何人/设备/系统,需要基于认证和授权重构访问控制的信任基础。通过加强身份验证和访问控制,确保系统的安全性。

三、云原生弹性编排的实战案例

1. 申通快递核心业务系统云原生化上云案例

背景和挑战

申通快递作为发展最为迅猛的物流企业之一,日订单处理量已达千万量级,亿级别物流轨迹处理量,每天产生数据已达到TB级别。随着业务体量指数级增长和业务形式愈发多元化,原有系统暴露出不少问题,如传统IOE架构、各系统架构的不规范、稳定性差、研发效率低等。这些问题限制了业务高速发展的可能,软件交付周期过长,大促保障对资源的特殊要求难实现,系统稳定性难以保障。

云原生解决方案

申通快递选择与天翼云进行深度合作,采用云原生技术和架构实现核心业务搬迁上云。具体方案包括:

  • 引入云原生数据库:通过引入OLTP和OLAP型数据库,将在线数据与离线分析逻辑拆分到两种数据库中,改变此前完全依赖Oracle数据库的现状,满足在处理历史数据查询场景下Oracle数据库所无法支持的实际业务需求。
  • 微服务改造:通过引入Kubernetes的服务发现,组建微服务解决方案,将业务按业务域进行拆分,让整个系统更易于维护。
  • 基础设施转型:全部计算资源取自天翼云的神龙裸金属服务器,相较于一般云服务器,Kubernetes搭配神龙服务器能够获得更优性能及更合理的资源利用率。云上资源按需取量,对于拥有大促活动等短期大流量业务场景的申通而言极为重要。
  • 流量接入:天翼云提供两套流量接入,一套是面向公网请求,另外一套是服务内部调用。域名解析采用云DNS及PrivateZone。借助Kubernetes的Ingress能力实现统一的域名转发,以节省公网SLB的数量,提高运维管理效率。
  • 平台层和应用服务层:基于Kubernetes打造的云原生PaaS平台,打通DevOps闭环,统一测试、集成、预发、生产环境;天生资源隔离,机器资源利用率高;流量接入可实现精细化管理;集成了日志、链路诊断、Metrics平台;统一ApiServer接口和扩展,天生支持多云跟混合云部署。每个应用都在Kubernetes上面创建单独的一个Namespace,应用跟应用之间实现资源隔离。
  • 运维管理:线上Kubernetes集群采用天翼云托管版容器服务,免去了运维Master节点的工作,只需要制定Worker节点上线及下线流程即可。同时业务系统均通过天翼云的PaaS平台完成业务日志搜索,按照业务需求投交扩容任务,系统自动完成扩容操作,降低了直接操作Kubernetes集群带来的业务风险。

成果

通过云原生解决方案,申通快递核心业务系统成功搬迁上云,实现了稳定而高效的计算能力。同时,通过微服务改造和引入云原生数据库,提升了产研效率和系统稳定性。

2. 电商业务云原生弹性实践案例

背景和挑战

某电商平台随着业务高速发展,技术运维面临着非常严峻的挑战。特别是在“双11”电商大促、“双12”购物节期间,小程序、网红直播带货呈现爆发式增长趋势。如何确保微商城系统稳定顺畅地运行成为首要难题。其中,比较突出的挑战包括系统开发迭代快、线上问题多、定位问题耗时长;频繁大促导致系统稳定性保障压力很大;压测与系统容量评估工作相对频繁,缺乏常态化机制支撑;系统大促所需资源与日常资源相差较大,需要频繁扩缩容。

云原生解决方案

针对这些问题,电商平台选择了天翼云的云原生应用稳定性解决方案。具体方案包括:

  • 资源弹性编排:通过天翼云的弹性伸缩服务,根据业务负载自动调整资源规模。在大促期间,能够自动扩容以满足业务需求;大促结束后,自动缩容以节省资源成本。
  • 服务发现与负载均衡:利用Kubernetes的服务发现和负载均衡能力,确保服务的高效访问和负载均衡。
  • 自动化运维:通过天翼云的DevOps平台和自动化工具,实现整个软件交付和运维的自动化。通过持续集成/持续部署(CI/CD)流水线,支持多种发布策略,提高业务发布效率和稳定性。
  • 可观测性:通过日志、链路跟踪和度量等手段,对服务进行实时监控和性能分析。在出现问题时,能够快速定位并解决。

成果

通过云原生解决方案,电商平台成功应对了大促期间的流量高峰,确保了系统的稳定性和可用性。同时,通过资源弹性编排和自动化运维,降低了运维成本和提高了运维效率。

四、总结与展望

云原生时代的弹性编排,为企业数字化转型提供了强有力的支持。通过理论探讨和实战案例,我们可以看到云原生架构和弹性编排在提升企业业务敏捷性、降低运维成本、提高系统稳定性和可用性方面的巨大优势。未来,随着云原生技术的不断发展和完善,我们相信弹性编排将在更多领域得到广泛应用和推广。作为开发工程师,我们应该不断学习和掌握云原生技术,为企业数字化转型贡献自己的力量。

文章来自个人专栏
咸焗乌龟
509 文章 | 2 订阅
0条评论
0 / 1000
请输入你的评论
0
0