资讯专栏INFORMATION COLUMN

IBM Bluemix开启云开发时代

cocopeak / 858人阅读

摘要:运行时环境,又叫构建包上提供的一系列运行时环境包括图中显示的七种命名构建包,外加已批准用于的其他任何构建包。开发运营服务上的八种开发运营服务包括来自的五种服务和来自第三方的三种服务。

去年夏天我测评了Cloud Foundry PaaS(平台即服务),当时着眼于Pivotal和ActiveState这两种解决开源方案。这回测试时,我将关注IBM Bluemix,这是在SoftLayer上托管运行的多租户PaaS,它结合了Cloud Foundry和经过改进的在线用户界面以及来自IBM和第三方的服务。

Bluemix上最具特色的那些服务基于Watson,这个认知系统提供了自然语言处理、假设生成及评估以及动态学习等功能。Bluemix中的另外几种服务和整合填补了开源版Cloud Foundry的缺口,比如自动扩展、移动、大数据和企业整合服务。

请注意:不用分叉Cloud Foundry代码,缺口也已经填补。实际上,Bluemix首席技术官Bala Rajaraman很坦率地告诉我:“我们不会分叉代码。”我当初为开源Cloud Foundry和Pivotal CF安装的cf应用配置命令行程序与Bluemix的配置命令行程序一样。我为开源Cloud Foundry安装的bosh PaaS配置命令行程序与Bluemix工程师内部使用的一样,但是Bluemix的用户们根本不需要学用bosh,因为IBM在Bluemix方面的打算是,让用户无需操心PaaS管理,专注于服务,好让用户只要一心构建应用程序。

我赞同这种做法。身为开发人员,我发觉bosh学用起来有点费劲;我认为,配置PaaS方面的繁重任务应该交给操作团队完成。对我来说,PaaS和开发运营(devops)有望让基础设施的“低摩擦”配置和管理有助于构建和部署软件。让开发人员把相当多一部分时间用于建立PaaS所需的繁琐操作事务,这违背了使用PaaS的根本目的。与此同时,我喜欢能够在笔记本电脑上多带带运行单个虚拟机的“微云”PaaS,用于试验,这就是为什么我还认识到ActiveState Stackato和可下载的PaaS虚拟机映像具有的价值。

由于Bluemix建立在未经改动的Cloud Foundry上,它同样有着Cloud Foundry架构的一切:Droplet、DEA(Droplet执行代理)和构建包等等,在虚拟机里面运行。下面架构图左下方的淡蓝色虚拟机方框中显示的就是Cloud Foundry部分。

图1:Bluemix架构图。

请注意:Bluemix基本上一个预装的Cloud Foundry虚拟机,外加经过改进的用户界面和额外服务。

Bluemix同样使用Cloud Foundry架构:它同样有其他Cloud Foundry解决方案上可用的Cloud Foundry构建包和服务,又添加了自己的一些东西。我们会将这一切细分为样板(boilerplate),其他地方又叫快速启动包或应用程序商店;运行时环境,其他地方又叫构建包;以及服务。Bluemix包括众多服务,面向Watson、移动、开发运营、Web及应用程序、整合、数据管理、大数据、安全、业务分析和物联网。我在下面会介绍所有这些服务。

IBM、社区或第三方公司,各方都能支持Bluemix服务。试验服务是免费的,不太稳定,很容易出现变化,可能会导致无法向后兼容。因而,不建议它们用于生产环境。测试版服务是免费的,但还没有在实际环境中得到广泛测试。所有Watson服务目前都被归为测试版。

Bluemix样板

正如你能从图2中看到的那样,Bluemix目前提供13种不同的“样板”或快速启动包。虽然其中大多数都有IBM版本,但这未必是件坏事。

提供的一些样板可能需要一番解释。比如说,Internet of Things Foundation Starter样板提供了Cloudant(与CouchDB兼容)NoSQL JSON数据层,以及在面向Node.js运行时环境的软件开发工具包(SDK)上托管运行的Node-RED应用程序。Node-RED这个工具可用来把硬件设备、API和在线服务连接起来。Node-RED Starter样板很相似,不过得到社区的支持。

Java Cache Web Starter样板结合了Liberty for Java(一种轻型WebSphere配置文件)、DataCache服务和Monitoring and Analytics服务。就免费版而言,DataCache只有50MB大小,Monitoring and Analytics服务缺少更深入的性能监控和诊断功能。

