传统应用如何“丝滑”转型为云原生应用?

news/2024/4/20 22:10:56/文章来源:https://blog.csdn.net/weixin_44592002/article/details/127243519

市场需求瞬息万变,传统型的应用逐渐无法满足业务侧要求,传统应用向云原生应用转型,已势在必行。本篇文章将介绍基于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. 降低风险:

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

· 开发管理规范,更安全

· 管理能力提升,更规范


本文内容出自《云原生技术解决方案场景库》,点击链接免费获取资料>>

白皮书资料免费获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_398922.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python基础(老师PPT)

slist [Alice,2019001, Geoscience, 95] # 使用分号加tab作为分隔符&#xff0c;连接字符串 print(;\t.join(slist))# a X if condition else Z # condition为True时&#xff0c;赋值为X&#xff0c;否则赋值为Z a, b 1, 2 c a > b if a > b else a < b print(c)…

分布式seata案例学习-2

上篇文章学习了如何安装seata&#xff0c;先学习如何使用 事务的4个特性ACID 事务特性 at模式详解 AT模式运行机制 AT模式的特点就是对业务无入侵式&#xff0c;整体机制分二阶段提交 两阶段提交协议的演变&#xff1a; 一阶段&#xff1a;业务数据和回滚日志记录在同一个本地…

【复习整理归纳】| C++面经网络相关(三)

文章目录计算机网络性能指标计算机在发送文件前需要做许多前期的工作分层结构概念OSI参考模型数据链路层ARP网络协议UDP套接字TCPTCP粘包三次握手四次握手为什么建立连接协议是三次握手&#xff0c;而关闭连接却是四次挥手呢&#xff1f;为什么TIME_WAIT状态还需要等2MSL后才能…

C++ | 12天学好C++ (Day 12)->结构图可视化、代码加通俗理解

为每天进步一点点而努力。 C是计算机视觉的重要的一部分&#xff0c;虽然在初始学习时Python应用比较广&#xff0c;但是大多数公司还是C做计算机视觉类的比较多&#xff0c;因为C可加密&#xff0c;所以我们来一起探索吧&#xff01;看了这系列博客&#xff0c;将会学到C的基…

#边学边记 必修4 高项:对事的管理 第4章 项目进度管理之 制定进度计划

制订进度计划的输入、工具与技术和输出 制定进度计划过程分析活动顺序、持续时间、资源需求和进度制约因素&#xff0c;创建项目进度模型的过程。主要作用是把活动、持续时间、资源、资源可用性和逻辑关系代入进度规划工具&#xff0c;从而形成包含各个项目活动的计划日期的进…

在docker安装的centos容器内设置远程链接

写在前面 写在前面 运维这个行业&#xff0c;不需要按照顺序学习。 比如你学会了基础命令&#xff0c;直接学docker和k8s&#xff0c;和学会了基础命令开始学服务难度差不多。 再比如你学会了基础命令直接学shell脚本&#xff0c;也能学的会。 所以我一直主张&#xff0c;…

WEB漏洞-文件操作之文件下载读取全解

