查看原文
其他

对于云计算,作为客户我们更希望深入实情而非被“忽悠”

汪照辉 王作敬 twt企业IT社区 2022-07-03

原题:云计算杂谈

作者:汪照辉 王作敬 中国银河证券股份有限公司 信息技术部IT研发中心


引言

最近参加几场容器厂商的产品发布会,会上被邀请的若干专家总会畅谈PaaS,听了半天也没听明白他们说的PaaS是什么。会上也遇到初创容器云厂商的销售,初步接触几个技术负责人,感觉也是一知半解,作为客户,我们更希望真正深入了解一些实情,而不是炒作概念、忽悠客户、忽悠投资。我们更关心可能是比如容器云弹性伸缩策略、服务编排设计、服务配置运行时调整等方案。

故整理了一些资料以及本身的一些思考,这里与大家分享,希望对大家能有所帮助。

云计算之类型

什么是PaaS? 什么是IaaS?什么是SaaS?什么是公有云?什么是私有云?什么是混合云?什么是专有云?什么是金融云、政府云、行业云等等?概念的定义也泛滥了,我们大多数人也跟着被忽悠。借用云计算三种类型层次定义来看下:

PaaS英文命名:Platform as a Service。顾名思义,以平台为服务,或者我想也可以说是提供网络上(按定义应该是Internet,不过我们很多基于数据安全建立企业内部私有云,不走Internet)平台化服务的云计算类型。需要通过网络提供运行时服务、中间件服务、操作系统服务等;在PaaS上用户还是要开发管理自己的应用和数据。

而SaaS(Software as a Service),用户就什么也不需要管,拥有一台能够连接网络(或Internet)并能访问软件服务的终端就行。

IaaS(Infrastructure as a Service),也就是提供网络、存储、计算等服务的基础设施服务。最常用的比如虚拟机服务和云盘云存储服务。

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

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

▶IaaS

IaaS相对简单,很多公司也都实施了,很多采用VMware的虚拟化技术,提供虚拟机等服务,这就是IaaS服务的一种实现方式。Amazon,阿里等最初提供的就是IaaS服务,目前也提供PaaS服务。

▶PaaS

从PaaS功能来说,PaaS提供应用开发、应用托管、应用运维等能力。也就是说在PaaS上,客户可以开发、测试应用,用户可以托管应用到PaaS的运行环境,同时PaaS提供给客户应用服务运维的能力(比如监控、日志、安全等)。

▶SaaS

SaaS更简单,比如通过网络提供财务管理服务、人力管理服务等的应用服务就是SaaS服务。博客、微博算不算一种SaaS服务?其实在我看来也可以算,毕竟是通过Internet提供给客户的应用服务能力(文档编辑、数据存储等服务)。

总结一下,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平台或容器云平台提供什么资源就好。


以上仅代表作者观点,欢迎更多探讨交流

更多相关文章请点击阅读原文


长按二维码关注公众号

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存