IaaS vs. PaaS vs. CaaS如何选择?(上)
网络托管的技术发展很快,选择如此之多,用户很容易感到不知所措,甚至会开始质疑是否现在所用的服务,对于当前的业务和需求来说是否是最好的选择。本文会通过以下几个服务产生的背景,分析其差异:
基础设施即服务(IaaS)
平台即服务 (PaaS)
容器即服务(CaaS)
读完本文你应该会对以下内容有充分的了解:
每一种服务实际上意味着什么?
为什么这种服务对你很重要?
哪一种解决方案对你来说最有意义?
当然这些都要根据你的实际情况考虑。
专用服务器/Bare Metal
网络托管服务的基础,都是塞满了服务器、交换机、路由器、存储阵列和其他网络设备的数据中心。我们要讨论的PaaS / IaaS /CaaS是上层的东西,他们加上一层抽象层使管理更容易,并使那些过去运行缓慢或必须手动完成的任务自动化。
专用服务器,即我们所知的Bare Metal有他的优缺点。
优势
性能——你正在直接使用计算机,中间没有任何附加的抽象层的开销,例如虚拟化;
可靠性——在没有抽象层与虚拟化的情况下更不容易出错;
资源用度——你的进程不会和其它的虚拟机或进程,去竞争CPU,内存和带宽等资源。
缺陷
管理困难:bare metal中没有AMI货镜像的概念,所以不能快速复制;
价格:多数情况下实用bare metal需要提前为硬件付费,还要支付放机器的房租。停下这些机器并不能帮你节省开支,你需要做好预算;
Bare metal环境下,所有的进程和应用都运行在同样的操作系统上。出于扩展性的考虑,通常会在一台服务器上只运行一个任务,比如web服务器,数据库服务器。
虚拟化:让事情简单化
显然这些缺点产生的影响盖过了优点,虚拟化成了很自然的选择。
什么是虚拟化?
简单来说,虚拟化将物理机分隔成了更小的虚拟服务器,如果你的物理机有2个双核的CPU和16G的RAM,你可以分成8个1 CPU和16GB RAM的虚拟机。
优势
虚拟机可以克隆;
为了安全和灾备,可以备份虚拟机镜像
缺陷
使用虚拟化意味着增加了开销,并有潜在的性能降低;
一般来说,常用的虚拟技术有Xen,KVM,VMware和Hyper-V等,这些虚拟机的镜像并不能通用;
使用虚拟机仍是一项手动的工作,并且要求时间与专业知识。
从虚拟化到IaaS的质变
啥是IaaS?
通过API虚拟化并管理其他人的硬件资源;
编程访问计算、存储和网络资源和配置;
当你需要时请求一个新的虚拟机,不需要时就停止,并且只为你使用的资源付费;
将数据中心资源看成通用的资源。
根据这些特性,2006年亚马逊推出了AWS服务及其EC2的产品。
为什么这次进化如此重要?
以前当你想要加载一个在线业务时,你必须做很多计划,以确保有数据中心和足够的服务器和存储空间来承载你的业务增长,足够的带宽来支撑你的用户流量。做这个计划不容易,特别是对于早期的、未来与发展路线都不确定的业务。
1.开发者不再被硬件资源所束缚:
可以迅速把想法付诸实践;
如果成功了,服务能轻松地随之增长;
如果失败了,停掉虚拟机就没有额外的花费了。
2.数据中心变得更自动化:
完全自动化的基础设施成为现实;
Web基础设施可以根据需求自动扩展和收缩;
启下文
IaaS的诞生确实是很重要的里程碑,但随着技术的发展,人们也在想是否有更简单的使用虚拟资源的方式。『我想要一个SQL服务,你却给我一台虚拟机?』这个思考了催生了PaaS和容器技术,下一篇文章将对PaaS、Docker和CaaS的特性进行介绍,敬请期待!