云原生十二问

一、什么是云原生?

云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代企业希望构建高度可扩展、灵活且具有弹性的应用程序,可以快速更新以满足客户需求。为此,他们使用现代工具和技术,这些工具和技术本质上支持云基础设施上的应用程序开发。这些云原生技术支持快速、频繁地更改应用程序,而不会影响服务交付,从而为采用者提供了创新的竞争优势。

二、云原生有哪些好处?

云生态已臻完善,历久发展至今的企业已纷纷融合使用云资源,新生的企业也都以云为基础原点来驱动自身业务发展。云原生的优势早已被验证,勿容置喙。

提高效率

云原生开发带来了 DevOps 和持续交付(CD)等敏捷实践。开发人员使用自动化工具、云服务和现代设计文化来快速构建可扩展的应用程序。

降低成本

通过采用云原生方法,公司不必投资于昂贵的物理基础设施的采购和维护。这样可以长期节省运营支出。构建云原生解决方案所节省的成本也可能使您的客户受益。

确保可用性

云原生技术使公司能够构建弹性强且高度可用的应用程序。功能更新不会导致停机,公司可以在旺季纵向扩展应用程序资源,以提供积极的客户体验。

三、什么是云原生应用程序?

云原生应用程序是由多个称为微服务的相互依赖的小型服务组成的软件程序。传统上,开发人员使用包含所有必需功能的单块结构构建整体式应用程序。通过使用云原生方法,软件开发人员将功能分解为更小的微服务。这使得云原生应用程序更加敏捷,因为这些微服务可以独立工作,并且只需极少的计算资源即可运行。

云原生应用程序与传统企业应用程序的对比

传统的企业应用程序是使用不太灵活的软件开发方法构建的。开发人员通常在发布大量软件功能以供测试之前进行工作。因此,传统的企业应用程序需要更长的部署时间,而且无法扩展。

另一方面,云原生应用程序使用协作方法,并且在不同平台上具有高度可扩展性。开发人员使用软件工具在云原生应用程序中大幅度实现构建、测试和部署过程的自动化。您可以立即设置、部署或复制微服务,这是传统应用程序无法实现的操作。

四、什么是 CNCF?

云原生计算基金会(CNCF)是一个开源基金会,可帮助组织开启云原生之旅。CNCF 成立于 2015 年,支持开源社区开发关键的云原生组件,包括 Kubernetes。

五、什么是云原生应用程序架构?

云原生架构结合了开发团队用来构建和运行可扩展的云原生应用程序的软件组件。CNCF 将不可变基础设施、微服务、声明式 API、容器和服务网格列为云原生架构的技术块。

不可变基础设施

不可变基础设施意味着用于托管云原生应用程序的服务器在部署后保持不变。如果应用程序需要更多计算资源,则会丢弃旧服务器,并将应用程序移至新的高性能服务器。通过避免手动升级,不可变基础设施使云原生部署成为一个可预测的过程。

微服务

微服务是小型的独立软件组件,它们作为完整的云原生软件共同运行。每个微服务都侧重于一个小而具体的问题。微服务是松散耦合的,这意味着它们是相互通信的独立软件组件。开发人员通过处理单个微服务来更改应用程序。这样,即使一个微服务出现故障,应用程序仍能继续运行。

API

应用程序编程接口(API)是两个或多个软件程序用来交换信息的方法。云原生系统使用 API 将松散耦合的微服务整合在一起。API 会告诉您微服务想要什么数据以及它能给您带来什么结果,而不是指定实现结果的步骤。

服务网格

服务网格是云基础设施中的一个软件层,用于管理多个微服务之间的通信。开发人员使用服务网格来引入其他功能,而无需在应用程序中编写新代码。

容器

容器是云原生应用程序中最小的计算单元。它们是将微服务代码和其他必需文件打包在云原生系统中的软件组件。通过容器化微服务,云原生应用程序独立于底层操作系统和硬件运行。这意味着软件开发人员可以在本地、云基础设施或混合云上部署云原生应用程序。 开发人员使用容器将微服务与其各自的依赖项(例如主应用程序运行所需的资源文件、库和脚本)打包。

容器的优势

