简述云原生基础定义及关键技术

news2024/10/3 10:45:27

在这里插入图片描述

云原生是什么

云原生是面向“云”而设计的应用,因此技术部分依赖于传统云计算的 3 层概念,基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。

例如,敏捷的不可变基础设施交付类似于 IaaS,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,直接通过 API 可以对外提供服务;有些应用通过 PaaS 服务本来就能组合成不同的业务能力,不一定需要从头开始建设;还有一些软件只需要“云”的资源就能直接运行起来为云用户提供服务,即 SaaS 能力,用户直接面对的就是原生的应用。

原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。

微服务

微服务解决的是我们软件开发中一直追求的低耦合+高内聚,记得有一次我们系统的接口出了问题,结果影响了用户的前台操作,于是黎叔拍案而起,灵魂发问:“为啥这两个会互相影响?!”

微服务可以解决这个问题,微服务的本质是把一块大饼分成若干块低耦合的小饼,比如一块小饼专门负责接收外部的数据,一块小饼专门负责响应前台的操作,小饼可以进一步拆分,比如负责接收外部数据的小饼可以继续分成多块负责接收不同类型数据的小饼,这样每个小饼出问题了,其它小饼还能正常对外提供服务。

DevOps

DevOps 的意思就是开发和运维不再是分开的两个团队,而是你中有我,我中有你的一个团队。我们现在开发和运维已经是一个团队了,但是运维方面的知识和经验还需要持续提高。

持续交付

持续交付的意思就是在不影响用户使用服务的前提下频繁把新功能发布给用户使用,要做到这点非常非常难。我们现在两周一个版本,每次上线之后都会给不同的用户造成不同程度的影响。

容器化

容器化的好处在于运维的时候不需要再关心每个服务所使用的技术栈了,每个服务都被无差别地封装在容器里,可以被无差别地管理和维护,现在比较流行的工具是 docker 和 k8s。

所以你也可以简单地把云原生理解为:云原生 = 微服务 + DevOps + 持续交付 + 容器化

在这里插入图片描述

起源

云原生(Cloud Native)的由来

云原生的概念最早开始于 2010 年,在当时 Paul Fremantle 的一篇博客中被提及,他一直想用一个词表达一种架构,这种架构能描述应用程序和中间件在云环境中的良好运行状态。因此他抽象出了 Cloud Native 必须包含的属性,只有满足了这些属性才能保证良好的运行状态。当时提出云原生是为了能构建一种符合云计算特性的标准来指导云计算应用的编写。

后来到 2013 年 Matt Stine 在推特上迅速推广云原生概念,并在 2015 年《迁移到云原生架构》一书中定义了符合云原生架构的特征:12 因素、微服务、自服务、基于 API 协作、扛脆弱性。而由于这本书的推广畅销,这也成了很多人对云原生的早期印象,同时云原生也被 12 要素变成了一个抽象的概念。Matt Stine 认为在单体架构向 Cloud Native 迁移的过程中,需要文化、组织、技术共同变革。 解读:**云原生架构本质上也是一种软件架构,最大的特点是在云环境下运行,也算是微服务的一种延伸。

什么是云原生

云原生架构本质上也是一种软件架构,最大的特点

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于MySQL的基本查询(多表查询等)

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); 创建score表。SQL代码如下: CREATE…

动态规划之买卖股票问题(篇二)(买卖股票的最佳时机)

本篇博客主要讲解123.买卖股票的最佳时机III和188.买卖股票的最佳时机IV,是上篇博客中动态规划之买卖股票问题(篇一)(买卖股票的最佳时机)股票问题的进阶。 123.买卖股票的最佳时机III 题目: 给定一个数…

11k+ star 一款不错的笔记leanote安装教程

特点 支持普通模式 支持markdown模式 支持搜索 安装教程 1.安装mongodb 1.1.下载 #下载 cd /opt wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.1.tgz 1.2解压 tar -xvf mongodb-linux-x86_64-3.0.1.tgz 1.3配置mongodb环境变量 vim /etc/profile 增…

【软件测试】学习笔记-构建并执行 JMeter 脚本的正确姿势

有些团队在组建之初往往并没有配置性能测试人员,后来随着公司业务体量的上升,开始有了性能测试的需求,很多公司为了节约成本会在业务测试团队里选一些技术能力不错的同学进行性能测试,但这些同学也是摸着石头过河。他们会去网上寻…

Go语言指针变量

1. 指针变量 区别于C/C中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 Go语言中的指针3个概念:指针地址、指针类型和指针取值。 1.1. Go语言中的指针 Go语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候&a…

zuul网关

zuul网关 zuul自定义过滤器hystrix和ribbon时间RibbonAutoConfiguration自动配置FeignAutoConfiguration自动配置RibbonEurekaAutoConfigurationSendErrorFilter过滤器EnableZuulServerHasFeatures EnableZuulProxy zuul自定义过滤器 继承ZuulFilter类,实现其方法f…

【论文笔记】Learning Deconvolution Network for Semantic Segmentation

