云计算概念辨析之SaaS

作者:传智播客Java教研部高级讲师  栾博

云计算、物联网是近几年IT界热议的两个词语。但是初入软件编程的应届毕业生经常将一些基本的概念混淆,从而将目光一直锁定在宽泛的概念层次,不能很好地找到这些热点与我们的学习内容有哪些联系。从而好高骛远,不能踏实地学习具体技术。我认为有必要在这里对这些概念做一个辨析,并以笔者参与的一个2009年的云计算项目HiService做一个简单的介绍。

——题记

云计算仅仅是一个概念

很多朋友说要开始云计算的学习,但是很少人知道云计算的真正意思。其实云计算是一个非常庞大的概念。单独的一两个定义并不能完全解释云计算。归结起来,大概有这样三点:

1.通过分布式计算机集群处理计算及相关数据;

2.使我们脱离“一台本地电脑或者“一台服务器端服务器”,使我们始终认为是在上网而不是在访问某一台计算机。好比我们用水不会认为是只是从一个桶里接水而是整个的自来水服务。这个比喻可能并不恰当,但是当你掌握一定的互联网及软件常识之后,笔者认为应该是可以理解到位的;

3.通过许多具体载体来实现云计算的功能。

第一点:通过分布式计算机集群处理计算及相关数据。这点更符合一般常识下的云计算概念。即我们要做的是将海量数据以及这些数据的计算工作交给分布式集群处理,从而总结出一些更为客观的规律。比如,某互联网公司经过大量数据的计算得出百事可乐选择吴莫愁代言会增加其销量。官方给出的结果也正是如此。去除这个事件的计算结果正确性与真实性不谈,单是从数据增长的趋势来讲,分析数据将成为信息化社会的杀手锏之一。

然而请注意,这些实际上是与大数据等新技术紧密相关的。是云计算这个概念的重要一面 ,并非是全部。

第二点:使我们脱离“一台本地电脑”或者“一台服务器端服务器”,使我们始终认为是在上网而不是在访问某一台计算机。其实这点才是云计算的最初的一个想法。即将网络,服务,计算,软件等这些完全整合到互联网当中,这时,只要有互联网,这些都可以实现。就像上文自来水的比喻一样。它是一种公共资源,而不是单独的”谁”来与我们交易。

这点理解起来可能会比较抽象,完全为概念的理解。如果说第一点为技术的核心之一。那么这第二点才是互联网世界竞争的核心。无论是Oracle、Google、Microsoft还是国内的百度、腾讯、360,他们都在使出浑身解数来争取用户。各种云盘,各种桌面,各种门户都是为云计算的市场争夺做铺垫。好比移动、联通、电信,基于云计算的概念,谁的用户基数大,谁将是下一个赢家。

第三点:通过许多具体载体来实现云计算的功能。如果说前两点与编程初学者离的太远的话,那么第三点则是跟刚刚开始进行开发工作的朋友息息相关的。对于云计算这种相对飘渺的概念而言,最终是要接地气的,即需要有一个具体东西来实现。前边说的物联网,桌面,云盘等都是互联网巨头要琢磨的事情。对于绝大多数身处中小软件公司的朋友来说,只能起来指导方向的作用,而无法参与到游戏当中。那么中小软件企业在处理云计算业务时,大多使用的是具体的云计算的载体,如PaaS,SaaS,IaaS等。而最常用即为SaaS(Soft as a Service)。也就是说,大公司不谈,如果大家在中小公司进行开发的话,可能性最大的便可能是SaaS了。而说到底,这些均为JavaEE项目。一个掌握JavaEE项目的开发人员,只需要在原有技术上增加一个云计算的概念就可以进行云计算SaaS开发,无需掌握更多的新技术。

什么是SaaS?

前边已经说过了,SaaS是一种云计算的载体,是云计算的具体实现形式。

美国国家标准与技术研究院对云计算的定义如下:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

