当前位置: 首页 > news >正文

云原生:应用敏捷,华为视角下的应用现代化

Gartner 也提出,到 2023 年,新应用新服务的数量将达到 5 亿,也即是说:“每个企业都正在成为软件企业”。据IDC 预测,到 2025 年三分之二的企业将成为多产的“软件企业”,每天都会发布软件版本。越来越多的企业将使用软件来交付服务,企业需要敏捷的业务能力来应对快速变化的市场,同时需要领先的创新能力来形成差异化的市场竞争力。


传统应用陈旧的架构和开发模式存在的问题

  • 架构耦合度大
  • 应用愈发复杂
  • 技术债务持续积累
  • 无法按需弹性
  • 开发模式落后
  • 部署发布周期长
  • 开发运维割裂

华为基于服务数百万企业客户的经验沉淀,以及结合自身 30 年的数字化实践总结,提出“基础设施现代化、应用 架构现代化、开发运维现代化、治理运营现代化”这四个现代化是企业走向应用现代化的关键,让企业走上以业务和应 用为中心的敏捷道路,重塑应用的商业价值。


应用现代化参考架构.png


基础设施现代化

传统基础设施云原生基础设施的升级转变。
基础设施现代化的核心在于将企业应用移植至云端,借助容器、多元算力、Serverless等技术,重塑应用底层架构。这使得基础设施资源具备高弹性和高可用性,充分发挥云平台的技术和优势。


应用架构现代化

应用架构现代化涉及运用微服务Serverless等技术,将应用分解为可独立运行的模块,以满足客户需求。这些模块能够实现高可用性和弹性扩展。现代化应用架构为敏捷开发奠定了基础,使应用能够更快速地适应不断变化的市场需求,从而提升企业的竞争力。

  • 微服务架构:让每个微服务块集中和独立处理一个内聚的业务逻辑,以便使应用的开发、部署、运行和治理得以独立进行。实现应用的松耦合,降低开发运维的复杂度。

  • Serverless:通过业务系统实时感知负载需求,动态调整和分配底层资源,实现资源的最大化利用。资源在业务处理完毕后自动释放和回收,解放开发者的生产力,使其专注于业务和应用开发的核心工作,而无需关心服务器资源管理。

  • 应用高可用:通过跨可用区(AZ)部署和跨地域异地容灾来确保业务的持续性,利用云平台提供的功能进行故障追溯和流量切换,以实现快速响应和恢复。


开发运维现代化

传统的应用开发和交付模式需要转变为以 DevOps 为核心的开发运维一体化模式,来加速软件交付速度,同时抽象化、模板化、自动化、智能化、立体运维是开发运维现代化的主要特征。

  • 抽象化:从代码中抽取出与业务逻辑无关的基础性的公共代码,使用代码框架(也称为脚手架或胶水代码)和与之匹配的研发工具链来封装这部分代码,供其他服务调用。
  • 模板化:采用“基础设施即代码”模式,使得应用的环境、中间件、依赖服务等都能通过代码声明和定义。这种模式下,软件部署变得模板化,为应用的大规模、批量化复制与部署提供了基础。
  • 自动化:通过采用DevOps实践实现开发的自动化,软件的生产交付过程变得可复制、可批量化的生产流水线。持续集成(CI)/持续交付(CD)作为关键的自动化实践,使得交付效率得以提升。
  • 智能化:通过数据分析与智能化技术,针对应用开发全生命周期进行改进将极大地提升开发过程的效率与质量。举例来说,最新的代码检查不再局限于静态扫描,而是采用广度和深度兼顾的扫描方式成为常态。基于最佳实践和优化推荐的智能化代码修复建议将为开发人员提供高效、质量的帮助,进一步提升开发效率与代码质量。
  • 立体运维:这是基于云的多层多维度运维方式,包括基础设施运维(如虚拟机、容器和存储)、平台运维(如中间件和数据库)、以及应用运维(如微服务、进程实例和应用性能)。同时,云平台提供丰富的运维数据,可帮助业务团队进一步提升运维自动化、智能化能力,包括告警关联分析、链路追踪、事务监控和海量日志分析等。

