昨天和同事聊了一下他要做的云平台软件,感觉和之前公司做的挺类似,将云相关的概念进行了梳理,整理如下:
什么是云:云是网络、互联网的一种比喻说法。
什么是平台:操作系统、数据库和一些中间件都可称为软件平台。
什么是云平台:我的理解是,存在于互联网中,具备扩展和向其他用户提供基础服务、数据、中间件的提供商。
云平台当前有几种服务类型:根据分层理论,将云平台根据基础服务、数据、软件系统,划分为Iaas(Infrastructure as a Service)基础设施平台即平台、Paas(Platform-as-a-Service)平台即服务、Saas(Software-as-a-Service)软件即服务。
什么是IaaS(Infrastructure as a Service):
百度百科:消费者通过Internet 可以从完善的计算机基础设施获得服务。这类服务称为基础设施即服务。
个人理解:通过软件平台系统将大量的硬件资源进行集中管理,根据用户请求进行按需分配存储空间、计算能力、内存大小、防火墙、操作系统、网络环境等基础设施,以满足用户需求。
优:基础设施可以动态扩展,根据需求升级而增加基础设施的配置和容量。用户只为自己使用到的部分付费,降低运营成本。
缺:安全性、稳定性不确定。如果服务提供商网络环境出问题,会引起用户不能访问到提供的基础设施,造成运行在其上的Paas、Saas也不能提供服务。
什么是Paas(Platform-as-a-Service):
百度百科:把服务器平台作为一种服务提供的商业模式。通过网络进行程序提供的服务称之为SaaS(Software as a Service),而云计算时代相应的服务器平台或者开发环境作为服务进行提供就成为了PaaS(Platform as a Service)。
个人理解:软件系统随着使用量的增加,会存在性能瓶颈。通过Paas平台的系统,可以将服务、缓存、存储等运行在基础设施上,且又不属于业务部分公共功能,放入Paas平台,以便利用云的扩展性。分担业务系统的性能压力。比如企业服务总线、云存储、云缓存等。代表产品有ESB、Hadoop等。
优、缺点和Iaas类似。
什么是Saas(Software-as-a-Service):
百度百科:随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demand software”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。
个人理解:为降低企业运营成本,企业通过购买Saas平台的软件直接使用达到软件目标,而不必购买服务器、部署在自己人服务器上的软件、专人的维护。只需要按照次数或者使用量来付费。代表模式:多租户。
优点:使用方便,运营成本低。
缺点:除稳定性、安全性外,软件的定制开发、升级、与其他软件整合,都离不开Saas提供商的支持。
Iaas、Paas、Saas关系:
Paas和Saas可以运行在Iaas上,也可以不运行在Iaas上。
Paas可以为Saas提供服务,也可以为非Saas系统提供服务。
Saas可以使用Iaas作为基础设施,也可以不用。可以使用Paas解决性能问题,也可以不使用Paas。
什么是云计算:
百度百科:使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。
个人理解:是原网络计算的下一代版本。将需要的计算任务拆分为子任务,借用互联网中海量的基础设施提供的运算能力,一起完成运算任务,缩短计算时间。比如Hadoop中的MapReduce.