什么是云原生?(二)
1. 云原生的定义
云原生指构建和运行应用以充分利用通过云技术交付模式交付的分布式计算。云原生应用旨在充分利用云技术平台特有的可扩展性、弹性和灵活性优势。
根据云原生计算基金会 (CNCF) 的定义,云原生技术可帮助企业在公有云、私有云和混合云环境中构建和运行可扩展的应用。云原生方法的典型特性包括容器、服务网络、微服务、不可变基础设施以及声明式应用编程接口 (API) 等等。
借助这些特性,企业可以获得松散耦合的弹性、可管理、可观测的系统,工程师也能尽可能减轻工作负担,高频实施重大变更。
为了满足现代复杂应用的要求以及用户对持续创新和无与伦比的响应能力的期望,企业的业务系统必须具有更高的战略性和灵活性。对此,云原生不仅能确保业务系统快速运行,还能提供杰出的敏捷性。
云原生服务可使用 Kubernetes、Docker、无服务器函数、API 和 Kafka 等技术助力现代应用开发。通过使用来自有实力的云技术提供商的云工具和云技术服务,开发人员可以减轻运营工作负担,更快地构建应用。
简而言之,云原生服务可以提供一个全面、基于标准的平台,帮助开发人员更好地构建、部署和管理云原生应用(例如微服务和无服务器函数)。
2. 使用云原生服务交付优秀软件
了解如何释放云原生的全部优势,轻松、快速地构建弹性、易于管理、可扩展的现代云技术应用。
通过迁移到云原生技术,企业可以在整个组织平台上尽可能改善客户体验,永久性地革新软件开发和业务模式。不久前,很多组织都迁移到了“云友好”的 IT 基础设施。但是,IT 团队如果不能创建云原生应用来充分发挥云技术投资的价值,即使迁移到了云端,也会在竞争中远远落后。为了从竞争中脱颖而出,企业需要快速调整和迭代,而云基础设施杰出的弹性和按需功能可助力任何业务迁移到云原生模式。
3. 云原生计算基金会 (CNCF)
2015 年,随着大量组织和服务开始采用云原生系统,云原生计算基金会 (CNCF) 应运而生。作为 Linux 基金会创建的一个项目,CNCF 是一个旨在促进云原生技术采用的开源软件基金会。时至今日,CNCF 共拥有 400 多名成员,其中既有公有云技术提供商,也有企业软件公司和技术初创企业,例如 Microsoft、Oracle、VMware 和 Intel 等均为 CNCF 白金成员。
CNCF 旨在确保云原生技术可访问、可用和可靠。它孵化了一个专门面向 Kubernetes、Prometheus 和 CoreDNS 等项目的社区,为各种致力于构建(支持在微服务架构下编排容器的)可持续环境的组织提供支持。
迁移至云原生系统对于企业而言可能是一个艰难的过程,但最终绝对是“物有所值”。这不仅仅意味着重新设计应用,还意味着革新企业的结构和文化,最终推动企业向前发展。借助 CNCF 路线图,企业可以逐步采用云原生技术。按照这一路线图,企业要采用更复杂的软件来交付微服务、无服务器函数、基于事件的流以及其他类型的云原生应用。
4. 云原生应用的优势
云原生应用,或者说原生云应用 (NCA),是专为云计算架构而设计的程序。它们具有多重优势。
- 独立:云原生应用架构支持企业构建相互独立的云原生应用,同时单独管理和部署各个云原生应用。
- 可恢复性:即便基础设施发生故障,云原生应用也能继续运行,保持联机状态。
- 基于标准:为实现出色的互操作性和工作负载可移植性,云原生服务通常基于开源和标准技术构建而成。这有助于降低供应商依赖,提高可移植性。
- 业务敏捷性:云原生应用支持跨网络灵活部署,同时相比传统应用规模更小,更易于开发、部署和迭代。
- 自动化:云原生应用支持 DevOps 自动化特性,支持持续交付以及持续部署定期软件变更。此外,开发人员还可以使用蓝绿部署和金丝雀部署等方法来优化应用,避免对用户体验产生任何不利影响。
- 零停机:借助 Kubernetes 等容器编排器,企业可以零停机地部署软件更新。
5. 云原生对于一项技术意味着什么?
云原生应用可视为打包为自包含的、可移植的、可按需快速纵向或横向扩展的轻量级容器的独立服务。通过将所有元素封装到容器(例如 Docker 容器)中,企业可以将应用及其依赖关系与底层基础设施相隔离,进而在任何拥有容器运行时引擎的环境下部署该容器化应用。此外,Kubernetes 容器编排支持企业对容器生命周期进行有效管理。云原生应用一般通过具有持续集成和持续交付 (CI/CD) 工具链的 DevOps 管道交付。CI/CD 管道对于自动构建、测试和部署云原生应用非常重要。
6. 什么是云原生架构?
云原生架构旨在设计专用于在云端(而不是在传统的本地部署基础设施中)运行的应用或服务。一个成功的云原生架构应当以新一代云技术为基础,易于维护,同时具有出色的成本效益和自我修复能力。与传统系统相比,云原生架构更灵活且不依赖物理服务器。
这正是微服务和无服务器函数的用武之地。微服务是云原生应用架构的核心,如今已成为迁移至云端的企业的一大关键工具。它支持企业将一个应用分解为多项独立服务 — 一项服务满足一个功能;支持 DevOps,可提供出色的灵活性和更高的可扩展性并降低成本,因此吸引了很多软件公司的使用;使用 API 来相互通信,可使用事件驱动的架构来增强每一个应用的整体性能。Oracle Cloud Native 服务遵循 CNCF 路线图,可帮助企业简化采用旅程,更加轻松地开始构建、部署和管理现代云原生应用。
Functions
无服务器函数是一种旨在提高开发人员工作效率的架构。无服务器应用支持开发人员在一个函数即服务 (FaaS) 平台上,使用事件驱动的架构和各种后端即服务 (BaaS) 模式来编写代码,而无需担忧供应、修补、扩展、安全性、高可用性等问题。在 FaaS 平台(例如 Oracle Functions)上,应用会被分解为可在事件触发时按需动态调度和运行的小段代码(又被称为纳米服务)。这一方法的优势在于仅在需要时调用和执行代码,用户只需为执行期间使用的资源付费。相比之下,在传统方法下,应用会被加载到服务器,且大部分时间都处于闲置或等待请求状态。简而言之,无服务器计算支持您只为实际使用的计算资源付费,无需为闲置资源付费。
7. 什么是云原生服务?
云原生服务是数字化创新的核心,也是高级分析、移动应用和聊天机器人的关键。云原生服务可通过 DevOps 实践消除与构建、运行和维护复杂软件平台相关的绝大多数管理任务。同时,它的软件开发、部署和测试活动均在云端进行,支持按需扩展或收缩。通过将应用、DevOps 和工作负载迁移至云原生架构,企业可有效增强自身的竞争力。
8. 什么是 Kubernetes?
Oracle Cloud Native 服务支持企业和用户使用 Kubernetes、Docker、无服务器函数、API 和 Kafka 等基于标准的技术来推进现代云原生应用开发。Kubernetes 常常被称为“面向云技术的操作系统”。它是一个专用于管理容器化应用和服务集群的开源平台,关键组件包括集群、节点和控制平面。其中,集群包含节点,节点托管 pod(pod 包含所部署应用的要素),且每个节点包含至少一个工作机。控制平面则负责管理集群(通常跨多个计算机)中的节点和 pod,以此实现高弹性和高可用性。
Oracle 可提供云原生服务所需的云工具和自动化支持,助力开发团队减轻运营工作负担,快速构建应用。Oracle Cloud Infrastructure (OCI) 可提供一个基于标准的平台,以相比其他云技术提供商更高的性能和更低的成本来运行云原生服务。借助基于开源和开放标准的服务,OCI 支持开发人员在任意的云端或本地环境下运行应用而无需重构代码,从而专注于应用构建和创新。
9. 为何要将您的企业迁移到云原生?
云原生应用开发相比传统开发方式是否可以真正交付更出色的应用?答案是肯定的:可以。云原生应用的优势十分明显。
- 首先,云原生应用的功能可以细分为微服务,不仅具有良好的可扩展性,还支持单独管理。
- 其次,云原生应用不依赖特定云基础设施,支持高度分布式运行,具有出色的独立性,能够基于应用需求分配资源。
- 最后,云原生应用可以在私有云、公有云和混合云环境中提供一致的体验,对于企业推进业务战略和创造更多价值至为关键。利用响应迅捷、可靠、可扩展的云原生应用,企业可以有效降低风险,充分发挥云计算的优势。
相关文章:

什么是云原生?(二)
1. 云原生的定义 云原生指构建和运行应用以充分利用通过云技术交付模式交付的分布式计算。云原生应用旨在充分利用云技术平台特有的可扩展性、弹性和灵活性优势。 根据云原生计算基金会 (CNCF) 的定义,云原生技术可帮助企业在公有云、私有云和混合云环境中构建和…...

pytorch 47 模型剪枝实战|基于torch-pruning库代码对yolov10n模型进行剪枝
torch-pruning官方提供了基于yolov8的剪枝代码,基于此代码改进博主实现了对yolov10n模型的剪枝。虽然实现了对yolov10n模型的剪枝,剪枝目标为移除60%的通道,然而实验是失败的,针对coco数据集进行操作,剪枝前的模型map时37,剪枝后只能恢复到22,比预计下降了15个点,剪枝后…...

LeetCode_sql_day15(262.行程与用户)
描述:262. 行程和用户 - 力扣(LeetCode) 取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。 编写解决方案找出 "2013-10-01" 至 "2013-10-03" 期间非禁止…...

【MySQL】详解数据库约束、聚合查询和联合查询
数据库约束 约束类型 数据库的约束类型主要包括以下几种: 主键约束(Primary Key Constraint):确保表中的每一行都有唯一的标识,且不能为NULL。 外键约束(Foreign Key Constraint):…...