治理运营现代化

据Gartner预测,到2025年,90%的现有企业应用仍将持续使用。随着数字化转型的深入,企业业务应用数量增加,但系统之间相互割裂和缺乏交互会导致信息孤岛的出现。企业常态下存在新老应用并存、业务在不同环境、多云部署等情况。治理运营现代化旨在利用云的敏捷性,实现新生应用和现有应用的有机协同,构建可平滑演进的企业IT架构;通过数字资产的复用性,简化企业应用开发的复杂度,降低试错成本和风险,发挥新老应用和资产的最大价值。

  • 融合集成
  • 双模微服务治理
  • 资产沉淀/运营
  • 多云/混云治理



声明:本文内容参考华为与中国信通院联合出品的《云原生2.0白皮书》



往期精彩内容推荐

云原生:为企业带来的7大价值
云原生:重塑未来应用的基石
「快速部署」第一期清单
【快捷部署】011_PostgreSQL(16)
【快捷部署】010_MySQL(5.7.27)


相关文章:

云原生:应用敏捷,华为视角下的应用现代化

Gartner 也提出,到 2023 年,新应用新服务的数量将达到 5 亿,也即是说:“每个企业都正在成为软件企业”。据IDC 预测,到 2025 年三分之二的企业将成为多产的“软件企业”,每天都会发布软件版本。越来越多的企…...

【测试篇】接口测试

接口测试,可以用可视化工具 postman。 如何做接口测试?? 我们可以先在浏览器中随机进入一个网页,打开开发者工具(F12)。 随便找一个接口Copy–>Copy as cURL(bash) 打开postman 复制地址 进行发送。 …...

突破校园网限速:使用 iKuai 多拨分流负载均衡 + Clash 代理(内网带宽限制通用)

文章目录 1. 简介2. iKuai 部署2.1 安装 VMware2.2 安装 iKuai(1) 下载固件(2) 安装 iKuai 虚拟机(3) 配置 iKuai 虚拟机(4) 配置 iKuai(5) 配置多拨分流 2.3 测试速度 3. Clash 部署(1) 配置磁盘分区(2) 安装 Docker(3) 安装 Clash(4) 设置代理 4. 热点:一起瓜分互…...

03-JAVA设计模式-工厂模式详解

工厂模式 工厂设计模式是一种创建型设计模式,它提供了一种封装对象创建过程的机制,将对象的创建与使用分离。 这种设计模式允许我们在不修改客户端代码的情况下引入新的对象类型。 在Java中,工厂设计模式主要有三种形式:简单工厂…...

百度文心大模型推理成本降至1% / 马斯克起诉OpenAI |魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 百度文心大模型推理成本降至1%,与三星、荣耀等企业达成合作 马斯…...

Struts2的入门:新建项目——》导入jar包——》jsp,action,struts.xml,web.xml——》在项目运行

文章目录 配置环境tomcat 新建项目导入jar包新建jsp界面新建action类新建struts.xml,用来配置action文件配置Struts2的核心过滤器:web.xml 启动测试给一个返回界面在struts.xml中配置以实现页面的跳转:result再写个success.jsp最后在项目运行 配置环境 …...

git 标签功能操作以及回退

Git 标签功能允许开发者为特定的提交打上标签,以便后续能够方便地引用这些提交。标签通常用于标记重要的版本或里程碑,例如软件发布的版本号。与分支不同,标签指向的是固定的提交,一旦设置,就不能轻易更改。下面是一些…...

利用python实现文字转语音