容器的一些优势包括:

  • 与传统的应用程序部署相比,使用的计算资源更少

  • 几乎可以立即部署它们

  • 可以更高效地扩展应用程序所需的云计算资源

六、什么是云原生应用程序开发?

云原生应用程序开发描述了开发人员如何以及在何处构建和部署云原生应用程序。文化转型对于云原生开发非常重要。开发人员采用特定的软件实践来缩短软件交付时间,并提供满足不断变化的用户期望的准确功能。如下常见的云原生开发实践。

持续集成

持续集成(CI)是一种软件实践,在这种实践中,开发人员可以频繁地将更改集成到共享代码库中,而不会出错。小而频繁的更改可以提高开发效率,因为您可以更快发现问题并对其进行问题排查。CI 工具会自动评估每次更改的代码质量,以便开发团队可以更有信心地添加新功能。

持续交付

持续交付(CD)是一种支持云原生开发的软件实践。借助 CD,开发团队可确保微服务随时准备部署到云中。他们使用软件自动化工具来降低进行更改时的风险,例如引入新功能和修复应用程序中的错误。CI 和 CD 协同工作,实现高效的软件交付。

开发运维

DevOps 是一种改善开发和运营团队协作的软件文化。这是一种与云原生模式保持一致的设计理念。DevOps 实践使组织能够加快软件开发生命周期。开发人员和运营工程师使用 DevOps 工具实现云原生开发的自动化。

无服务器

无服务器计算是一种云原生模式,云提供商完全管理底层服务器基础设施。开发人员之所以使用无服务器计算,是因为云基础设施会自动扩展和配置以满足应用程序要求。开发人员只需为应用程序使用的资源付费。当应用程序停止运行时,无服务器架构会自动移除计算资源。

七、云原生应用程序开发有哪些优点?

更快的开发

开发人员使用云原生方法来缩短开发时间并获得更高质量的应用程序。开发人员无需依赖特定的硬件基础设施,而是使用 DevOps 实践构建随时可部署的容器化应用程序。这使开发人员能够快速响应更改。例如,可以在不关闭应用程序的情况下进行多次每日更新。

平台独立性

通过在云中构建和部署应用程序,开发人员可以确保操作环境的一致性和可靠性。他们不必担心硬件不兼容,因为云提供商会解决这个问题。因此,开发人员可以专注于在应用程序中交付价值,而不是设置底层基础设施。

经济高效的运营

您只需为应用程序实际使用的资源付费。例如,如果您的用户流量仅在一年中的特定时间达到峰值,您只需为该时段支付额外费用。您不必预调配一年中大部分时间处于闲置状态的额外资源。

八、什么是云原生堆栈?

云原生堆栈描述了开发人员用于构建、管理和运行云原生应用程序的云原生技术层。主要分为以下几类。

基础设施层

基础设施层是云原生堆栈的基础。它由操作系统、存储、网络和其他由第三方云提供商管理的计算资源组成。

预调配层

预调配层由分配和配置云环境的云服务组成。

运行时层

运行时层为容器的运行提供云原生技术。包括云数据存储、联网功能和容器运行时(如 containerd)。

编排和管理层

编排和管理负责整合各种云组件,以便它们作为一个单元运行。它类似于操作系统在传统计算中的工作方式。开发人员使用 Kubernetes 等编排工具在不同的机器上部署、管理和扩展云应用程序。

应用程序定义和开发层

此云原生堆栈层由用于构建云原生应用程序的软件技术组成。例如,开发人员使用数据库、消息传递、容器映像等云技术以及持续集成(CI)和持续交付(CD)工具来构建云应用程序。

可观察性和分析工具

可观察性和分析工具监控、评估和改善云应用程序的系统运行状况。开发人员使用工具来监控 CPU 使用率、内存和延迟等指标,以确保应用程序的服务质量不会受到干扰。

在这里插入图片描述

九、什么是云计算?

云计算是指托管在外部数据中心并按使用量付费提供给用户的软件基础设施。公司不必为昂贵的服务器付费并进行维护。相反,他们可以使用云提供商提供的按需云原生服务,例如存储、数据库和分析。

十、云计算与云原生的对比

云计算是云供应商按需提供的资源、基础设施和工具。而云原生是一种使用云计算模型构建和运行软件程序的方法。

