云原生开发基础
云原生开发基础概念:云原生(Cloud-native)应用开发是一种构建和运行应用以充分利用云计算模型优势的方法,即创建响应式、有弹性且有恢复能力的应用。云原生应用开发使企业能够在现代化的动态环境(如公共云、私有云和混合云)中构建和运行可扩展应用。特性:打包为容器由平台编排,能够在任何云基础架构上运行采用微服务的原理使用诸如持续交付和 Devops等实践进行开发优势:以客户为中心,通过持续改进不断
摘要
一个新的时代正在到来。这是一个以数字化互动为主导的世界,公司能否采用软件驱动型业务模式将成为决定其成败的关键因素。这一点至关重要,因为软件是策略的核心所在,也是公司与客户互动的主要手段之一。
从出租车和出行到银行、零售甚至养牛业,几乎各行各业都在经历着根本性的变革和创新。软件驱动型初创公司给许多行业带来了颠覆性的改变,迫使原来的公司不得不去适应瞬息万变的业务环境。为了谋求发展并保持竞争力,企业正在通过将软件应用纳入其核心业务策略来重掌技术。在这个过程中,他们必须一边优化现有应用,一边利用全新的现代化开发技术。
企业也在寻求云解决方案,因为云具有加快应用交付、降低成本以及灵活的可扩展性等种种优势。当然,这也进一步増加了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,构成了ー个具有统一基础功能的应用环境,这些功能协同工作,以大规模地在本地和云端开发和运行现代业务应用。
更多推荐
所有评论(0)