Mobile Cloud样板结合了Node.js、Mobile Application Security、IBM Push消息和Mobile Data(带多租户Cloudant后端)。它包括面向安卓、iOS和JavaScript的SDK。就免费版而言,它仅限于2GB存储空间、每月100万则推送通知和每月375GB-小时。MobileFirst Services Starter样板很相似,但含有推送通知和专门针对iOS 8采取的安全。

三种User Modeling Web starters样板将Watson User Modeling服务与运行时环境和一些示例代码结合起来。Watson User Modeling利用语言分析技术,从个人的交流方式提取一系列个性和社会特征,旨在实现个性化交流。

Vaadin是一种开源Web应用框架,面向丰富的互联网应用程序。Vaadin starter样板在Liberty for Java中运行框架,使用DB2数据库。

图2:现有的一系列Bluemix样板,其他地方又叫快速启动包或应用程序商店。

Bluemix运行时环境,又叫构建包

Bluemix上提供的一系列运行时环境包括图3中显示的七种命名构建包,外加已批准用于Cloud Foundry的其他任何构建包。图中所示的六种运行时环境对你来说应该很熟悉;第七种Sinatra是一种DSL(特定领域语言),它用于快速、轻松地用Ruby来构建Web应用程序。

PHP构建包支持PHP 5.4/5.5/5.6、Nginx 1.5/1.6/1.7以及Apache HTTPD 2.4。PHP构建包中支持的Python版本是2.6.6,目前它不是版。另一方面,Python构建包支持Pypy的十几种版本,另外还支持Python 2和Python 3各自的几十种版本。

Cloud Foundry的社区构建包包括Clojure、Haskell、Mono和Erlang运行时环境。实际上,我发现Perl是在Cloud Foundry上不支持的很流行的与Linux兼容的应用服务器语言。

