与任何一项新兴技术一样,随着时间的流逝,云计算在用途和实现方法方面同样呈现多重身份。
我们已从笼统的云计算概念,进入到现在用某某即服务(Anything-as-a-Service)世界来形容再恰当不过的阶段;在这个世界,几乎任何传统上本地部署的技术都可以通过公有云及/或私有云来加以交付。安全、灾难恢复、存储、通信、测试以及公司企业需要的几乎任何软件包都可以通过云服务,随时可以访问。
不过,说到实现云服务提供商声称的敏捷性和灵活性,处于所有这些服务核心的却是IaaS(基础设施即服务)和PaaS(平台即服务)。
在三种主要的云服务层当中,事实证明PaaS可能是最有用的。当然,IaaS提供了满足峰值需求和增长预期所需要的可扩展性,但是PaaS能够迅速开发及迁移应用程序和服务,有望大幅缩短进入市场的时间,这是处于竞争异常激烈的市场的企业所看重的一个主要方面。
PaaS介于SaaS层和IaaS层之间,它提供了一种敏捷开发平台,不仅可用来开发应用程序,还可用来测试和准备应用程序,以便部署到云环境,然后将应用程序迁移到生产环境。
比如说,Mendix就设计了着眼于敏捷性的PaaS解决方案,它在设计时遵循所谓的“无代码”原则。恰恰相反,其可视化模式简化了应用程序的构建和迁移。结果是,大幅缩短了进入市场的时间,让IT团队和业务部门负责人得以合作构建高效的应用程序。
Mendix的首席技术官Johan den Haan说:“我们让公司企业能够大幅缩短构建业务应用程序所花的时间。过去需要大型IT部门耗时数月、甚至数年才能完成,而现在小团队只要几周、甚至几天就能完成。”
CloudBees公司主管产品的高级副总裁Steve Harris同意这一看法。他表示,企业在开发和部署应用程序方面需要帮助。它们需要能够致力于核心业务,而不是花过多的时间来开发支持云计算的应用程序,尤其是在云本身可以用来简化开发过程的这个时期。
Harris说:“关键在于帮助人们构建、交付和管理云端应用程序。没有什么需要安装;你只要访问网站,注册一下,就有了一个完整的环境,可以开发、构建、测试和部署应用程序。结果是,缩短了进入市场的时间,提高了质量,缩短了交付时间,并且降低了风险。”
服务模式可能不一样,但那正是云计算吸引人的一方面――企业可以根据自己开发应用程序的具体要求,从众多PaaS选项当中选择合适的一种。它们可以使用私有云或公有云,或者是混合云,以便开发、测试、最终部署应用程序。它们甚至可以在云端进行开发,然后将开发出来的应用程序部署在企业内部。最近发生的数据和安全泄密事件对使用公有云的任何厂商没有带来任何好处,这不足为奇。
den Haan说:“采用PaaS面临的大障碍之一依然是安全。许多公司不希望自己的数据放在公有云,这就是为什么私有PaaS解决方案是一种必不可少的选择。”
尽管如此,Mendix的客户当中公有云用户和私有云用户基本上对半开,至于能不能满足公有云的合规标准,至少一方面取决于客户的性质。但是,许多企业没有考虑到这点:虽然云服务提供商与自己的数据中心有着同样的安全漏洞,但它们至少拥有更雄厚的技术力量,因而可能会确保严格的安全措施已到位。
持续开发模式
虽然不难看到因高效的开发平台而能够更迅速地发布应用程序所具有的吸引力,但PaaS平台的大优点可能在于,能够支持开发运营(DevOps)的持续开发模式。其想法是建立一个不断改进和提高的周期,而不是构建、测试和部署完成的产品。在进入市场的时间成为衡量成功的最重要指标的市场环境下,这个策略日益受到追捧。
den Haan表示,这正是PaaS的魅力所在。认识到完整的应用程序生命周期包括实时测试和反馈这个要素,Mendix等平台对这种新方法而言至关重要――按照这种新方法,发布不完善的应用程序变得可以接受,知道确实能够不断地改动和完善。这种模式恪守创业家精神,形成了一个平等的市场,让企业得以将注意力集中于产品,而不是集中于用来制造产品的技术本身。
den Haan说:“最终用户很容易给出想法和功能方面的反馈意见,这些都可以作为新的需求加以管理,然后可以轻松地构建和部署一个新的版本,因为敏捷性内置到平台当中。现在越来越多的人在采用这种理念,PaaS将有助于创造公平竞争的机会,让它成为注重商业模式、产品和服务的市场,而不是注重谁拥有最佳技术的市场。”
持续开发方法正在进入主流企业,企业对这种模式也越来越有信心。这些PaaS平台适用于开发流程的方方面面:编写、存储和串联源代码;构建和测试应用程序;将应用程序迁移到试运行区域,并准备用于生产环境;将它们发布到生产环境;征集反馈意见,从头开始整个流程,构建经过完善的产品。
Harris解释:“开发运营的核心其实在于,一直发布变更内容,相信它不会给体验带来负面影响。它注重的不仅仅是应用程序,还有配置和部署,以及与整个流程有关的新文化,这对我们来说一向是业务驱动因素。”
想以合理的方式投身于持续开发流程,唯一的办法就是通过云,因为弹性允许流程的不同部分可以迅速又容易地向上或向下扩展。比如说,一家企业一直在从事应用程序的开发,已开发了好几个月,终于准备好让应用程序接受严格的负载测试过程,负载测试需要极其强大的计算能力,开发团队本身无力提供。云让这成为了可能。因而,这还让团队对云有了信心,在这个过程中促使利用越来越多的云服务。
Harris强调:“公司关注构建和测试应用程序的方式后,想知道如何针对自己的构建和测试环境,来充分利用云资源。由于越来越熟悉,它们开始考虑如何将云服务应用到生产环境,之后,就会连接到现有的后台系统,而它们原本不准备将后台系统迁移到云端。”
凡是下载过移动应用程序的人都很清楚,应用程序更新到底有多频繁。这可能很烦人,不过相比长达两年的发布周期(这一度是标准做法),人们还是更宁愿频繁更新。应用程序开发已变成一个高度递增的过程,旨在实现多个目标。它不仅有助于持续改进,还向用户表明开展这种工作对自己有利,还正好可以趁机树立品牌――每当应用程序更新,这个品牌就会引起用户的注意。
物联网的影响
技术界可能会充分利用PaaS,从而带来深远影响,其中就包括越来越壮大的物联网(IoT)开发队伍。将来不仅可以迅速发布应用程序,以便牢牢抓住早期机会,物联网应用程序所需要的可扩展性还会超出大多数企业内部所能提供的那种可扩展性。实际上,物联网不大注重设备,而是更注重设备和应用程序――设备仅仅是在用户和设备之间传送信息的一种媒介。正是应用程序将海量数据转换成可付诸行动的情报;正是PaaS平台让应用程序能够迅速开发出来,从而紧跟新兴的潮流。
Harris说:“没错,我们已经能看到这一幕。它其实与我们现在所做的工作很适合;许多这些初创企业需要可扩展的资源来处理应用程序大获成功带来的局面,而这正是云和PaaS擅长处理的方面。”
PaaS是合适的选择吗?
鉴于市场现状以及企业需要越来越快的开发和部署模式,加上不完善的应用程序在生产环境日益得到接受,PaaS绝对是合适的选择。实际上,为了展开有力的竞争,企业不迁移到云和PaaS实在很难想象。在以软件为中心的世界,任何人都会成为竞争对手,无论大小。大玩家成为小玩家的竞争对手时,市场形势会发生变化,所以小企业尤其要保持领先一步。
由于企业和开发人员开始明白PaaS具有的好处,开始正视并应对云计算,PaaS采用率在稳步增长――实际上据den Haan声称,都快爆棚了。IBM公司宣布,它将往PaaS领域投资10亿美元,这无疑有助于推动整个市场;而Cloud Foundry在开源方面越来越成功,也将有助于为PaaS进一步造势。
den Haan预测:“我认为PaaS是不二的选择。企业不是颠覆别人,就是被别人颠覆。现在,每家企业都成了软件企业,这是唯一的生存之道,而PaaS正是高效竞争、确保你能够支持业务需求的出路。”