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

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)


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

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

相关文章

(译) 理解 Elixir 中的宏 Macro, 第三部分:深入理解 AST

Elixir Macros 系列文章译文 [1] (译) Understanding Elixir Macros, Part 1 Basics[2] (译) Understanding Elixir Macros, Part 2 - Macro Theory[3] (译) Understanding Elixir Macros, Part 3 - Getting into the AST[4] (译) Understanding Elixir Macros, Part 4 - Divin…

【机器学习】“强化机器学习模型:Bagging与Boosting详解“

1. 引言 在当今数据驱动的世界里,机器学习技术已成为解决复杂问题和提升决策制定效率的关键工具。随着数据的增长和计算能力的提升,传统的单一模型方法已逐渐无法满足高精度和泛化能力的双重要求。集成学习,作为一种结合多个学习算法以获得比…

2024-04-03 问AI: 在深度学习中,什么是训练中的epoch?

文心一言 在深度学习中,一个“epoch”指的是整个数据集被模型完整地遍历和学习一次的过程。换句话说,当模型已经看过数据集中的所有样本一次时,我们就说已经完成了一个epoch。 理解epoch的概念对于训练深度学习模型非常重要。在训练过程中&…

Linux下docker运行python

前言 本机开发环境众多,python版本都好多个,虽然可以通过conda管理多个虚拟环境,但还是不能像容器那样进行进程间的隔离。于是打算试下docker下运行python,而且生产环境很多时候也是用容器来跑应用,环境统一、方便扩容…

hive的使用(本地数据上传到idea)

1.首先第一步是先启动hive,hive的启动指令如下 nohup hiveserver2 & 2.然后我们进入idea中 这里我们使用的是idea里的Apache Hive的插件,进行配置,等我们跟moba连接好后,就可以进行数据的导入了。 hive的sql和mysql里的sql语…

vmvare ubuntu 拖拽复制

目录 先是弹框报错: 但是拖拽到文件夹还是红色的禁止符号,解决方法 在VMware中安装新版Ubuntu后,无法跨虚拟机复制粘贴和拖拽文件的解决方法 先是弹框报错: Ubuntu 22.04 drag and drop is not supported 解决方法:…

常见的sql优化策略

常见的 SQL 优化策略包括: 使用索引: 索引可以加速 SQL 查询的速度,特别是对于经常用于筛选、排序和连接的列。确保在经常查询的列上创建合适的索引,以提高查询性能。 合理设计数据库结构: 设计合理的数据库结构可以提…

ubuntu安装sublime3并设置中文

安装Sublime Text 3 在Ubuntu上安装Sublime Text 3可以通过以下步骤进行: 打开终端。 导入Sublime Text 3的GPG密钥: wget -qO- https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add - 添加Sublime Text 3的存储库: …

蓝奏云直链获取在线解析网站源码

源码简介 蓝奏云直链获取在线解析网站源码 蓝奏云链接解析 本地API接口 支持有无密码和短期直链和永久直链,同时还可以显示文件名和大小。 这个解析器无需数据库即可搭建,API接口已经本地化,非常简单易用。 安装环境 php5.6 搭建教程 …

WPF 行为

WPF 行为 一、前言 行为是一类事物的共同特征,可以向用户界面控件添加功能,而无需将其子类化。 功能是在行为类中实现的,并附加到控件上,就像它本身就是控件的一部分。 比如在鼠标进入/离开控件时,表现出不同的现象…

excel wps中编码格式转换

EXCEL报表:另存为CSV格式,转换成UTF-8编码 - 简书 (jianshu.com) 经验证管用

Oracle数据库安全管理与数据加密技术

一、引言 数据安全性的重要性 在现代社会中,信息安全已经成为国家安全和企业安全的重要组成部分。随着人们对数字数据的使用越来越频繁,保护数字信息的安全性和完整性变得越来越重要。对于企业和个人用户来说,数据安全比任何时候都要重要&a…

Flask Python:如何获取不同请求方式的参数

目录 前言 1. 获取GET请求中的查询参数 2. 获取POST请求中的表单数据 3. 获取JSON数据 总结 前言 在使用Flask开发Web应用时,我们经常需要获取不同请求方式的参数。Flask提供了多种方式来获取不同请求方式的参数,包括GET请求中的查询参数、POST请求…

Node.js环境调用百度智能云(百度云)api鉴权认证三步走

方式一 :Postman脚本的方式生成v1版本的认证字符串 Postman脚本下载 下载Postman pre-request Script 设置 Authorization 示例脚本 方式二:在线签名工具生成 (试用于验证编程字符串签名是否有错误) 签名计算工具 https://cloud.baidu.com/signature/index.html …

postgis 建立路径分析,使用arcmap处理路网数据,进行拓扑检查

在postgresql+postgis上面,对路网进行打断化简,提高路径规划成功率。 一、创建空间库以及空间索引 CREATE EXTENSION postgis; CREATE EXTENSION pgrouting; CREATE EXTENSION postgis_topology; CREATE EXTENSION fuzzystrmatch; CREATE EXTENSION postgis_tiger_geocoder;…

掌握机器学习新星:使用Python和Scikit-Learn进行图像识别

正文: 随着智能手机和社交媒体的普及,图像数据的生成速度比以往任何时候都快。为了自动化处理这些数据,我们需要强大的图像识别系统。机器学习提供了一种有效的方法来识别和分类图像中的对象。Scikit-Learn是一个流行的Python库,它…

elementui 左侧或水平导航菜单栏与main区域联动

系列文章目录 一、elementui 导航菜单栏和Breadcrumb 面包屑关联 二、elementui 左侧导航菜单栏与main区域联动 三、elementui 中设置图片的高度并支持PC和手机自适应 四、elementui 实现一个固定位置的Pagination(分页)组件 文章目录 系列文章目录…

R语言数据挖掘:随机森林(1)

数据集heart_learning.csv与heart_test.csv是关于心脏病的数据集,heart_learning.csv是训练数据集,heart_test.csv是测试数据集。要求:target和target2为因变量,其他诸变量为自变量。用决策树模型对target和target2做预测&#xf…

zookeeper监听集群节点的实现zkclient组件实现方案(Java版)

ZooKeeper Watcher 机制 client 向zookeeper 注册监听client注册的同时会存储一个WatchManager对象向zookeeper发生改变则notification client 并发送一个WatchManager对象,然后client再更新该对象 package com.jacky.zk.demo;import org.I0Itec.zkclient.IZkChildListener;…

MacOS 14 搭建 PHP7.4 + Xdebug开发环境

摘要 项目使用的技术栈:PHP 7.4.33、ThinkPHP 5.1.27、Redis、MySQL 由于MacOS预装的PHP版本较高,所以需要降级 IDE 使用 PhpStorm 2023.2.3 1. 安装PHP 7.4.33 MacOS 14中的brew版本比较高,没有低版本的PHP brew install shivammathur/p…