如果按照定义的描述来看,SaaS无疑是最标准的实现形式。它多为企业服务,是将软件作为一个服务,直接通过互联网提供给消费者。这与传统软件不同的是,传统软件需要为用户直接去机房配置服务器,安装调试软件,之后培训使用,如果出现故障需要到客户的机房中修改BUG或重新实施。SaaS免去了这些麻烦。软件服务直接使用服务提供商的机房,一切维护,运行工作均由服务商承担。传统软件是以项目为单位收取费用,即一个项目的交易额。而SaaS这种模式是软件公司为所有客户提供同样的一个系统,各个用户以租用的形式,即按照每单位时间每使用单位进行租用收费。比如某公司租用(创建)一个系统,该租户下1个用户每年80元,共有20个用户使用。这样就做到了按需进行网络访问,按量收费。

HiService

HiService是笔者参加的一个09年的SaaS项目。很遗憾是一个流产的项目。该项目于2012年上线,2014年交易给某理工大学作为了研究生院的研究项目。虽然产品流产,但是其作为国内第一批SaaS的实践者,总结出了非常多可贵的经验。同时也让我们意识到SaaS这种运营模式在国内的适应情况。

我将从IT市场背景,HiService功能及研发初始目标,研发所遇问题,SaaS未来展望4个方面来介绍HiService。

IT市场背景

虽然2006年Google就已经将云计算的概念提出,但是国内开始尝试还是从08、09年开始。国外做的标志性的SaaS是salesforce,但是遇到中国国情,它在国外的运作方式并不是很成功。而在其入股的八百客是比较成功的国内SaaS运营商。当时我们的HiService也是参照以上两个业界前辈进行开发。

SaaS所遵循的规律是长尾理论,这与传统的二八理论相反。以ERP为例,全球前500强的绝大部分公司使用的均为SAP,占领了绝对的软件利润空间。而使用SaaS进行大规模公司的业务支持几乎是不可能的。因为大公司业务复杂,不能使用一套SaaS系统就将所有的业务包含进去。所以SaaS的目标为利润低廉的中小企业,这些企业没有经济能力自己构建ERP,但是其业务相对简单,可以参与低廉的租用方式,与其他公司使用雷同的ERP服务,即我们提供的SaaS。有长尾理论推断,虽然利润低,但是其用户基数大(尾巴长),所以长期利润应该同样可观。

同时期的还有思特奇,友商,用友企业云端等。就是在这样的背景下,我们开始了SaaS的研发。

HiService功能及研发初始目标

HiService可以理解成一套通用的ERP。它将许多公司常用的功能,融入进去,供公司使用。公司的个性业务使用自定义的形式进行动态配置,如果出现不能配置的情况,我们会进行对应的定制化开发。

HiService主要包含这样几个核心功能:动态表单,CRM,SCM,基本报表,工作流配置等。

CRM,SCM来完成一般公司拥有的类似ERP的功能。动态表单完成企业个性化的需求。如北京某有线电视公司的电缆管理。如果想配置电缆设备管理相关的业务使用动态表单都可以配置完成。如果遇到供应商采购,客户关系处理,仓存问题则可以使用已经存在的CRM,SCM来完成相关内容。如果有一些工作安排即任务派发,可使用工作流完成。当然,一些必要的报表也是同样可以进行工作的。

这样,一个HiService系统就可以通过这种一套软件,租用给不同的公司,各公司使用自己的账户配置公司系统,并进行自己公司系统的使用。

这时,我们发现,概念已经转换了,即我软件公司销售的是一种管理公司的服务,并没有卖给公司任何的软件。便实现了软件及服务的目的。

研发所遇问题

如果你是一个在职程序员,很理所应当地会提出,租用的概念如何实现,动态表单如何实现,通用业务能满足企业要求吗这样三个问题。