重要说明:严格来说,论文所指的反卷积并不是真正的 deconvolution network 。 关于 deconvolution network 的详细介绍,请参考另一篇博客:什么是Deconvolutional Network? 一、参考资料 Learning Deconvolution Netwo…

十分钟搭建本地Linux开发运行环境

十分钟搭建本地开运行环境 linux环境请参考:5分钟搭建本地linux开发环境 环境:宝塔、Jdk、Mysql、Redis 1、宝塔: 官网地址:宝塔官网 yum install -y wget && wget -O install.sh https://download.bt.cn/install/in…

图形化方式利用脚手架创建Vue项目

图形化方式利用脚手架创建Vue项目 1 安装node.js(附带安装npm)安装v14.3.0版本 查看安装版本 node -v 2 安装cnpm npm install -g cnpm 查看安装版本 cnpm -v 以管理员身份运行powershell,运行 set-ExecutionPolicy RemoteSigned 3…

【VSAN数据恢复】VSAN数据重构迁移失败的数据恢复案例

VSAN简介: VSAN存储是一个对象存储,以文件系统呈现给在vSphere主机上。这个对象存储服务会从VSAN集群中的每台主机上加载卷,将卷展现为单一的、在所有节点上都可见的分布式共享数据存储。 对于虚拟机来说,只有一个数据存储&#x…

Modern C++ std::shared_ptr的实现原理

shared_ptr的UML图 注意:这是Linux上GCC 8.5.0的实现版本 先看下它的继承关系。 shared_ptr里面的数据成员 有了上面的UML图,可能还没有一个直观的认识,下面我们把这些成员打印出来。 当然得先写个小小的程序: $ cat shared_ptr.cpp #include <memory> #include…

单元测试——题目十二

目录 题目要求: 定义类 测试类 题目要求: 根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算值,执行j=(x-y)*(10⁵%7)返回文字“j2=:”和计算值,执行j=y*log(x+10)返回文字“j3=:”和计算值。 编写程序代码,使用JUnit框架编写测试类对编写的…

【开源】基于JAVA语言的实验室耗材管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…

RHCE项目:使用LNMP搭建私有云存储

目录 一、准备工作 1、关闭防火墙、安全软件 2、搭建LNMP环境 3、上传软件 4、设置nextcloud安装命令权限 二、数据库 1、设置数据库 2、重启数据库 三、配置nginx 四、安装nextcloud 五、内网穿透 1、创建内网映射 2、linux系统安装花生壳客户端 3、重新打开浏览…

《幻兽帕鲁》爆火,玩家在阿里云上部署联机服务器:全程仅3分钟

《幻兽帕鲁》大卖800万份&#xff0c;玩家纷纷上阿里云光速搭建联机服务器 《幻兽帕鲁》爆火&#xff0c;玩家在阿里云上部署联机服务器&#xff1a;全程仅3分钟 1月26日消息&#xff0c;生存类游戏《幻兽帕鲁》异常火爆&#xff0c;发售仅6天销量就突破了800万份&#xff0c;在…

在docker中配置 Linux ls 配色方案 与 shell 提示符

发行版中默认的配置一般非常合理&#xff0c;但是docker中往往忽略了这些简单的配置&#xff0c;备忘一下 1. ls 配色方案 vim &#xff5e;/.bashrc 在文件最末尾加入如下一行内容&#xff1a; export LS_COLORS"rs0:di01;34:ln01;36:mh00:pi40;33:so01;35:do01;35:bd40…

APUE学习之管道(pipe)与命名管道(fifo)

目录 一、简介 二、管道&#xff08;Pipe&#xff09; 1、管道的基本概念 2、管道的局限性 3、管道的创建 4、管道的读写规则 5、实战演练 三、命名管道&#xff08;fifo&#xff09; 1、命名管道的基本概念 2、命名管道的创建 3、实战演练 4、运行结果 四、补充 …

深入理解stress/stress-ng

文章目录 一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认 三、重要参数详解3.1、查询支持的参数3.2、重要参数说明 四、实例4.1、压测CPU4.2、压测内存4.3、压测IO4.4、压测磁盘及IO4.5、压测磁盘及CPU 团队博客: 汽车电子社区 一、概述 stress是一种工作负载…

Java基础进阶03-注解和单元测试

目录 一、注解 1.概述 2.作用 3.自定义注解 &#xff08;1&#xff09;格式 &#xff08;2&#xff09;使用 &#xff08;3&#xff09;练习 4.元注解 &#xff08;1&#xff09;概述 &#xff08;2&#xff09;常见元注解 &#xff08;3&#xff09;Target &#x…

Codewave学习体验分享:低代码开发世界的黑马

前言 Codewave平台介绍 CodeWave智能低代码开发平台基于网易自研拥有大规模参数和深度学习能力的智能模型底座产品架构,为企业级应用提供更加智能化研发的软件生产方式,IT人员可以轻易实现从“智能生成”到“可视化拖拽调整”的全栈低代码应用搭建,让复杂应用开发更加高效,加快…