摘要:

容器技术的出现使PaaS焕发青春,越来越多的公司推出容器化的各种PaaS云,在搭建容器云平台时,到底选择物理机好还是虚拟机好?我想这个问题每个要采用容器云的公司都会面对,大部分厂商会说都支持,或者建议虚拟机。但从笔者个人观点来说,物理机更适合我们搭建容器云平台。

康拓普企业云平台

现在依然很多人把IaaS、PaaS、SaaS服务混为一谈,基本概念都不清楚,如何能做好云系统云服务?

我们一直强调理论指导实践。理论不清,认识不明,就无法正确做好事情。没有正确的理论概念,就没有正确的成功实践!况且,即使理论概念认知正确,往往也是摸着石头过河。因为事情总在不断的变化之中,每个因素都可能会成为关键因素,都可能带来影响。其实环视国内,我们不缺概念、不缺实施,缺的是技术理论的深度研究。

简单来说,IaaS提供基础设施服务,比如虚拟机、虚拟网络、存储等;PaaS提供应用开发、测试、部署、运维的平台服务;SaaS提供直接的应用功能服务,不需要客户再进行开发测试部署安装调试,也不需要建立IT环境,只要有网络有终端就可以完成工作。

云计算之类型采用

技术是把双刃剑,用好,科学技术是第一生产力,用不好,也会带来巨大的损失。PaaS不是每家企业都需要,我们说量体裁衣,根据企业自身实际情况来决定是否需要PaaS。

什么企业需要PaaS?

或者说企业到底需要IaaS? PaaS?或是SaaS?

或者需要不需要迁云,什么时候迁云?

说到底,避免被忽悠,那就要有深入的了解。

传统的财务、人力资源管理,更适合SaaS来实现,这些应用几乎没有或很少变化,而且对每家企业来说是必须的。如果使用云服务,成本将会非常的低。不过基于数据安全,对于大中企业来说,很难把这些重要数据放到公有云上,人才和数据是企业的核心资产,谁拥有这些数据就拥有了无限的可能。所以这些最终可能得由行业或政府来主导建立有公信力的行业云或政府云,来向微小企业甚至是中大企业提供基础的财务、人力服务。同样,政府有这些数据,可以从税收、监管、宏观调控等方面更好的服务于社会企业。

但对于需要提供网上交易网上业务服务的企业,业务形式需要不断的变化,不断创新。比如适时促销、流程变更,自身具有软件研发能力或者希望自己能够掌控研发流程的企业,可以采用PaaS。至于说私有PaaS或公有PaaS,则需要根据企业自身的情况来决定。数据重要,比如大型企业客户账户数据,那就需要建立私有PaaS,当然需要投入更多的资金、人力支撑;资金缺乏,数据没那么多没那么重要,比如初创企业,可以选择公有PaaS。

通常一些公开的大量的数据可以运行在IaaS,比如证券行业的行情服务,则是为了减少基础设施的搭建和运维。另外也是由于PaaS技术不够成熟,往往不得已而为之。

云计算之容器化

容器Docker技术出现之后,容器化浪潮席卷全球,几乎每个人都在鼓吹容器化。我们是否真正的考虑过到底什么适合容器化?作为用户,我们需要有个认真的思考。

目前几乎每家交流的厂商都会告诉你他们已经全部容器化了。服务、应用、中间件、数据库、Devops工具链等等几乎无所不包。那么这些到底哪些适合哪些不适合?容器化是不是我们期望的那样?似乎一切都非常乐观,但深入的理解和认真的思考之后,没有放之四海而皆准的道理,容器也是一样。All depends! 微服务架构无状态的应用和服务非常适合容器化,传统应用就不见得适合。所以我们也提出了避免盲目迁云。中间件和一些工具组件大多数也不适合生产环境容器化,比如Prometheus、Kafka、Hadoop、Redis等。Prometheus需要高IO和高CPU支持;Kafka对于内存、网络、文件系统、file describer都设置都有要求才能达到良好性能;Hadoop、Redis等更不适合容器化。在支持微服务时,一些数据库服务可以容器化,但数据分拆要首先做好,数据治理能力要达到一定的水平,否则不要轻易容器化。当然在测试环境,为了实现环境一致性,方便测试,实现流程自动化,容器化是个不错的选择,但性能测试等依然需要非容器化环境。

云计算之容器云基础设施 (物理机or虚拟机)

容器技术的出现使PaaS焕发青春,越来越多的公司推出容器化的各种PaaS云,在搭建容器云平台时,到底选择物理机好还是虚拟机好?我想这个问题每个要采用容器云的公司都会面对,大部分厂商会说都支持,或者建议虚拟机。但从笔者个人观点来说,物理机更适合我们搭建容器云平台。

第一、虚拟机需要经过虚拟化过程,其目的是为了资源隔离。我们都知道这会造成性能损失。容器也是虚拟化实现,容器调度技术也可以现实资源的隔离需求。为什么还要用虚拟机虚拟化一层?

第二、虚拟化的物理机配置不太可能都一样。所以虚拟出来的CPU、Memroy性能会有差别,你无法做到有效区分。

第三、物理机也不见得配置都很好,每台物理机不见得都可以虚拟出很多虚拟机。一些老旧的物理机设备扔掉?还是可以废物利用?既然容器是轻量虚拟化,可以结合微服务实现,充分利用老旧设备,以节省资源节约成本。

第四、客户的应用服务可能对基础设施资源有不同的要求。比如有的应用需要性能优化的CPU,有的应用需要高Memory,有的应用需要频繁的IO操作等等,虚拟机如何满足这些需求?

很多情况下我们会基于一些假定,所以结论并不一定正确。全面的看待问题,可能更接近于事实。

目前已经有公司在实现OpenStack和容器云的集成,将基础设施能力纳入PaaS平台,以实现基础设施资源的有效高效管理。这样,PaaS平台管理员就不用关心基础资源分类管理(交给PaaS集成的IaaS来完成),按需调度分配即可。

这么做并不是为了看不到IaaS,对客户用户来说,本就不应该关心IaaS,开发托管运维的应用服务需要什么资源,PaaS平台或容器云平台提供什么资源就好。

(作者:汪照辉 王作敬)