云原生应用与云原生应用平台

在云原生架构发展的过程同时云原生应用与云原生应用平台,那什么是云原生应用云原生应用是在云平台上设计、开发、部署、运行的应用,云原生应用不只是将应用打包成容器镜像,还需要结合云原生技术将镜像部署到 K8s 容器上运行起来。

云原生应用主要分为无状态应用和有状态应用两类:

● 无状态应用∶不依赖运行环境,可以自由伸缩;比如没有采用本地内存、磁盘存储、日志等,好处是可以将应用部署到另一个全新的环境中。

● 有状态应用依赖本地运行环境的应用,应用之间互相依赖,比如启动先后顺序,不能随意伸缩。在 K8s 中,有状态应用本质上依赖于实例Pod的状态。

在从有状态向无状态架构的优化过程中,可以通过云托管的 API、云原生 APIServerless 等,对应用架构进行升级优化,避免资源浪费比如通过 K8s 的 Pod 状态生命周期管理,把业务的 Operator 变成平台的 Operator,把可扩展性、可观测性和稳定性等交给平台来处理,让开发人员主要聚焦在业务应用实现上,从而实现业务与平台分离。

什么是云原生应用平台

云原生应用平台可以定义为帮助云原生应用进行研发和交付的自动化平台,是由一系列相关平台能力组成的,包括应用资源管理、统一服务管理、配置管理、安全管理、度量管控、可观测等方面。

云原生应用平台中,核心是应用,而交付形态是应用镜像。业务应用通过开发将业务逻辑打包在镜像当中,而平台侧需要通过相关运维能力,对云原生应用进行有效的平台管理,并支撑整体的应用生命周期管理,比如镜像编排、编译、运行、部署、交付等,并尽可能抽象非功能性需求在平台,应用镜像是云原生平台的核心如下图所示:

在云原生应用平台中经常会提到,比如 laaS、PaaS、FaaS、SaaS等等,它们都是云原生体系从不同角度和层次对相关技术能力的封装和抽象,云原生分越来越模糊,下沉基础能力,帮助企业基于云原生技术进行业务的快速开发。在实践中,结合企业进行具体的层次划分,并明确相应层次的具体角色和相关度量指标,来驱动整体的云原生 DevOps 的自动化驱动流程,云原生 DevOps 的自动化驱动流程图如下图所示:

在云原生应用平台中,做好云原生技术的封装,比如微服务管理能力,让应用和服务更加轻量,并通过合并部署缩短启动时间;容器化能力,容器让应用交付进行了变更,屏蔽了应用和基础资源,并自动化扩缩容及进行容器编排Mesh 化能力,让技术和业务进行进程剥离,技术能力下沉及独立演进;Serverless,面向云产品,进一步让应用无状态化,进一步利用云计算的成熟、稳定、易用,充分发挥云原生在应用平台的作用。

 

posted @ 2022-08-01 10:21  梯度科技  阅读(21)  评论(0编辑  收藏  举报