云原生十二问

一、什么是云原生?

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

二、云原生有哪些好处?

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

提高效率

云原生开发带来了 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.rhkb.cn/news/229633.html

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

相关文章

RabbitMQ基础知识

一.什么是RabbitMQ RabbitMQ是一个开源的、高性能的消息队列系统,用于在应用程序之间实现异步通信。它实现了AMQP(Advanced Message Queuing Protocol)协议,可以在分布式系统中传递和存储消息。 消息队列是一种将消息发送者和接收…

NE555学习笔记-2024

实物图片 NE555引脚图 内部时序图 示列1,红外接收电路 红外接收电路的工作原理:在上述电路中,TSOP1738构成了该电路的主要组成部分,旨在检测来自任何来源的红外信号。这用于检测38 KHz范围的信号,因此命名为“TSOP173…

aps审核-模电英文稿

模拟电子线路 Analog circuit 需要熟悉课程名,一句话简单概括课程内容,准备一些重点内容介绍。 This course mainly introduces the properties(n.性质) of semiconductors(半导体) and transistors, and then analyzes and masters amplification circ…

利用Spring Cloud和Java系统设置优化工程项目管理系统源码的二次开发体验

工程项目管理涉及众多环节和角色,如何实现高效协同和信息共享是关键。本文将介绍一个采用先进技术框架的Java版工程项目管理系统,该系统支持前后端分离,功能全面,可满足不同角色的需求。从项目进度图表到施工地图,再到…

Element-ui自定义input框非空校验

1、vue自定义非空指令: main.js中自定义非空指令 当input框或下拉框中数据更新时,触发校验 Vue.directive(isEmpty,{update:function(el,binding,vnode){if(vnode.componentInstance.value""){el.classList.add("is-required");}e…

C#中汉字转区位码

目录 一、关于区位码 1.区位码定义 2.算法 二、实例 三、生成效果 四、程序中的知识点 1.byte[] GetBytes(string s) 2.字节数组转short类型 一、关于区位码 1.区位码定义 区位码是一个4位的十进制数,每个区位码都对应着一个唯一的汉字,区位码…

大文件断点下载Range下载zip包显示文件损坏

问题:大文件下载,其它格式的文件及rar格式的压缩包正常下载但是 之后zip包下载后解压失败 原因分析: 1. 查看上传文件的属性值 如图,10.4kb是已经约去小数点的值,准确的大小应该是10663字节10.4130859375KB,所以用10.…

基于ssm的剧本杀预约系统+vue论文

摘 要 如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为了解决现有问题而产生的。针对于剧本杀预…

git使用(完整流程)

1. 新建仓库 1.右击 git bash 后 输入 git init (仓库为:当前目录) git init name (仓库为:name文件夹) git clone https://github.com/Winnie996/calculate.git //https2.工作区域 工作目录 3. 添加 提交 git add . //工作区添加至暂存区 git commit -m "注释内容&q…

小球自由下落-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第23讲。 小球自由下落&…

基于矩阵乘的CUDA编程优化过程

背景:网上很多关于矩阵乘的编程优化思路,本着看理论分析万遍,不如实际代码写一遍的想法,大概过一下优化思路。 矩阵乘的定义如下,约定矩阵的形状及存储方式为: A[M, K], B[K, N], C[M, N]。 CPU篇 朴素实现方法 按照…

刷算法-- leetcode 96. 不同的二叉搜索树

思路 观察树的组成,可以发现n3时的二叉搜索树可以由,头节点分别为1、2、3时的所有结果组成!定义dp[i]为由i个节点组成的二叉搜索树的个数。确定递推公式,dp[i] 由1为头节点组成的二叉搜索树个数由2为头组成的个数…由i为头节点组…

使用 go-elasticsearch v8 基本请求

使用 go-elasticsearch 请求示例 你可以通过参考Go 官方文档找到简单的示例,所以我认为先看看这个是个好主意。 连接客户端有两种方式,如下图。 至于两者的特点,TypedClient有类型,更容易编写,但文档较少。另外&…

Linux文件的扩展属性 attr cap

文件属性 Linux文件属性分为常规属性与扩展属性,其中扩展属性有两种:attr与xattr. 一般常规的文件属性由stat API 读取,一般是三种权限,ower, group,时间等。 扩展属性attr 用户态API ioctl(fd, FS_IOC32_SETFLAGS…

QQ邮件发送(PHP的Laravel)

1. 开启 QQ 邮箱的 SMTP 支持 2.里面会一个类似于密码之类(复制一下) 3.然后再 .env文件里面配置一下 MAIL_DRIVERsmtp —— 使用支持 ESMTP 的 SMTP 服务器发送邮件; MAIL_HOSTsmtp.qq.com —— QQ 邮箱的 SMTP 服务器地址,必…

OCP NVME SSD规范解读-3.NVMe管理命令-part2

NVMe-AD-8:在某些情况下(如Sanitize命令、Format NVM命令或TCG Revert方法后数据被清除),设备应允许读取已清除的LBAs而不产生错误,并在最后一次清除完成后,对未写入LBAs的读取返回所有零值给主机 NVMe-AD…

什么牌子的护眼灯好用?2024好用护眼台灯分享

不良的光线、长时间的用眼都会给眼睛带来压力,影响视力健康! 本人就是一个因为工作原因需要长时间坐电脑前码字和P图的打工人,对于出现眼睛酸痛、疲劳以及眼球出现红血丝的情况有多难受我是深有体会,在此之前我搜索了好多缓解眼睛…

golang并发编程-channel

在golang 并发编程里,经常会听到一句话:不要通过共享内存进行通信,通过通信来共享内存。下面我们会介绍下channel, 通过源码的方式去了解channel是怎么工作的。 基本结构 流程图 代码解读 type hchan struct {qcount uint // …

(NeRF学习)NeRFStudio安装win11

参考: 【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程nerfstudio介绍及在windows上的配置、使用NeRFStudio官网githubRuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory原因及解决 目录 requireme…

不同角度深入探讨Maya和Blender这两款软件的差异

当我们面对三维建模软件的选择时,许多初学者可能会感到迷茫。今天,我们将从不同角度深入探讨Maya和Blender这两款软件的差异,特别是对于游戏建模领域的用户来说,这将有助于您更好地理解两者之间的区别。 软件授权与开发背景&#…