对于租用的概念,解决起来非常简单,我们在访问数据库权限之前,使用过了LDAP这种树型目录结构来完成租户的概念。之后,通过租户的确认,再到数据库中访问这个租户下所有的用户信息。

对于动态表单,使用了元数据的概念。即所有表单的表名,字段名,字段类型等DDL级别的信息均存储到一些元数据表中。用户在创建动态表单时,根据用户的定义情况,元数据表会创建相应的表单信息。之后,通过拼写SQL语句的形式,完成对一些“拼凑”起来的表单的查询。当时我们使用的是hibernate+spring+struts2。但是由于hibernate的使用技术瓶颈,并没有过多体现ORM的思想。绝大部分仍然使用的是拼写SQL的做法。并且由于要完成动态灵活的表单配置。大量地使用了外键的关联,使得后期有大量的脏数据产生,导致数据错误,系统崩溃。

而通用任务确实无法满足不同客户的要求,于是出现了大量的定制化开发。这直接导致了人力不足。许多模块经过5、6个人的开发,基本无法维护。

核心开发人员蔺皓(坚果云创始人)的离开也是该项目流产的重要原因。

这便是我们遇到的三大核心问题和核心人员流失问题,也是流产的主要技术原因。而流产的业务原因则在于系统信息安全性与公司实力无法保障产生的信用危机。

SaaS未来展望

与HiService不同的是,八百客、思特奇等SaaS厂商顺利地解决了这些问题。对于个性化定制问题,笔者猜测无非是更强大的动态配置、更全面的既有业务模块或者是笨拙地进行手动自定义开发。对于国内的SaaS形式而言并不乐观,处于高不成低不就的态势。如何打破这种僵局确实是一道难题,即使是当今最成功的八百客,也仍然处于摸索阶段。

然而SaaS这种云计算的载体绝对是未来的发展趋势之一,只是时间与国情的博弈。对于广大初入软件开发行业的新手来说,请牢记,云计算只是一个概念,不要被这样一个美好的陷阱所迷倒,其基础仍然是在传统开发之上的。如果没有良好的传统开发的编程思想,那么对于云计算开发而言,也只是空中楼阁,飘渺的建筑。

所以,请朋友们切勿好高骛远,在没有具体的创业方案之前,最稳妥的方式仍然是学好基础知识,从基层开发做起。

最后,祝每位朋友脚踏实地,一步一个脚印地迈向IT界精英的大门。

备注:转载请注明出处本篇文章内容均为个人观点,如果不准确之处欢迎指正。

云计算概念辨析之SaaS

时间: 2024-08-19 06:34:39

云计算概念辨析之SaaS的相关文章

高并发应用中客户端等待、响应时间的推算,及RT/QPS概念辨析

高并发应用中客户端等待.响应时间的推算,及RT/QPS概念辨析 对于一个网站,已知服务端的服务线程数和处理单个请求所需的时间时,该如何算出高并发时用户从点击链接到收到响应的时间?注意这个时间并不等于服务端处理单个请求的时间,因为高并发时,很多用户请求需要排队等待,你要把这个额外的等待时间算进去. 这个问题很重要,因为它的结果直接影响你的网站的用户体验.这篇文章就是来帮你算这个时间的.你可以使用本文附带的程序来算,也可以通过本文提炼出的公式来算. 另外还有一个问题:所谓RT(响应时间)和QPS,究

云计算概念

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released

云计算模型laas paas saas 三者之间的区别(转)

云计算模型的三种模型 – 基础架构即服务(IaaS).软件即服务(SaaS)和平台即服务(PaaS) —— 正在快速演变.而云服务提供商都试图在模式栈的上下两个方向进行扩展,以期能提供一站式的IT服务. Jeffrey Kaplan是咨询公司ThinkStrategies Inc.的常务董事,他认为首先了解历史有助于理解三种模式是如何进化交融的.首先,从SaaS谈起. 在2006年,Salesforce.com吸引其客户关系管理(CRM)SaaS服务最终用户(而不是IT人员)的战略初见成效,其他

