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

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

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

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

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

基础设施现代化

传统基础设施云原生基础设施的升级转变。

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

应用架构现代化

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

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

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

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

开发运维现代化

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

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

治理运营现代化

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

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

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

往期精彩内容推荐

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

相关推荐
小扳3 小时前
微服务篇-深入了解 MinIO 文件服务器(你还在使用阿里云 0SS 对象存储图片服务?教你使用 MinIO 文件服务器:实现从部署到具体使用)
java·服务器·分布式·微服务·云原生·架构
aherhuo13 小时前
kubevirt网络
linux·云原生·容器·kubernetes
catoop14 小时前
K8s 无头服务(Headless Service)
云原生·容器·kubernetes
小峰编程15 小时前
独一无二,万字详谈——Linux之文件管理
linux·运维·服务器·云原生·云计算·ai原生
小马爱打代码15 小时前
云原生服务网格Istio实战
云原生
运维小文16 小时前
K8S中的PV、PVC介绍和使用
docker·云原生·容器·kubernetes·存储
ζั͡山 ั͡有扶苏 ั͡✾17 小时前
Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
云原生·容器·kubernetes
Hadoop_Liang17 小时前
Kubernetes ConfigMap的创建与使用
云原生·容器·kubernetes
老猿讲编程17 小时前
技术发展历程:从 CORBA 到微服务
微服务·云原生·架构
Odoo老杨1 天前
Odoo 免费开源 ERP:通过 JavaScript 创建对话框窗口的技术实践分享
javascript·odoo·数字化转型·erp·企业信息化