我正确地理解,通常IaaS(主要看机架空间云服务器)将提供一个虚拟服务器,客户需要操作系统更新,软件更新,防病毒,pipe理备份和其他常见的非硬件服务器pipe理任务。 另一方面,用PaaS(看着heroku),几乎所有这些都是由主机处理,只需要偶尔的外部备份。 灵活性和定制化作为主要的折衷?
是的,你说得对。
对于Rackspace云服务器(IaaS),您可以select支付托pipe支持,这意味着您可以让Rackspace处理许多这些系统pipe理员任务。 你仍然需要处理一些事情。
在PaaS的情况下,你几乎不关心服务器。 就你而言,只有一个Web界面可以让你发布应用程序。 你可以添加可选的服务,一些免费的,一些是付费的,添加了诸如数据库之类的function,但是你不知道它们是如何设置的。
你也有类似于EngineYard的东西,感觉就像是这两种方法的混合体:你可以定制一个EC2实例来准备推送你的应用程序,但是如果你也将Chef食谱推送到这个实例,你可以有更多的定制。
我不确定你是否能够获得定制+标准化部署环境的最佳效果,或者是两者之间最差的难以实现的调整,因为标准化的环境对你来说并不合适(而且定制非常紧密) 。
作为一个便笺,Heroku有一点就是,你会写出相对便携的横向扩展应用程序。 这是PaaS为您提供的紧身衣,如果您发现Heroku不太合适,而且您需要IaaS解决scheme,那也不是什么坏事。
您可以将IaaS视为系统pipe理员的云,将PaaS视为开发者的云,将SaaS视为最终用户的云。
IaaS为您提供基础架构的自助调配 – 计算,存储和networking。 你需要自己pipe理这些东西,包括configuration,更新等等。它通常通过虚拟化抽象出硬件的细节(但并不总是 – 裸机云在硬件上直接为你提供IaaS)。
PaaS为您提供应用程序的自助式部署。 它抽象了服务器和其他基础设施的细节,包括缩放和恢复。 它确实要求应用程序被开发到一定的约束来实现这一点,例如12个因子devise原则。
SaaS为用户提供应用程序,而无需自行安装,或pipe理底层系统。