当前位置: 首页 > 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…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子&#xff08…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...

大模型真的像人一样“思考”和“理解”吗?​

Yann LeCun 新研究的核心探讨:大语言模型(LLM)的“理解”和“思考”方式与人类认知的根本差异。 核心问题:大模型真的像人一样“思考”和“理解”吗? 人类的思考方式: 你的大脑是个超级整理师。面对海量信…...

window 显示驱动开发-如何查询视频处理功能(三)

​D3DDDICAPS_GETPROCAMPRANGE请求类型 UMD 返回指向 DXVADDI_VALUERANGE 结构的指针,该结构包含特定视频流上特定 ProcAmp 控件属性允许的值范围。 Direct3D 运行时在D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中为特定视频流的 ProcAmp 控件属性指定DXVADDI_QUER…...

Python爬虫(52)Scrapy-Redis分布式爬虫架构实战:IP代理池深度集成与跨地域数据采集

目录 一、引言:当爬虫遭遇"地域封锁"二、背景解析:分布式爬虫的两大技术挑战1. 传统Scrapy架构的局限性2. 地域限制的三种典型表现 三、架构设计:Scrapy-Redis 代理池的协同机制1. 分布式架构拓扑图2. 核心组件协同流程 四、技术实…...