bug积累
1.只写 int p[len1 len2]; 时,实际上是在使用 C99 标准中引入的变长数组(VLA, Variable Length Array)的特性。变长数组允许在栈上分配其大小在运行时确定的数组。这意味着 len1 和 len2 的值可以在程序运行时确定,但仍然可以用来…...

版本控制案例:全球虚拟制片领导者Dimension借助Perforce Helix Core简化多供应商协作,控制访问权限,确保数据资产安全(下)
创建虚拟世界和人物角色需要一系列的软件工具。但最终愿景很少是由单一工作室独立完成的。对于大型项目,工作室需要通力合作,将全球的团队成员和数字资产联合起来。 Dimension Studio——体积内容捕捉和虚拟制片领域的领导者——不断将新技术和新方法融…...

Anaconda配置envs和pcks路径
问题 原先Anaconda安装在C盘,安装很多包后只剩几个G了,为了给C盘腾空间,卸载后重新安装在了D盘,但是创建了新环境后发现环境位置依旧在C盘,安装新的包仍然会占用C盘空间。 解决办法 查看conda的配置信息 执行如下命…...

推荐10个在线搭建框架平台
前言 在开发项目的时候,首先就是要搭建一个框架。这个框架可以是纯技术框架,也可以具备一定功能的开源框架。但是在搭建框架的时候,版本的冲突,环境的配置等是新手们一直头痛的问题,在构建开源框架的时候,…...

Linux Shell--函数
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、简介 Shell 函数是一段可以重复使用的代码块,通过定义函数可以避免代码重复,提高脚本的可读性和可维护性。 二、定义函数…...

漏洞复现-CVE-2023-42442:JumpServer未授权访问漏洞
概述 JumpServer存在一个未授权访问漏洞。具体来说,/api/v1/terminal/sessions/ API端点的权限控制存在逻辑错误,允许攻击者匿名访问。未经身份验证的远程攻击者可以利用此漏洞下载SSH日志,并可能借此远程窃取敏感信息。值得注意的是&#x…...

【数据结构之带头双向循环链表的实现】
1.链表的分类 链表的结构有多种多样,以下情况组合起来就有8种(2x2x2)链表结构: 虽然有这么多的链表结构,但是我们实际中最常用的还是两种结构:单链表和双向带头循环链表。 无头单向非循环链表:结…...

