摘要

  一个新的时代正在到来。这是一个以数字化互动为主导的世界,公司能否采用软件驱动型业务模式将成为决定其成败的关键因素。这一点至关重要,因为软件是策略的核心所在,也是公司与客户互动的主要手段之一。
  从出租车和出行到银行、零售甚至养牛业,几乎各行各业都在经历着根本性的变革和创新。软件驱动型初创公司给许多行业带来了颠覆性的改变,迫使原来的公司不得不去适应瞬息万变的业务环境。为了谋求发展并保持竞争力,企业正在通过将软件应用纳入其核心业务策略来重掌技术。在这个过程中,他们必须一边优化现有应用一边利用全新的现代化开发技术
  企业也在寻求云解决方案,因为云具有加快应用交付、降低成本以及灵活的可扩展性等种种优势。当然,这也进一步増加了IT应用环境的复杂性。软件驱动的业务转型既需要速度,也需要高质量的应用交付。在以速度作为核心竞争力的背后,是増长潜力和竞争压力起着推波助澜的作用。同时,质量也比以往任何时侯都更加重要。客户对应用驱动型业务体验的期望与之前的消费者应用体验一样。如果想要在开发和交付软件应用方面做得更好,企业就需要一种新的方法。他们需要一种能让他们具有云运营模式的速度和效率的策略。这种方法能够让企业在任何云(如公共云、私有云和混合云)上构建、运行和改进响应式应用。
  解决方案就是我们所说的云原生开发——云原生应用利用云计算模型来加快应用开发和交付速度,提高部署灵活性和质量,同时降低部署风险。这种方法让组织在充分利用容器和微服务等创新技术的同时,还能从敏捷开发、 Devops和持续集成与持续部署(CI/CD)等颠覆性实践中获益。

云原生应用开发技术能解决的客户挑战

  第一项挑战是客户需要一个值得信赖、技术领先、基于标准的云原生平台,该平台应具有协同工作能力并提供一致的开发人员体验。这样一来,他们可以将更多时间用来构建应用,而不必再对基础架构和配置投入太多精力。
  其次,数字化转型需要用到云、移动、开源软件和大数据管理等技术。公司需要充分利用现有的软件和应用投资。但是,大多数现有系统并非为云和移动应用而设计。他们会发现很难从现有应用中访问和使用相应的数据和服务。第二项重大挑战就是他们需要连接、扩展现有应用并将现有应用现代化,以适应不断变化的需求。
  第三项重大挑战是他们需要在采用新兴技术和新工具与现有流程、团队和文化之间进行协调,以达到可观的投资回报率,尽可能从新技术投资中获得最大价值。

云原生应用开发概念

  云原生(Cloud-native)应用开发是一种构建和运行应用以充分利用云计算模型优势的方法,即创建响应式、有弹性且有恢复能力的应用。云原生应用开发使企业能够在现代化的动态环境(如公共云、私有云和混合云)中构建和运行可扩展应用。

特性

  • 打包为容器
  • 由平台编排,能够在任何云基础架构上运行
  • 采用微服务的原理
  • 使用诸如持续交付和 Devops等实践进行开发

  这些技术和方法可以为系统提供有弹性、可管理且可监控的应用。当这些应用与强大的自动化功能结合在一起时,IT团队(“开发”和“运维”双方协作)便能够以最低风险频繁地进行有重大影响力的改变。

优势

  • 以客户为中心,通过持续改进不断加快创新速度
    • 云原生开发可实现快速的持续改进,从而实现客户至上、及时满足客户需求的业务模式。
    • 云原生开发会充分利用工具、AB测试和分析来确定客户将如何使用他们的应用以及客户意图。这样可以快速、有效地提高企业的创新能力。
  • 偏重速度,持续交付新应用并优化现有应用
    • 对于许多公司而言,想要跻身颠覆领先行列,不仅要能够交付新应用,还能优化当前应用和系统。減少团队文化中的阻力、细化工作并实现环境的自动化,将有助于全面提高软件开发的速度,而不单单局限于新功能和新应用。
  • 逐步攻克式应用开发
    • 开发团队的构建和发布速度越快,他们就会越偏向于以增量组件或微服务(而非功能完善的应用)的方式来构建软件。
    • 今天我们认定的单个应用,明天将归类为精细微服务的集合,而且主要是组合而成,而不是通过编写代码构建的应用。
  • 通过自动化降低风险和成本,同时提高速度和质量
    • 不一致会带来风险。手动活动(尤其是快速完成的活动)会造成不一致,进而导致质量下降和故障。
    • 企业可以借助 Devops实践和工具来实现大部分应用交付流程的自动化,以此消除交接和等待时间,从而提高速度和质量,同时降低成本和返工率。过去,速度和质量无法兼得,但Devops变革彻底粉碎了这种两难局面。现在,两者可以兼而有之。

云原生开发主要为了加快应用的开发和交付,从而做到

  • 构建新的应用和服务,以支持业务创新和转型
  • 对现有应用进行现代化改造,以从现有T投资中挖掘新价值
  • 将新的应用和现有的应用连接起来,以推动创新、提高效率并获得竞争优势

云原生应用开发的技术基础基于以下四个关键技术和方法

  • 容器和编排
    • 与标准虚拟机(VM)相比,容器具有更高的效率、密度和速度,因而成为交付云原生应用的理想部署单元和自包含执行(计算和存储)环境。编排提供了用于管理容器化工作负载和服务的工具,并可实现自动化。
  • DevOps自动化和持续交付
    • 指导构建应用及运行该应用所需的流程、协作和工具。从最初的想法到生产发布,再到客户反馈,最后根据用户反馈增强功能,所有步骤都是自动完成的,从而实现持续创新。
  • 微服务和服务网格
    • 松散耦合的系统更易于构建、测试、部署和更新。即便不是每个云原生项目都从微服务开始,但最终的架构还是基于微服务的。通过转移用于协调服务间通信的应用代码,并将它们作为可配置基础架构组件提供,服务网格可简化微服务开发。
  • 应用编程接口(API)和API管理
    • API是构成云原生应用的服务的默认接口,用于交换数据和功能。API简化了应用的组合、测试和维护。此外,API管理可在公司的API与使用这些API的开发人员、客户、合作伙伴和员工之间提供安全中介和策略实施服务。

在这里插入图片描述

红帽云原生解决方案的主要组件:

  • 红帽 Openshift容器平台和红帽 CodeReady
    • 利用红帽 Openshift容器平台和红帽 CodeReady,借助自动化CICD和 DevOps经验,构建、封装、部署和操作应用。
  • 红帽中间件产品组合
    • 利用红帽中间件产品组合,借助丰富的开发人员经验和(微)服务,可以设计、开发、集成应用并实现应用现代化。
  • 红帽 Ansible自动化
    • 红帽 Ansible自动化是一个IT自动化引擎,可用于软件置备、配置管理和应用部署,以提供高效的运维体验。
  • 开放创新实验室
    • 开放创新实验室和容器采用方案提供沉浸式服务,以知识、流程和实践来武装客户,从而交付可带来丰硕成果的业务应用。
      在这里插入图片描述

  红帽 OpenShift容器平台和红帽中间件能够协同工作,以帮助您基于行业标准(如容器和 Kubernetes)开发和交付可移植的响应式互连智能应用,从而实现应用交付、管理、监控的自动化,并扩展应用以助力数字化转型。它们结合红帽CodeReady,构成了ー个具有统一基础功能的应用环境,这些功能协同工作,以大规模地在本地和云端开发和运行现代业务应用。

更多推荐