软件即服务(SaaS)正在迅速成为销售软件的主流方式。像谷歌和微软这些大公司之所以专注于SaaS模式,是由于它从许多方面开辟了新的收入来源。
过去几年,许多大宗软件首发上市(IPO)都与SaaS有关。然而,同样也有许多失败的案例。许多开发商难以搞清楚SaaS交付平台的核心本质,因而未能为SaaS设计出可靠的、可扩展的、安全的架构。
本文基于我们开发Clintra这款旗舰产品汲取的经验教训整理而来。这是一款基于云的业务管理系统。它着重表明了SaaS开发商为了让SaaS解决方案从长远来看获得盈利而需要关注的各个方面。
为何你应该引起注意?
据IDC公司的报告《全球半年一次的公共云服务支出指南》声称,全球公共云服务方面的支出将以19.4%的年复合增长率在增长,会从2015年的近700亿美元增加至2019年的1410亿美元。IDC预测,SaaS仍将是主要的云计算类型,在这段预测期的大部分时间里,将占到所有公共云支出的三分之二以上。全球基础设施即服务(IaaS)和平台即服务(PaaS)支持的增长速度将超过SaaS,五年期内的年复合增长率分别将达到27%和30.6%。
Gartner还预测,今年应用软件的销售额将增长7.5%,到2019年将超过2000亿美元,这主要归功于基于云的SaaS模式得到广泛采用。
那么,你是否准备打造下一家独角兽公司,加入亿万富翁俱乐部?如果是这样的话,不妨先专注于在你将现有的软件或新想法转变成SaaS之前需要掌握的几个重要问题。
为云构建安全、可扩展、盈利的应用程序的三个重要因素
SaaS架构有别于传统的软件架构。无论你是想把传统软件转换成SaaS,还是从头开始开发SaaS产品,都要密切关注这种架构的几个重要因素,比如安全、性能、可扩展性和可用性。
安全是至关重要的因素:安全可谓是SaaS的最重要因素,每个CIO都会密切关注它。我们的几乎所有客户都会询问我们的软件是否安全、他们的数据会不会安全地存储起来。
由于许多公司受到黑客窃取宝贵的公司和客户信息的影响,许多客户对于使用SaaS应用程序变得更小心谨慎了。如果你的在线服务最后成为负面新闻报道的话题,那么使用该服务的活跃用户数量很可能会减少,至少短期是这样。
因此,你可以采取多个安全措施。比如你需要确保自己在服务器上安装了SSL,这种协议让数据能够安全地传输。至于用户验证和授权,有多种方法可供选择,比如双因子验证、IP地址封阻和MAC地址封阻。你还可以采用一些开发实践和设计模式,它们让你可以为API确保安全。
性能和可用性,以及如何驾驭这个难题的技巧:技术创新已促使人们对许多功能特性习以为常。用户提出了越来越多的标准,只有满足这一系列标准,他们才会认为在线服务很出色。
事实证明,对许多竞相提供高质量的基于Web的SaaS的公司来说,这是一大挑战。如果你亲自用过SaaS服务,可能会发现一些有故障、速度慢、用起来太过复杂,用户不喜欢这样。因而,如果你想要确保自己的在线软件解决方案仍是用户青睐的选择,就要确保其性能符合他们的喜好。
在传统软件中,每次只会有一个用户登录进入到系统,应用程序的性能完全取决于该用户计算机的资源。换成SaaS应用程序,情况就不一样了,因为处理负载转移到了服务器端,用户的计算机充当哑客户端。
另外,还会有多个用户同时从世界的不同地方连接。这给服务器资源施加了沉重的负担,所以你要确保自己的服务器能够处理这个负担。为此,一个办法就是对服务实行负载均衡。你可以添加多个服务器节点,它们连接到单一负载均衡系统。这样一来,就可以把负载分摊到多台服务器上。
你可以使用不同的设计方案对服务器实行负载均衡,比如轮询和多播/广播等。你还需要专注于故障切换策略。比如说,应该准备好回答下列问题:如果负载均衡系统出了故障,会发生什么情况?应该对负载均衡系统实行负载均衡吗?如果一个应用程序节点出现故障,用户会受到哪种影响?如果主数据库节点出现故障,会发生什么情况?你在灾难恢复方案中应列入哪些要点?
数据备份和恢复:你的灾难恢复方案必须专注于数据备份和恢复。
这个方面还与一些法律问题有关。可能需要确保已采取了适当的措施来确保数据的安全,具体取决于你从事的行业领域。比如,如果你有一款医疗SaaS应用程序,那么你的数据备份和恢复方案会与企业资源规划(ERP)SaaS应用程序大不一样。另外,你需要确保已制定了多个恢复策略。万一某个策略失效,总是有另一个策略可供使用。
至于数据备份,除了备份文档外,你还需要确保备份数据库。就数据库备份而言,你可以将主数据库设置成自动复制到只读性质的从属数据库服务器。万一出现故障,这让你能够使用这台从属服务器更换主数据库服务器。
至于文档存储,你需要将所存储的文档从服务器复制到外部存储备份系统,以防丢失主存储内容。为此,一种方法就是使用AWS、谷歌云存储或其他某家存储提供商提供的存储服务。你可以针对存储文件夹设置远程同步(rsync),这会将文档自动复制到这个辅助存储系统。
让SaaS易于使用的三个软因素
一旦你搞定了上述几个重要因素,还必须确保自己的应用程序易于使用。许多SaaS平台表现不是很好,因为它们只专注于搞好上述这三个因素,却完全忽视了易用性方面。
为了获得SaaS解决方案带来的回报,你应该关注这三个软因素:
服务质量:质量为王,尤其是要牢记许多服务可以用来执行同样的任务。如果用户不喜欢某个在线软件服务,他们就会改而使用竞争对手提供的另一项服务。我这里所说的“质量”涉及服务界面、服务稳定性、打开的速度以及其他因素。
可用性:一些公司在发布SaaS产品时所犯的错误就是,它们限制了可以使用该服务的人员的数量。它们限定只有在特定的城市、国家或地区才可以享用服务。尽管可以理解为何它们选择这么做(目的是为了试水,而不是冒风险),但是值得一提的是,这可能会让它们错失一些潜在的生意,给竞争对手提供了积极填补空白的大好机会。
易用性:在线软件应该易于使用。提供在线软件服务的主要目的是,为用户提供便利。由于这个原因,在线服务提供商应该确保它们坚持采用简单格式的软件,与提供的实体版软件一模一样。力求简单往往是最佳方案。
SaaS在性能、安全和易用性之间的取舍
遗憾的是,你不可能做到某项SaaS功能面面俱到。你得在性能、安全和易用性之间寻求平衡。这是三角关系。你在安全方面要求越高,系统的易用性就越差。性能方面同样如此;越关注性能,系统中留下几个安全漏洞的可能性就越大。越关注易用性,安全和性能难免会受到影响。
比如说,为了提高安全,你增添了双因子验证。现在,用户不得不始终随身携带一个外部设备,确保他们获得登录所需的有效代码。这就影响了易用性;而且从性能的角度来看,服务器必须执行另外的验证步骤,以核实输入的代码。
然而,你还可以提供选项,那样最终用户可以确定自己是想专注于安全还是专注于易用性。比如以Clintra为例,由于它是一款非常通用的应用程序,可供任何行业使用,于是我们决定加入所有的验证措施,比如双因子验证、IP地址封阻、MAC地址封阻等,并且让我们的客户可以选择想要启用哪一种类型的安全机制。
这让客户得以在安全和易用性之间选择,那样你SaaS提供商就没有必要以某一种方式来强迫你的客户。
如何为你的应用程序选择最佳的云基础设施?
说到让你的SaaS平台具有盈利能力、可扩展性和易用性,基础设施在其中扮演了重要角色。正因为如此,全世界奉行的理念由自己拥有向对外租赁转变。租赁提供了许多优点,因为没有庞大的前期成本,你用一笔小小的投入就可以起步。
设计的SaaS架构应该让你可以结合使用PaaS和IaaS。PaaS模式为开发人员提供了从许多方面让服务变得更好的工具,从而简化了编写基于Web的软件这项工作。现在外头有许多优秀的PaaS服务,比如Salesforce.com,它们提供了低级服务,比如媒体服务器、验证服务器、预先配置的应用服务器等服务。
这些服务可以为你节省大笔开支,因为你不需要前期投入来招人搭建服务器,然后每年支付管理服务器的费用。
PaaS随带支持服务,那样你尽可放心,还能省钱。IaaS也是如此,它提供了用来提供服务的软硬件组合。它专注于基于Web服务的运营和正常功能。简单来说,它组合了服务器、网络、存储和操作系统,这是有效提供服务所需要的。
你应该专注于结合使用PaaS平台和IaaS平台。这让你能够为基于SaaS的应用程序从事快速开发、缩短进入市场的时间。
为何开发商搞不定?
SaaS在发展,许多新公司在获得基于SaaS的产品这个巨大市场带来的丰厚利润。然而,比较老的开发商和公司感觉落在后面。
无论何时出现根本性转变,新的想法总有机会取代传统的旧想法。SaaS领域正是出现了这一幕。它完全改变了游戏规则,虽然比较旧的公司在竭力改变和适应,但是为未来而生的新公司正在大步超过它们。
新的收入模式
之前软件公司的收入模式很简单。通常销售采用年度许可证的产品,在一些情况下加上每月支付的支持费。
SaaS带来了一种新的收入模式,它不一样。人们购买使用你服务的订购方案,而不是购买你的产品。
SaaS常常要求客户签订一段时间的合约,比如12个月。这让你的收入预测起来稳定得多,投资者喜欢看到这一幕。
软件开发商不再前期收取大笔收入,而是费用分摊到整段合约期。这让它们得以扩展解决方案,以便同时服务于更多客户,又能更迅速地向全球各地的客户交付产品。
客户也得到了定制方面的许多选择,这进一步使财务预测和模式显得复杂化。
公司不得不搞清楚如何以一种完全不同于之前的方式来创造收入。为公司重新树立品牌够难的了,而重新考虑公司的商业模式更是难得多。
需要重新构建软件
大多数老牌公司有足够的人手来更新软件,并开发新版本。然而,为了改写传统的应用软件以适应SaaS,公司在许多情况下不得不从头开始重写软件。新公司只好投入所有的开发资源,构建采用SaaS模式的新软件。依赖遗留软件的比较老的公司需要支持现有的软件,同时还要开发一款单独的SaaS产品。
许多公司还不得不重新考虑其软件如何运行,以便将软件转变成SaaS产品。有些产品在市面上已存在了20年,它们在构建时始终假设:它们会安装在计算机上。但是现在不再是这样。
由于诸多原因,SaaS平台已变得越来越流行。通常来说,客户发觉,从满足要求方面来看,基于订购的解决方案来得更灵活。它还让产品和服务从长远来看对他们来说更实惠。通过改而使用SaaS模式,开发商就能在目标市场获得一大块,并且获得更高的收入。
下面是有助于开发商确保向SaaS转型取得成功并获得利润的几个要素:
交付独特而出色的产品和服务,不仅满足客户,还取悦客户。
确保提供的产品很简单。复杂的功能特性对新用户来说似乎让人望而生畏,让他们转移目标。
专门抽出销售、服务和客户支持等资源,投入于你的SaaS解决方案。
确保对越来越庞大的移动客户这个群体进行营销。
不断测试和更新你在SaaS平台上交付的产品。
最后,完全值得努力采用SaaS模式。那样你能够吸引忠诚的客户、提高收入,并且让贵公司有望实现盈利增长目标。