十一、什么是支持云?

支持云的应用程序是以前在本地数据中心运行但已修改为在云端运行的传统企业应用程序。这涉及更改软件模块的一部分以将应用程序迁移到云服务器。

十二、云原生与支持云的对比

云原生一词是指从一开始就设计为驻留在云中的应用程序。云原生涉及云技术,例如微服务、容器编排工具和自动扩缩。支持云的应用程序不具备云原生应用程序的灵活性、弹性或可扩展性。这是因为支持云的应用程序即使已迁移到云端,仍保留其整体结构。

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

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

相关文章

python旅游大数据分析可视化大屏 游客分析+商家分析+舆情分析 计算机毕业设计(附源码)Flask框架✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

挑战 ChatGPT 和 Google Bard 的防御

到目前为止,科学家已经创建了基于人工智能的聊天机器人,可以帮助内容生成。我们还看到人工智能被用来创建像 WormGPT 这样的恶意软件,尽管地下社区对此并不满意。但现在正在创建聊天机器人,可以使用生成人工智能通过即时注入活动来…

Nginx - 使用error_page实现带有图片的自定义错误页面

文章目录 概述官网文档需求实现 概述 在Nginx中,您可以使用error_page指令来指定当请求遇到特定错误时应当显示的自定义错误页面。为了实现带有图片的自定义错误页面,可以按照以下步骤操作: 创建错误页面: 首先,需要…

每天刷两道题——第三天

1.1两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换) 输入:[1,2,3,4] 输出:[2,1,4,3…

‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。这个问题如何解决?

这个错误信息 vue-cli-service 不是内部或外部命令,也不是可运行的程序或批处理文件 表示 vue-cli-service 命令在你的系统上未被识别。这通常是因为 Vue CLI 没有被正确安装或其路径没有被加入到系统的环境变量中。以下是几个解决这个问题的步骤: 确认 …

Oracle 日志路径查询介绍

数据库日志分析详解:  ORACEL RAC 体系架构分析  Oracle RAC 包含GI(Grid Infrastructure) 集群软件与Oracle数据库组成。  GI包含两个最主要的组件:Clusterware集群软件和ASM存储软件,这两个软件提供数据库高可用能力。  …

自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程

大家好,我是微学AI,今天给大家介绍一下自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程。在大模型ChatGPT发布之前,NLP领域是BERT,T5模型为主导,T5(Text-to-Text Transfer Transformer)是一种由Google Brain团队在2019年提出的自然…

【计算机毕业设计】SSM汽车维修预约平台

项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录; 管理员角色: 管理员登录,新增管理员信息,查看管理员信息,查询管理员信息,查看用户信息列表,查询用户信息,新增新闻公告,查看新闻公告,查询新闻公告,新增配件类…

数据结构与算法python版本之线性结构之无序表抽象数据类型有序链表抽象数据类型和总结

我们知道,列表List是一种简单强大的数据集结构,提供了丰富的操作接口;但是并不是所有的编程语言都提供了List数据类型,有时候需要程序员自己实现。 那么什么是列表呐? 列表是一种数据项按照相对位置存放的数据集&…

你读过最冷门,但「含金量极高」的书是什么?

这是一本比较冷门的书**《设计规则:模块化的力量》**,虽然豆瓣上只有58个评价,但是确实能学到很多东西。 这本书对我非常深远。不是是投资,创业,还是其他领域,模块化思想都能帮上你。这本书告诉我们生万物…

HarmonyOS 组件通用属性之尺寸设置

本文 我们一起来看一下 组件通用属性里面的 尺寸设置 具体来说 就是针对一个组件 进行宽高 边距等属性设置 我们可以先来看一张图 这是一个WEB PC端开发的视图 它是一个盒子模型 界面认为 每个元素都是一个盒子 最外面是 margin 外边距 然后 元素外围有一圈 border 边框 然后…

定岗定编设计:企业职能部门定岗定编设计项目成功案例

一、客户背景及现状分析 某大型车辆公司隶属于某央企集团,建于20世纪60年代,是中国高速、重载、专用铁路车辆生产经营的优势企业,轨道车辆制动机研发制造的主导企业,是隶属于国内最大的轨道交通设备制造上市企业的骨干二级公司。公…