云计算和虚拟化,有啥区别呢?
还想求一个便宜的腾讯云、华为云购买链接
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676472051193352192.html
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676472051193352192.html
@lihongming 是开发效率还是运维效率啊? 麻烦问一下
因为很多人对云的理解还停留在第一阶段——VPS,就这个阶段而言,云计算跟虚拟化对用户而言真没什么区别。
但云计算远不止是 VPS,而是基于 VPS 之上的自动化服务,让 VPS 的创建和销毁不再由用户管理,而是服务根据负载需求自动伸缩,俗称 Infrastructure as a service 。比如最近开始流行的函数计算。
目前 AWS 是云计算的领军企业,已经把很多东西都 serverless 了,比如 mysql 、container 、对象存储。当然,还有他独家的 DynamoDB (一种 NoSQL 数据库)。
使用 Serverless 需要很多观念上的转变,比如性能问题、费用问题,很多人还是不习惯,一想问题就会代入传统思路,导致南辕北辙。但一旦你彻底建立了 Serverless 思维,就再也不想回去了,真的太方便了,大大提高开发效率。
看来要想说的清云计算和虚拟化还是要好好梳理一番。
虚拟化是将物理资源( cpu,内存,存储,网络)进行整合共享的底层技术,就像是资源池一样能够将散落在不同裸金属物理机上的资源统一进行管理。这里面虚拟化又有不同的分层,type1 和 type2,不过我好像没怎么理解 type2.
云计算是虚拟化的应用,是一套能够帮助人们进行资源管理的操作系统。而云原生就是以 k8s 为基础的云计算。
现在的云计算都是以 docker 为基础的容器化?
@sjmcefc2 你说的这个虚拟化,首先不是宽泛意义上(或者说计算机特别是操作系统里硬件抽象的概念),而是具体技术的应用。计算机里的虚拟化有很多,比方说服务器层面虚拟化( kvm 等),应用层面,网络层面( sdn ),存储层面( sds )。你说的 exsi 这种主要虚拟化把主机切掉,是一类 type 1 hypervisor,type 1 这种 hypervisor 直接放到裸金属的服务器上; type 2 hypervisor 跟 hardware 中间还有层 host os,也就是宿主机。
隔离性差不是说你就可以随随便便看到数据,只是跟虚拟机比要相对容易些(所以安全策略的实现跟应用上,厂商要做更多设计考虑)。cpu 、内存都是共享的,不管什么类型,你虚拟机或者容器在宿主机内核看来还是个进程而已。进程是内核分配资源的单位,所以该怎么样就怎么样。可以简单理解 qemu/kvm 虚拟机成带有 cpu 特定指令加持的二进制翻译机,而容器就是打包后的进程在一个沙盒里跑。同一个宿主机上,原生环境下直接运行程序肯定比你二进制翻译快点了。
云原生就是云计算的漫威宇宙里面,又以 k8s 为基础新建了一套平行宇宙体系。
云计算里概念超级多,按服务的层次划分有 IaaS 、PaaS 一堆。一般情况下,你只要买虚拟机就行了。
@sjmcefc2
虚拟化可以是对计算能力,存储,进程,操作系统等等的模拟环境,虚拟化的目的是共享底层资源( CPU/内存 /硬盘 /网络等等),以及虚拟化可以方便的迁移软件环境和管理硬件资源。
云计算只是虚拟化技术进行商用化的一个分支。
首次买可以跟我聊聊
入门的解释:你可以把某个系统里的多个网站理解成空间,本机虚拟机理解成 VPS 。
现在更进一步:虚拟化是较小规模的虚拟机集群,云计算是较大规模的虚拟机集群,从这一步开始,有个共同特点就是脱离了单台物理机。所以开始用云这种词来形容,你虽然作为用户用了某台或者某些虚拟机,但是及时不中断业务,那么不同时间很可能实际用了不同的物理机。虚拟化或者云计算层面给你做了物理机的底层故障热迁移
@wanguorui123 虚拟化的其他场景是什么呢?
总感觉越想越糊涂这其中的差别。
云计算有很多种意思,简单一点就是使用服务器运行程序,通俗一点就是你花钱把服务器到域名这一整套东西交给专门的厂商解决,学术一点还牵涉到需求与资源的分化与汇总。
虚拟化也有很多种意思,简单通俗来说就是一台物理机模拟出好几台虚拟机,学术一点就是把资源整合然后根据需求进行调度并调优。
@sjmcefc2 关键词“云计算历史” 随便找就有很多资料了 例如 https://cloud.51cto.com/art/201904/594748.htm
宽泛讲,云计算是虚拟化的实际应用。虚拟化主要是将硬件资源抽象起来进行共享,达到资源池化。比方说计算资源抽象、存储资源抽象等。
具体讲技术时,一般还是计算资源方面。
1. 虚拟化一般特指内核虚拟化技术 kvm 。现在云计算的虚拟机服务大多数基于 qemu/kvm 。这种 kvm 虚拟化是硬件辅助虚拟化,主流 CPU 都支持。因为模拟的是操作系统完整的环境,开销一般会比容器化的大,但隔离性上好。大部分厂商的云计算,提供虚拟机服务时,主要就是这个东西。
2.容器化是进程级别虚拟化,一般是依赖于内核 namespace (修改进程视图,让进程以为自己是独占资源)和 cgroups 技术(简单认为保证 QoS )。以 docker 为例,内核提供 namespace 、cgroups 支持,另外文件系统上 overlayfs 等联合文件系统的技术,解决分发问题。只模拟一个或者一组进程的上下文(宿主机上所有容器共享一套内核)资源开销上小些,但隔离性上差。
可以简单理解为,1 跟 2 是虚拟化程度上差异。实际上,在边缘计算领域已经有基于 kvm 虚拟化技术的容器了。
云原生一般是以 k8s 为基底的生态。
虚拟化是云计算的基础。集群资源池(集群 cpu 、集群 gpu 、集群 RAN 、集群存储,集群资源,高带宽接入等等)+跑个资源控制与虚拟化软件,生出的小机,是为云主机。一个独立服务器,跑个虚拟化软件,生出的小机,是为 VPS 。
个人观点,仅供参考。