代码如下: import pathlib import tkinter as tk import tkinter.ttk as ttk import tkinter.filedialog as filedialog import tkinter.messagebox as msgbox import pyttsx3class Application(tk.Tk):def __init__(self):super().__init__()self.title("文本…...

拾光坞N3 ARM 虚拟主机 i茅台项目

拾光坞N3 在Dcoker部署i茅台案例 OS:Ubuntu 22.04.1 LTS aarch64 cpu:RK3566 ram:2G 部署流程——》mysql——》java8——》redis——》nginx mysql # 依赖 apt update apt install -y net-tools apt install -y libaio* # 下载mysql wg…...

docker安装nacos,单例模式(standalone),使用mysql数据库

文章目录 前言安装创建文件夹"假装"安装一下nacos拷贝文件夹删除“假装”安装的nacos容器生成nacos所需的mysql表获取mysql-schema.sql文件创建一个mysql的schema 重新生成新的nacos容器 制作docker-compose.yaml文件查看网站 前言 此处有本人写得简易版本安装&…...

【运输层】传输控制协议 TCP

目录 1、传输控制协议 TCP 概述 (1)TCP 的特点 (2)TCP 连接中的套接字概念 2、可靠传输的工作原理 (1)停止等待协议 (2)连续ARQ协议 3、TCP 报文段的首部格式 1、传输控制协议…...

深入浅出 -- 系统架构之Keepalived搭建双机热备

Keepalived重启脚本双机热备搭建 ①首先创建一个对应的目录并下载keepalived安装包(提取码:s6aq)到Linux中并解压: [rootlocalhost]# mkdir /soft/keepalived && cd /soft/keepalived [rootlocalhost]# wget https://www.keepalived.…...

如何做好产业园运营?树莓集团:响应政府号召,规划,注重大局观

随着经济的发展和产业结构的调整,产业园区的建设和发展已经成为推动地方经济的重要力量。如何做好产业园运营,提高行业竞争力,现已成为了一个亟待解决的问题。树莓集团作为一家有着丰富产业园运营经验的企业,积极响应政府号召&…...

NIO与BIO

当谈到 Java 网络编程时,经常会听到两个重要的概念:BIO(Blocking I/O,阻塞 I/O)和 NIO(Non-blocking I/O,非阻塞 I/O)。它们都是 Java 中用于处理 I/O 操作的不同编程模型。 一、介…...

YOLOv5实战记录05 Pyside6可视化界面

个人打卡,慎看。 指路大佬:【手把手带你实战YOLOv5-入门篇】YOLOv5 Pyside6可视化界面_哔哩哔哩_bilibili 零、虚拟环境迁移路径后pip报错解决 yolov5-master文件夹我换位置后,无法pip install了。解决如下: activate.bat中修改…...

HTML5.Canvas简介

1. Canvas.getContext getContext(“2d”)是Canvas元素的方法,用于获取一个用于绘制2D图形的绘图上下文对象。在给定的代码中,首先通过getElementById方法获取id为"myCanvas"的Canvas元素,然后使用getContext(“2d”)方法获取该Ca…...

excel统计分析——多项式回归

参考资料:生物统计学 多项式回归属于单变量曲线回归,但其形式和求解方法与多元线性回归相似。多项式回归的数学模型为: 令,,,,则 由于X不可逆,两边同时乘以X得,&#xff…...

SQLyog连接数据库8.0版本解析错误问题解决方案

问题描述: 解决方案: alter userrootlocalhostidentified with mysql_native_password by 密码; 再次连接就可以了。...

【数据库】SQL简介

SQL(Structured Query Language,结构化查询语言)是一种用于管理关系型数据库管理系统(RDBMS)的标准化语言。它用于访问和操作数据库中的数据,执行各种任务,如插入、更新、删除和检索数据&#x…...

AWS入门实践-利用S3构建一个静态网站

使用Amazon S3托管静态网站是一个流行的选择,因为它简单、成本效益高,并且易于维护。静态网站由不含服务器端脚本的文件组成,如HTML、CSS和JavaScript文件。下面是使用S3托管静态网站的操作步骤: 如果大家没有AWS免费账号&#x…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

Kafka入门-生产者

生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...

倒装芯片凸点成型工艺

UBM(Under Bump Metallization)与Bump(焊球)形成工艺流程。我们可以将整张流程图分为三大阶段来理解: 🔧 一、UBM(Under Bump Metallization)工艺流程(黄色区域&#xff…...

Qt的学习(一)

1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...