【docker】docker数据卷与网络部署服务
Docker 网络模式 选择网络模式 Host Mode (主机模式) 特点: 容器与宿主机共享网络命名空间操作: docker run --nethost ... Container Mode (容器模式) 特点: 容器与指定容器共享网络命名空间操作: docker run --netcontainer:<container-id-or-name> ... None Mode (无…...

Spring MVC框架学习笔记
学习视频:10001 Spring MVC概述_哔哩哔哩_bilibili~11005 请求映射方式_哔哩哔哩_bilibili 目录 1.概述 Java EE三层架构 Spring MVC在三层架构中的位置 编辑 Spring MVC在表现层的作用 Spring MVC的特点 2.Spring MVC入门程序 代码实现 Spring MVC工作原理 Spring …...

LeetCode 100道题目和答案(面试必备)(一)
1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按…...

OpenGL投影矩阵
OpenGL Projection Matrix OpenGL投影矩阵...

Linux中的`make`与`Makefile`:项目自动化构建工具
Linux中的make与Makefile:项目自动化构建工具 在Linux及类Unix系统中,make是一种广泛使用的自动化构建工具,它通过读取和执行Makefile(或makefile,文件名不区分大小写)中的指令来自动化编译和构建程序。Ma…...

GitHub开源项目精选:轻量级预约/预订日历组件,用React和TypeScript构建
在日常开发中,我们经常需要在项目中添加预约或预订功能。今天给大家推荐一个超级轻量级的预约/预订日历组件,它是用React和TypeScript构建的,非常适合那些需要简单易用的日历解决方案的开发者。 安装方法: 你可以选择使用npm或者y…...

闲钱放在哪里?收益稳定且又高!
家庭理财,最大的问题就是,手里这点闲钱,说多不多,但打理起来,还真的很”挠头“。 放银行,存款利率接二连三下调,利息又又又要变少了! 投资出去,看着到处的雷声隆隆&…...

【Linux】简易线程池项目
线程池是一个可以巩固一些线程相关接口 && 加强理解的一个小项目。 注意:这里的线程池使用的线程并不是Linux原生接口,而是经过封装的,具体请看线程封装,为什么不使用原生接口? 因为原生接口一旦进行pthread…...

基于vue框架的NBA球星管理系统1878g(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
系统程序文件列表 项目功能:用户,球员,球员数据,榜单类型,联盟榜单,重要比赛回放,精彩时刻视频,视频专栏,本赛季赛程,十佳球,投票信息,投票结果 开题报告内容 基于Vue框架的NBA球星管理系统 开题报告 一、选题背景 随着互联网的普及和体育产业的蓬勃发展&#x…...

【docker】Dockerfile练习
1、overlay文件系统原理测试 cd /mnt mkdir A B C worker merged echo "From A">./A/a.txt echo "From A">./A/b.txt echo "From A">./A/c.txt echo "From B">./B/a.txt echo "From B">./B/d.txt echo &quo…...

数据可视化的魔法:Python Matplotlib库的奇妙之旅
标题:数据可视化的魔法:Python Matplotlib库的奇妙之旅 在数据科学和分析领域,数据可视化是一种将复杂数据转换为图形表示的强有力工具,它可以帮助我们更直观地理解数据。Python中的Matplotlib库是进行数据可视化的瑞士军刀&…...

Python数据科学的秘密武器:Pandas库的深度解析
标题:Python数据科学的秘密武器:Pandas库的深度解析 Python作为数据科学领域的宠儿,其强大的数据处理能力离不开Pandas库的加持。Pandas是一个开源的数据分析和操作库,它提供了快速、灵活和表达力强的数据结构,旨在使…...

云计算实训24——python基本环境搭建、变量和数据类型、数据集合、py脚本
一、python环境搭建 确保拥有阿里云镜像 查看python环境 [rootpython ~]# yum list installed | grep python 查看epel是否安装 [rootpython ~]# yum list installed | grep epel 安装epel [rootpython ~]# yum -y install epel-release.noarch 查看是否安装python3 [rootpyt…...

深入了解网络性能监控(NPM):优化网络性能的关键
目录 网络性能监控(NPM)是什么? 关键网络性能指标 案例分享:如何利用NPM优化网络性能 实用技巧:如何高效运维你的网络 结论 随着企业依赖于互联网和内部网络进行业务运营,网络的稳定性和性能显得尤为重…...

Vue引入使用iconfont字体图标
由于element-ui或element-plus提供的图标有时候并不能满足日常需求,所以这篇介绍一下前端引入阿里巴巴矢量图标库使用,不止是vue使用,不限于vue2、vue3,html或是其他框架也是同样的道理,只要引入都是同样可以使用的。 1. 首先进入阿里巴巴矢量图标库官网 官网:https://…...

Doc2Vec
Doc2Vec 是一种扩展自 Word2Vec 的算法,它不仅可以生成词向量,还可以生成句子或文档的向量。下面是一个使用 Doc2Vec 比较两个句子的具体过程: 步骤 1: 训练 Doc2Vec 模型 首先,你需要有一个训练好的 Doc2Vec 模型。训练过程大致…...

MES生产过程透明管理,实施掌握生产每个环节
MES(制造执行系统)生产过程透明管理,旨在通过集成多种技术手段和管理模块,实现对生产过程的实时监控和精准掌握,确保每个生产环节都能被清晰地记录和追踪。以下是对MES生产过程透明管理的详细阐述: 一、MES…...

Java解析压缩包,并根据指定文件夹上传文件
方法 public Multimap<String, String> getCodeBucketMultimap(HttpServletRequest request)throws IOException {MultipartHttpServletRequest multiRequest (MultipartHttpServletRequest) request;// 基于servlet获取文件流List<MultipartFile> multipartFile…...

【HTML】纯前台字符验证码
效果图: 大致思路: 1.在<canvas>画布里写出几个字符; 2.给字符一个随机的角度和颜色; 3.给字符上画出一些干扰线和干扰点。 <canvas width"100" height"30" id"canvasRef" click"…...