图3:Bluemix上提供的一系列运行时环境包括上述七种命名构建包,外加已批准用于Cloud Foundry的其他任何构建包。图中所示的六种运行时环境对你来说应该很熟悉,七种Sinatra是一种DSL(特定领域语言,它用于轻松地用Ruby来构建Web应用程序。

Watson服务

Bluemix中目前提供的七种Watson服务(图4)是Concept Expansion、Language Identification、Machine Translation、Message Resonance、Question and Answer、Relationship Extraction以及User Modeling。它们都仍在测试阶段。我前面描述了User Modeling,这里介绍另外六种服务。

Concept Expansion服务分析文本,并根据在其他类似上下文中的使用来解读其含意。比如说,它可能把“大苹果”解读为“纽约市”这层含意。它可以用来编撰相关单词和概念组成的字典,那样就能更清楚地理解和分析委婉语、俗语及原本含糊不清的短语。这种免费的Bluemix测试版服务有预定义的数据集和领域,所以对生产环境而言它毫无用处。

Language Identification服务可检测文本是用哪种语言所写的。这有助于为下一步提供信息依据,比如翻译、语音转换成文本或直接分析。该服务可以结合Machine Translation服务使用。如今,该服务可识别25种语言。

Machine Translation服务将使用一种语言输入的文本转换成用户所需的目标语言。可以在英语、巴西葡萄牙语、西班牙语、法语和阿拉伯语之间转换。

图4:Bluemix提供七种Watson服务和八种移动服务。许多Watson服务目前局限于一个领域。

Message Resonance服务分析草案内容,并评估被特定的目标受众接受的可能性有多大。这种分析基于目标受众本身撰写的内容,比如某些球队的粉丝或刚添宝宝的家长。虽然未来版本让用户可以提供自己的社区数据,如今只能针对积极使用云计算或参与云计算讨论的人进行分析;就云计算之外的领域而言,该测试版服务在生产环境下毫无用处。

Question and Answer服务直接根据之前被选择并被收集到数据资料库(corpus)中的主要数据源(册子、网页、说明手册和记录),解读和回答用户问题。该服务返回可能合适的答案,附有相关的置信水平和支持证据的链接。Bluemix上的现有数据侧重于旅游和医疗保健行业,因而对其他领域而言毫无用处。

Relationship Extraction服务将句子分成多个部分来加以分析,辨别诸部分之间的关系。它能借助上下文分析功能,处理之前从未分析过的新词语(比如新闻内容中的人名)。句子部分包括词性(名词、动词、形容词、副词及连词)和功能(主语、宾语及谓语)。该服务将各句子部分的关系对应起来,那样用户或分析引擎就更容易理解每个句子和文档的含意了。

该测试版服务针对采用英语或西班牙语的新闻文章或其他新闻相关文本进行了优化,通过多带带的API来优化。你无法把它用于随意性领域,指望获得正确的答案。正如你从图5看到的那样,即便针对新闻文章,它也并不总是返回正确的答案;一旦你能提供自己的训练集(training set,一组数据),应该能够根据自己感兴趣的领域来调优服务。

总的来说,Bluemix上的测试版Watson服务看起来引人入胜,但是它们还没有完全作好准备。

图5:我对随机挑选的一篇新闻文章测试了Relationship Extraction服务。正如你所见,并非所有提取的关系都是正确的。

移动和应用程序服务

我们前面已经讨论了Bluemix上可用的八种移动服务中的六种。另一种是Mobile Quality Assurance,该服务支持多种功能:移动应用程序测试、用户验证及借助情绪分析简化质量反馈;空中下载的版本分发;崩溃自动报告;应用程序内软件错误报告和用户反馈。另外就是Twilio,这是一种第三方语音、消息和VoIP服务。

Bluemix中有19种Web和应用服务。太多了,这里就不一一讨论了,不过有几种服务值得一提。RapidApps是一种功能有限的测试版服务,声称让你可以“使用可视化工具,迅速开发出以数据为中心的Web和移动应用程序,不需要编写代码。”RapidApps应该面向业务分析人员这个群体;现阶段,它似乎远未成熟,不过将来可能值得关注。

Business Rules服务拿来你用Rule Designer(规则设计器)创建的自然语言规则后,在被你的应用程序调用时,执行规则。该服务似乎同样针对业务分析人员,不过现阶段它比RapidApps来得成熟。

开发运营服务

BlueMix上的八种开发运营服务包括来自IBM的五种服务和来自第三方的三种服务。Track and Plan服务让你可以创建故事、任务和缺陷,以描述和跟踪项目工作,另外使用用于产品待办事项、版本发布和开发周期的敏捷规划工具。该服务实际上为你提供了面向Git或Jazz软件库的Rational Team Concert(团队协作工具)。

Delivery Pipeline服务让你可以实现构建和部署自动化、测试代码执行、配置构建脚本以及实现单元测试的执行自动化。我喜欢这两种服务将Jazz界面与Bluemix整合起来的方式。

我们已探讨了Java Cache Web starter下的Monitoring and Analytics服务。Auto-Scaling for Bluemix Add-on让你能够为自己的应用程序自动增加或减少计算能力/容量。App User Registry让你可以保护你申请的资源,或者开发基于OAuth 2.0的客户应用程序。三种第三方开发运营服务是BlazeMeter、Load Impact和New Relic。

其他服务

Bluemix中只有两种整合服务,但它们都值得关注。Cloud Integration服务让用户能够将云服务与企业记录系统整合起来;它将后端系统作为REST API来展现,供应用程序使用。试验阶段的Containers Service服务让你可以在Bluemix上运行Docker容器,这可能会让Bluemix向几乎一切敞开大门。

在Bluemix上的10种数据管理服务中,两种面向MySQL(一种开源,一种容错),两种面向Postgres(同上),三种面向NoSQL数据库,一种面向DB2。另外两种数据管理服务是Object Storage(测试版,基于OpenStack Swift)和DataWorks,后者包括可装入数据、清洁美国邮政地址以及分类数据的API。

正如你预料,五种Bluemix大数据服务中两种基于IBM Big Insights for Hadoop,一种是单节点方案,另一种是集群方案。另外三种是基于Informix而建的时间序列数据库、Geospatial Analytics,以及dashDB数据仓库和商业智能/分析解决方案。

Bluemix中的一种业分析服务是Embeddable Reporting,它让你可以在自己的Bluemix环境里面运行IBM Cognos商业智能报表。业务分析服务在得到支持的JDBC数据源连接上运行。

在安全时代,Bluemix提供了AppScan for Web、AppScan for Android和SSO(单次登录)。SSO服务结合了BYO社交ID、IBM ID和多因子验证。

供你差遣的Bluemix

Bluemix服务有好多。遗憾的是,正如我们所见,其中许多仍处于试验阶段和测试阶段,或者受到的限制让它们并不适合大多数生产环境的应用程序。Watson也许是Bluemix相比其他Cloud Foundry解决方案较大的差异化因素,但都处于测试版阶段,基于上局限于很有限的领域。

幸好,其余服务往往非常可靠。我会毫不犹豫地在Bluemix上构建一个Web或移动项目,无论是为初创企业开发一个全新的应用程序,还是为需要整合遗留服务器和记录系统的企业开发一款老式应用程序。

不过,我会认真考虑应用程序在安全和监管方面的要求。Bluemix能满足欧盟的地理数据要求,因为它在伦敦设有一个数据中心。它最终可能会申请相关认证,以便在数据中心层面符合《联邦信息处理标准》(FIPS)、《健康可携性及责任性法案》(HIPAA)和《支付卡行业数据安全标准》(PCI-DSS)等标准;眼下,它在这些方面还处于起步阶段。

我给Bluemix打的分高于Cloud Foundry,因为它填补了开源Cloud Foundry解决方案的缺口。管理、安装和设置都更胜一筹,因为Bluemix在内部处理所有的繁重任务。我在说明文档方面给这两款产品打的分一样高;Bluemix编制的说明文档要详细一点,但仅仅是略微做得更好一点。

我在价值方面给Bluemix和Cloud Foundry(强调Pivotal解决方案)打了9分,不过理由有点不一样。实际上,Bluemix的价值主张是,你可以免费上手,免费小范围运行,之后随着规模不断扩大,可以按需付费。在我看来,免费的Bluemix运行时环境配额很大方,足以让大多数人开始上手,没有太多的摩擦。等到你的应用程序超过了免费服务的限制范围,你大概已非常清楚应用程序的投资回报,你可以证明有必要投入成本,也可以及时叫停。

英文原文链接:http://www.networkworld.com/article/2873094/paas/review-ibm-bluemix-bulks-up-cloud-foundry.html

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/4147.html

相关文章

  • 解读一个新IBM的平台战略:、大数据分析与人工智能

    摘要:可以说,云大数据分析和人工智能正在成为的新灵魂。而在年创纪录产生的多项专利中,的专利是云大数据分析及认知计算相关。 IBM董事长及CEO Ginni Rometty现在,一个新IBM正在浮出水面。在IBM的2015年财报上写道:今天的IBM已经不仅是一家‘硬件、软件与服务’公司,而转型成为一家认知解决方案与云平台公司。在公司100多年的历史上,IBM第一次称自己是一家平台公司。IBM首席财务...

    Clect 评论0 收藏0
  • 计算在企业级市场战役已经打响

    摘要:云计算在企业级市场的战役已经打响等新兴云服务提供商已经动了传统巨头在企业级市场的奶酪,传统巨头们也已开始奋力反击。新浪的版本发布是一个出现在图中的国内事件。改名成发布微软上台后即将改名为,这标志着云已经成为微软的优先战略方向。 云计算在企业级市场的战役已经打响:AWS等新兴云服务提供商已经动了传统IT巨头在企业级市场的奶酪,传统巨头们也已开始奋力反击。随着传统IT 巨头的加入,PaaS市场变...

    ermaoL 评论0 收藏0
  • 下一个互联网十年 计算或成制胜法宝

    摘要:在互联网的第三个时代,也就是下一个互联网十年里,云计算将成为这场大战的制胜关键所在。就在前不久,亚马逊旗下的云计算服务平台宣布正式在中国商用。的杀入对于中国的云计算市场也是一大不可忽视的力量。  互联网的第一个时代我们定义为PC互联网,互联网的第二个时代我们定义为移动互联网,而互联网的第三个时代我们则定义为万物联网。当前国内的互联网正处于第二个时代向第三个时代过渡期,而云计算则是支撑起万物联...

    Yujiaao 评论0 收藏0
  • Watson使用指南(六)在微信公众号中实现识图作诗功能

    摘要:详见注册微信公众号这个很简单,而且网上一搜很多,我在这里就不说了。关于服务的创建,具体参见使用指南五通过认证公众微信号在微信公众号页面打开开发者页面,进行服务器配置。 本文章主要是写一下这个项目开发的过程及之间遇到的问题,作为记录,也希望以此为契机认识志同道合的朋友,一起学习交流。 目录: 概述 环境准备及相关账号申请 部署Python Flask应用到Bluemix 通过Bluem...

    Pikachu 评论0 收藏0
  • 信息时代计算的五个变化

    摘要:云计算的出现是信息技术时代最重大的转变之一,特别是对于企业而言。首先,多样化合作伙伴关系是防止数据丢失或云计算故障时停机的一种方法。有效使用云计算需要制定多云计划,以获得最佳业务成果。对于当今云计算行业发生的重大变化,并没有一种通用的方法。云计算的出现是信息技术时代最重大的转变之一,特别是对于企业而言。但就像天空上变幻不定的云朵一样,云计算技术也在不断变化。企业CEO都应做好充分准备,以最大...

    arashicage 评论0 收藏0

发表评论

0条评论

cocopeak

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<