CloudOS应用场景【4】传统应用向云原生应用转型

2022-10-09

142

市场需求瞬息万变,传统型的应用逐渐无法满足业务侧要求,传统应用向云原生应用转型,已势在必行。本篇文章将介绍基于CloudOS(一站式云原生开发平台)如何实现传统应用向云原生应用的转型。


在此之前,我们需要先了解云原生应用的几大主要特征。


云原生应用主要特征


1. 单一代码库

云原生应用必须有单一的代码库,并在版本管理系统中进行追踪。对于微服务架构的应用来说,每个应用由多个服务组成,这些服务应该由单一的代码库进行管理,这保证了构建版本的稳定性。


2. API 优先

云原生应用应该采用 API 优先的设计策略。首先,API 优先的策略保证了 API 的稳定性,同时可以减少不必要的后期修改。其次,API 优先的另外一个好处是可以提高开发效率。不同的团队可以并行工作,从而提高效率。


3. 依赖管理

云原生应用应该管理自己的依赖,云原生应用通常会包含全部所需的依赖,尤其是以容器形式运行的应用,典型的例子是微服务的 REST API。云原生应用会自带嵌入式的 Tomcat 这样的服务器来提供 HTTP 服务。


4. 代码、配置和凭据

代码、配置和凭据是云原生应用开发中创建的三种不同类型的实体。


5. 日志

日志是应用开发中不可或缺的部分。与传统应用不同的是,云原生应用并不需要对日志的输出方式进行很多配置,只是简单地把日志写到标准输出流(stdout)和标准错误流(stderr)。


6. 随时可丢弃

云原生应用的生命周期可能是短暂的,随时可能被终止。云平台可能会随时启动和停止应用的实例,这就要求云原生应用的启动和停止速度都要非常快。


7. 支撑服务

云原生应用的运行离不开支撑服务。支撑服务是一个宽泛的概念,包括数据库、消息中间件、缓存、用户认证和授权、存储等。连接这些支撑服务的配置信息应该被抽离出来,在运行时根据部署环境提供实际值。


8. 环境等同

云原生应用的不同部署环境应该是等同的。开发、测试和生产环境之间不应该有差异,环境的等同性保证了云原生应用可以快速的进行部署,这一特征与构建工件的不变性是相辅相成的,两者缺一不可。


9. 管理任务

云原生应用运行中可能会需要执行一些管理任务,比如生成报表或者执行一次性的数据查询等,这些任务通常并不属于业务流程的一部分,更多的是为了管理和运维的需要。


10. 端口绑定

云原生应用在运行时并不负责管理实际的端口绑定,而是由云平台统一管理。


11. 无状态进程

云原生应用应该是无状态的。所有的状态信息都应该从应用中抽离出来,并保存在支撑服务中,比如数据库中。


12. 并发性

云原生应用使用水平扩展来并发运行多个实例,使用负载均衡来把请求分配到某个实例进行处理。


13. 认证和授权
云原生应用应该是安全的,安全应该在应用的设计阶段就充分考虑。在实现中,可以使用基于角色的访问控制(RBAC)来保护 API,已经有大量的开源框架来帮助实现认证和授权。


总结完云原生应用的特征,我们再来梳理一下传统应用当前的弊端,为何需要云原生转型。


传统应用向云原生应有转型的背景


1. 传统应用现状

· 瀑布式开发模式

· 搭建测试环境周期长

· 依赖手工操作

· 业务迭代慢


2. 传统应用面对的挑战

· 应用架构落后无法复用

· 环境构建困难,影响进度

· 手工操作效率低,易出错

· 开发迭代慢,效率低


3. 企业业务需求的转变

· 快速响应用户反馈

· 支持大业务量

· 支持波动性业务

· 匹配业务的快速扩张或收缩


4. 云原生转型能够实现的场景

· 应用价值提升

· 应用数量增长

· 应用类型丰富

· 应用需求多变


为了支持传统应用平滑向云原生转型,行云创新基于CloudOS(一站式云原生开发平台)提供了完整的解决方案。


传统应用向云原生应用转型


在基础底层,CloudOS帮助企业客户进行容器化,基于K8s的方案,企业可以直接进入容器时代。


在中间,CloudOS提供完整的平台,来支持云原生的全部开发工作,让用户的研发可以专注业务。同时建设平台也是为了后续持续支撑业务应用转型,而不是一次只完成一个应用的变化。俗话说授之以鱼不如授之以渔。


在最上层,行云创新提供技术支持,帮助用户完成应用的转型,这里包括架构的微服务化,开发过程的DevOps建设,发布过程的自动化。


云原生应用转型解决方案

云原生应用转型解决方案


传统应用向云原生应用的收益


1. 业务收益:

· 提升业务价值

· 支持业务扩展

· 应对业务波动


2. 能力提升:

· 提升开发能力

· 保证后续业务迭代

· 建立IT驱动创新模式


3. 节约成本:

· 减少重复投资

· 提升资源使用效能

· 节省人力开销


4. 降低风险:

· 自动化代替人工,更可靠

· 开发管理规范,更安全

· 管理能力提升,更规范


--------------------------


本文内容出自《CloudOS云原生解决方案场景库》,点击下图立即免费获取>>

云原生应用转型

技术交流
我们建了一个云原生技术交流群,其中有来自Oracle、Citrix、华为、腾讯等国内外云计算专家,立即扫码,拉你进群。目前已有1000+开发者加入我们......
云原生厂商 云原生技术服务商
在云原生时代,行云创新致力于通过赋能开发者,实现企业快速迭代与交付,大幅提升创新效率。
免费试用