云计算概念以及六大云平台对比---------开发者如何选型不同的云

什么叫做云计算? 主要是提出的概念:用户的手机.pc.笔记本统称为端:网络的服务称为云.端和云的网络格局. 可以从“端”通过“云”(网络)获得强大的计算能力,数据处理能力及其它. 每个端也可以为整个云贡献自己的计算能力.——云计算 狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需.易扩展的方式获得所需资源: 广义云计算指服务的交付和使用模式,指通过网络以按需.易扩展的方式获得所需服务.这种服务可以是IT和软件.互联网相关,也可是其他服务. 云计算的核心思想,是将大量用网络连接的计算资源

《让云落地:云计算服务模式(SaaS、PaaS和IaaS)设计决策》分享!

内容简介 云计算落地已成事实.从前几年的概念普及,到如今越来越多的企业将业务迁移至云上,云计算正在改变整个社会的信息资源使用观念和方式. 云计算还在不断成长,技术细节也在不断变化之中.对于使用者而言,能够基于自身的业务.技术和组织需求等各方面情况,选择正确的云服务模式,是成功使用云计算最关键的技术决策之一. 本书共有十六章,作者有意避开了那些产品或供应商相关的细节,侧重于架构师及架构涉及各方应当解决的各种挑战,或者说,如何以适当的解决方案来解决业务问题:通过对具体问题的分析和案例讲解,向读者提供

十分钟看懂云计算概念

亚马逊AWS.微软Azure.阿里Aliyun组成的3A团队连续多季度保持高速增长.AWS通过光环新网实现商用,IBM Bluemix则由世纪互联提供运营,国际云服务商陆续来了.Openstack发布Newton版本,看上去就没有不能支持的东西,私有云的春天真的来了吗?Docker红得发紫,与之对应的DevOps和NoOps持续高温.但是对于不少企业尤其是传统企业,云仍在天边,对于云仍感觉云里雾里.上云还是不上云,上什么云,这是个问题.我们试着用最通俗的比喻,理清云服务中最基本的那些事儿. 什么

云计算基础知识第一讲:云计算概念

云计算(cloud  computing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备. 云其实是网络.互联网的一种比喻说法.云计算有狭义云计算和广义云计算两种概念: 1.狭义云计算: 指 IT 基础设施的交付和使用模式,指通过网络以按需.易扩展的方式获得所需资源. 2.广义云计算: 指服务的交付和使用模式,指通过网络以按需.易扩展的方式获得所需服务.这种服务可以是IT.软件.互联网相关,也可以是其他服务. 3.云计算示意图: 4.云计算核心思想

边缘节点服务ENS重磅升级 阿里云首次定义“边缘云计算”概念层层深入

随着5G.物联网时代的到来以及云计算应用的逐渐增加,传统集中式的云计算技术已经无法满足终端侧"大连接,低时延,大带宽"的需求.结合边缘计算的概念,云计算将必然发展到下一个技术阶段,也就是将云计算的能力拓展至距离终端更近的边缘侧,并通过云边端的统一管控实现云计算服务的下沉,提供端到端的云服务.如此,边缘云计算的概念也随之产生了.为了积极引导边缘云计算技术和应用发展,以及边缘云计算相关标准化的制定,阿里云和中国电子技术标准化研究院联合发布<边缘云计算技术与标准化白皮书>,在业界

Java-接口概念辨析

1. 类        是属性成员和方法成员的集合:2. 父类      是子类相同属性成员和方法成员的集合: 3. 抽象父类  是子类相同属性成员和方法成员的集合,               其中某些方法各个子类虽然都有(具有相同的方法签名),但实现不同,               所以抽象出来放到父类中,作为抽象方法存在:               这样的父类,也就成了抽象父类:4. 接口      是子类共有常量和相同方法的集合:接口只是沟通的规约,具体而言就是方法签名,不包含实现: