抽象在其整个历史中一直是信息技术的基础方面。从打孔卡和电子管到集成电路和 Java™ 代码的飞跃给人们带来了相应的生产力的极大提升,但从理论上,人们仍然可以,例如使用打孔卡,实现一个现代 RDBMS 功能,不过这样的实现肯定不会很实用。
随着现代云技术的引进,21 世纪的世界在向更高的抽象级别发展,人们对企业 IT 部门的期望也随之增加,这一视角提供了一个有趣的背景。
尽管在本文中我们不打算量化或比较不同的创新成果,但我们仍然提供了有关平台即服务 (PaaS) 这一云计算范畴的一些有用信息,还提供了这一技术通常带来的抽象的示例。
PaaS 本身是一个很宽泛的概念,其范围从基于云的 “传统代码” 运行时环境到新的 “点击式 (point-and-click)” 平台,该平台支持在无需编码的情况下直接从 Web 浏览器方便地进行应用程序开发、部署和执行。
从技术人员的角度来看,选择一个比传统更精简的方法有可能消除与配置基础架构和第三方软件相关的麻烦。此外,由于有效利用了现成的构建块,它可以完全减少实际开发时间,扩展潜在的应用程序开发人员,削减所需的测试量。对于业务利益干系人,实现高效解决方案的时间大幅缩短,且可以从典型的迭代开发工作的第一天开始实时观察和探索可交付成果。一旦某个应用程序已准备好投入生产,部署就仅仅是一个决策问题,而非一个耗时且易出错的操作。
图 1 概览了在向一个高效系统发展的过程中开发新应用程序的其他方法,以及底层技术提供的灵活性。当需求很紧迫时,以少量深度需求换取时间和成本显著降低的前景很引人瞩目,且不一定影响应用程序的基本业务情况。
图 1. 时间和灵活性作为开发生产就绪的应用程序的决定因素
在使用一个点击式 PaaS 时,开发人员唯一需要担心的事情是应用程序的逻辑和 GUI 的定义。换言之:没有服务器、没有防火墙、没有关系数据库系统 (RDBMS)、没有编程语言、没有源代码、没有第三方库、没有关键安全补丁、没有浏览器兼容性问题、没有停机时间,无需担心备份是否足够。与应用程序开发相关的一些技术决策和任务已经构建到了平台中,因此可任由开发人员在较高的抽象级别工作。
下面介绍通常如何在一个点击式 PaaS 上开发新应用程序。一切皆始于 Web 浏览器中的一个简单注册:在数分钟内,一个随时可用、包罗万象的 “应用程序空间” 就可供团队使用了。一旦登录进去,您会看到一个用于应用程序导航的标准可配置菜单,包括大量用于构建应用程序的条目。
第一步是探索数据模型设计器,在这里,可以通过提供表和字段的名称和基本参数,创建一个任意的关系数据模型。在第一次尝试时无需完善数据模型;可以在应用程序的整个生命周期对其进行扩展和修改,无需停机。
在接下来的几分钟,您可以使用一个表单生成器将表和字段拖放到一个表单画布上,生成第一批最终用户表单。一旦完成此工作,表单就自动出现在应用程序菜单中。
默认情况下,应用程序配置有访问数据模型和表单的基本访问权限。当然,也可以使用用户友好的界面按需对此加以更改。访问权限通常是可以控制的,可控制的内容包括每个角色的选择、更新、插入和删除操作,数据模型中的数据行和列,以及 GUI 中的表单。
除了这些基本内容之外,向导能够让一名开发人员(或者任何合理的电脑通用户)逐步配置报表、导入和业务逻辑。
比较和对比开发模型
| 传统开发 | 点击式 PaaS 配置 |
|---|---|
| 冗长的流程,通过多个利益干系人来验证、批准和资助项目 | 低成本和短时间表能够让部门更快制定决策 |
| 耗时的硬件配置和第三方软件部署 | 简单的用户注册和一个随时可用的应用程序空间 |
| 复杂的需求开发阶段通过多个利益干系人来缓和 | 简化的需求定义,因为平台允许对应用程序和基础数据模型做敏捷、重复的更改 |
| 大量数据模型重复和需求的凝固 | 一个 “试用-评估-修改” 方法,可动态更新数据模型 |
| 利益干系人仅在为期几个月的开发项目的最后几周时间才能看到可交付成果,通常仅在项目结束时才能识别出重要的新需求 | 利益干系人从第一天起就可以看到将来的结果,且在整个项目过程中促成需求列表的不断发展 |
| 生产开发需要数周时间 | 生产部署仅仅涉及到简单的鼠标点击 |
| 单独的服务器(或虚拟机),每个单独的应用程序都有必需的支持和维护团队 | 为能够在一台服务器上运行上百个应用程序的平台提供了支持和维护团队 |
图 2 展示了试用点击式模型可以在云中创建业务应用程序的速度。还展示了在不中断使用的情况下,轻松实现的迭代如何促成成功的应用程序开发项目。
图 2. 点击式开发速度可以很快
当然,并非所有应用程序都是以同等方式创建的。Gartner 分析师围绕为不同类型的应用程序使用不同的应用程序管理习惯这一概念提供了一些有趣的见解。根据架构师们提供的速度分层(pace layering) 概念(构建复合项目的不同环节会发生在不同的时间段上),他们识别出三种基本的应用程序类型:
- 记录系统(Systems of Record):保持企业运转的核心打包解决方案:ERP、供应链管理、CRM,等待。
- 分化系统(Systems of Differentiation):改进公司的独特流程并促使其具有自己的竞争优势的应用程序。
- 创新系统(Systems of Innovation):居领先优势的自定义应用程序,必须快速开发它们以响应不断变化的业务需求。
了解每种应用程序支持的基础业务流程的性质以及创建和更新它们的必备速度之后,IT 领导就能够在制定因每个应用程序的需求而异的灵活且恰当的管理战略方面达成一致。
对于点击式 PaaS 方法来说,改进成熟流程、法规要求或行业标准实践的大量企业应用程序远不如市场驱动的点解决方案 (point solution) 理想,后者需要快速实现和在部署后收放自如的灵活性。
在这个应用程序管理方法的上下文内,企业级点击式 PaaS 应用程序特别有趣。它们不仅能够提供快速尽早开发创新应用程序所需的灵活性,而且还为数据、安全性、备份、服务水平协议、配置管理和访问控制的企业级需求提供了开箱即用支持,这些是支持成熟应用程序从创新系统过渡到支持整个企业流程的分化系统所必需的。这是成功整合 “长尾 (long tail)” 创新与公司 DNA 的一个重要方面。
许多适合点击式 PaaS 的应用程序可以在企业应用程序的长尾找到,这些应用程序(或尚未为其创建应用程序的业务问题)是非标准的,具有较高的商业价值,且支持重要业务创新(参见图 3)
图 3. 长尾
可以设想一个典型的传统开发项目,或者涉及官僚主义和策略的微妙结合的应用操作,另一方面,可以看一下包含程序员和其他技术专家、分析师和业务利益关系人的精心组合、协调的团队。以下部分说明了点击式 PaaS 如何改变这一动态。
云技术大大改变了几乎所有应用程序开发项目的业务案例。对于不能证明成本和潜在竞争优势的合理性的应用程序,或在传统开发环境下无法降低开发风险的应用程序,都应予以重新评估。
使用点击式 PaaS 平台可以在一个多租户平台实例上整合上百应用程序,从而可以降低应用程序开发的成本、加快速度并减少风险,这不仅有助于开发人员和利益干系人获得更好的体验,而且极大地改变了基本的 “执行/不执行” 计算决策。
点击式 PaaS 平台允许将迭代开发带向另一个级别。利益干系人是自然会涉及到的,且可在几分钟内执行迭代。这不会消除建立需求的需要,但是鼓励试验和创新,同时降低风险。
点击式平台上的开发以业务逻辑和用户体验为中心。随时可用的标准而高度可配置的构建块用于 “组装” 应用程序。这极大地提高了开发特制的高质量应用程序的速度,且增加了可以有效观察或参与项目的利益干系人的数量。
开发和运行时环境的无缝集成意味着部署不存在于传统定义中;激活一个新应用程序或功能仅需要一个点击。当需要较少关注技术时,可以将更多的精力放在其他关键资产上,比如与用户沟通。
如前所述,一个点击式平台提供一个有效的整合工具。这对 IT 运营的各个方面具有正面效果:较少服务器、较少复杂性、较少用户学习阈值,最后但并非最不重要的是,可以为多租户平台(而非单独的应用程序)组织运营团队。
此外,需要注意的是,点击式 PaaS 不仅改变应用程序初始开发期间的规则,而且此后的修改同样简单便捷。由此产生的一个非常有趣的结果就是,实际上可以持续管理来自用户的改进建议,而不是局限于 6 个月的时间周期。
作为运行中的 IS Tools PaaS 引擎系统的一个真实示例,我们想提供对真实案例的一个概述,在这个示例中,将利用该系统来支持极速部署一个大型、复杂的电信网络。
该示例中的客户是一家财富 500 强全球提供商,提供电信设备、系统集成和相关的服务给移动和固定网络运营商。我们的场景公司是一家全球领先的端到端电信解决方案提供商,业务范围涵盖 140 个国家的 1000 多个网络。所有移动电话呼叫的 40% 是通过这家公司销售和支持的系统实现的。
该公司希望在 12 个月内推出一个全新的大型复杂网络,同时为南太平洋的一个主要移动电信运营商升级和整合旧有网络。
目标是部署 greenfield 并将它委托给 500 多个 3G 站点,以并行方式将 2000 个站点的现有 2G 网络升级到 3G,一切在 6 个月内即可完成。(根据电信术语,greenfield 指一个没有以前的网络所施加的限制的项目。)
为了按时达成这一目标,相当多的内部和外部分包商都参与了进来,并行执行大量工作活动。达成这一目标最为关键的一步是以最有效、高效的方式管理项目,不留任何出错的余地。
确认的任务关键型功能包括:
- 在任何时候都有完全的控制权。
- 严格遵守进度。
- 提供利益干系人的协调和合作。
- 准备推动和支持多元化和动态的项目。
- 提供完整、准确、及时的信息,不同的利益干系人拥有不同的访问级别。
为通过构建、启动和部署端到端信息系统来管理和推出项目的整个任务选择 IS Tools PaaS 平台。IS Tools AB 提供的专业服务有助于实现快速的应用程序配置和解决方案的部署。使用 IS Tools 平台从之前推出的项目中获得了最佳实践,这一基础提供了让项目启动和开展的模板。
IS Tools PaaS 解决方案的功能包括:
- 实时、透明地报告、跟踪和监控进度。
- 控制工作任务的快速构造、委派和分发。
- 共享准确、及时的信息的一个常见通信工具。
- 在线动态调整项目结构和流程逻辑以适应变更。
- 行之有效且经济高效的 IT 平台。
- 通过 Internet Web 浏览实现针对所有利益干系人的大型、可扩展的并发使用
获益包括:
- 通过提供流程和合作支持,从最终用户到分包商提升了项目速度且提高了价值链效率。
- 缩短了项目启动的准备时间。
- 能够通过前瞻性的项目管理和性能度量同时运行多个任务。
- 提供有针对性的项目质量和生产效率。
点击式 PaaS 平台以可靠方式提供开发尖端创新应用程序,并将它们转换为成熟应用程序(在市场中提供真正的竞争优势)所急需的灵活性。简单的界面不仅大幅削减开发成本、时间和风险,而且使应用程序开发大众化,并延伸了整个企业的长尾创新机会。
学习
-
IBM SmartCloud Enterprise 技巧:使用快速部署服务部署产品 向您展示如何快速将产品部署到 IBM Cloud 中,同时最大限度降低专家安装复杂产品的需求,减少安装过程中可能产生的人工错误的数量。
-
在 developerWorks 云开发人员资源 中,可以发现和共享应用程序和服务开发人员有关构建云部署项目的知识和经验。
-
了解如何 访问 IBM SmartCloud Enterprise。
- 加入云计算讨论组,了解和讨论云计算的最新技术、解决方案、趋势等内容。
获得产品和技术
-
查看在 IBM SmartCloud Enterprise 上可用的 产品镜像。
讨论
-
阅读 developerWorks 上所有精彩的云博客。
- 加入 developerWorks 中文社区。查看开发人员推动的博客、论坛、组和维基,并与其他 developerWorks 用户交流。