目录 前言: (一&#xff09;前置知识 &#xff08;二&#xff09;文件下载读取漏洞利用 1、网站目录的获取&#xff1a; 0x01 字典 0x02 网络爬虫 0x03 fuzz 0x04 自动化工具 0x05 下载传参的脚步文件 0x06 配合其他漏洞 2、下载数据库,操作系统配置文件 0x01 Window…

非空约束

1.创建表时添加约束   创建完表后,添加非空约束 删除name的非空约束

Vue3.0----组件基础【上】(第二章)

一、单页面应用程序 1. 什么是单页面应用程序 单页面应用程序&#xff08;英文名&#xff1a;Single Page Application&#xff09;简称 SPA&#xff0c;顾 名思义&#xff0c;指的是一个 Web 网站中只有唯一的一个 HTML 页面&#xff0c;所有的 功能与交互都在这唯一的一个页…

(六)Shell编程之函数、脚本引用、符号展开、重定向

一、定义函数 shell中函数的定义格式如下&#xff1a; [ function ] funname [()] {action;[return int;] }说明&#xff1a; 可以带function fun()定义&#xff0c;也可以直接fun()定义&#xff0c;如果带function函数名后的小括号可以省略。返回值语句[return int;]可以不写…

软件项目管理:外包 outsourcing、采购 procurement、合同 contracts

文章目录外包不同类型为什么选择外包好处坏处采购 procurementplanning 阶段-弄清需求 & 市场 / 评估风险Source 阶段-确定供应商具体过程RFxState of Work (SOW)评估步骤 Evaluation processManage 阶段Contract 合同定义种类固定价格合同适用场景&#xff08;保守&#x…

稀疏矩阵的压缩存储

目录 稀疏矩阵的定义 稀疏矩阵的转置 代码实现 运行结果 稀疏矩阵的定义 假设在 m * n 的矩阵中&#xff0c;有 t 个元素不为零&#xff0c;且 t<<m*n&#xff0c;则称此矩阵为稀疏矩阵。按照常规的存储方法&#xff0c;稀疏矩阵很浪费内存空间&#xff0c;所以采取…

学习梦想家CMS内容管理系统-环境启动

gitee官网中项目的地址&#xff1a;首先准备里面提到的工具其中JDK8和MySQL5.7我们已经有了&#xff0c;现在需要准备另外的工具。 Spring Tool Suite 4&#xff08;STS&#xff09; 安装过程在《1-1-Spring Tool Suite 4&#xff08;STS&#xff09;的下载安装》 Redis 安装…

数字孪生在电网系统开发建设,如何选择可视化平台?

随着新能源发展规模持续增大&#xff0c;电网作为能源转换利用和输送配置的枢纽平台&#xff0c;其功能、结构和形态发生了深刻变化。同时&#xff0c;随着现代计算机技术发展&#xff0c;数字孪生成为电网向数字化转型、提高电网调度运行决策的准确性与实时性提供关键技术支撑…

初识数据库-MySQL数据库

文章目录数据库数据库的相关概念常见的关系型数据库管理系统MySQL数据库MySQL目录结构MySQL数据模型数据库 数据库的相关概念 数据库 存储数据的仓库&#xff0c;数据是有组织的进行存储英文&#xff1a; DataBase,简称 DB 数据库管理系统 管理数据库的大型软件英文&#xff…

震撼上新丨云和恩墨新一代数据库存储 zStorage 和数据库一体机 zData X 即将发布...

存储&#xff0c;在一定程度上可以称为数据库存储&#xff0c;存储与数据库的发展总是相生相随。技术上&#xff0c;数据库对高 I/O 频率、低时延、高可靠性的追求一直是存储更快、更高、更强需求的来源。商业上&#xff0c;两家影响世界的公司 Oracle 和 EMC 几乎同时起步于 1…

使用element ui的el-upload组件上传图片,记录一下

使用element ui的el-upload组件上传图片 效果预览 下面是实现效果,接口方面是把有两个接口,一个接口上传图片,传参是图片和路径,返回值是路径。另一个接口是上传表单内容(用户,地址,照片),照片是传一个路径。具体实现 html <el-form-item label="上传照片"…

第二十一章 函数递归

一、函数递归调用介绍 函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身。例如在调用f1的过程中,又调用f1,这就是直接调用函数f1本身def f1():print(…

springboot(三)

视频链接&#xff1a;https://www.bilibili.com/video/BV1XQ4y1m7ex/?vd_source9545770e4a2968c05878ffac8589ec6c 视频选集&#xff1a;P58— P92 文章目录1.接口架构风格-RESTful1.1 认识REST1.2 RESTful的注解1.2.1 PathVariable1.2.2 PostMapping1.2.3 DeleteMapping1.2.4…

分布式缓存

本文介绍关于缓存的常用设计模式。以及如何保证缓存的一致性进行分类讨论。 还会介绍关于缓存失效的常见问题&#xff0c;以及针对缓存失效的解决方法。 在高并发的环境下&#xff0c;比如春节抢票大战&#xff0c;一到放票的时间节点&#xff0c;分分钟大量用户以及黄牛的各种…