善其事 择其云 ——开发云五问

  • 来源:CSDN
  •  2015-11-26
  •   浏览 589 次

在古代,人们总爱把常人难以企及的圈子叫做江湖。大家熟知的是武林这个大江湖,今年的热播剧《花千骨》和《琅玡榜》都是依托这样的环境来描述人物的命运。其实,今天的IT世界,对于世间的常人来说也是一个江湖,这里也有纵横驰骋,也有金戈铁马,也有小人物觅得秘籍而扬名立万。今天的IT江湖已经发展到云计算时代,开发者真的可以像少林小僧虚竹一样,通过一番奇遇,成就自己的江湖地位。今天,这个机会就在你面前,作为一个开发者,你心动不。

上篇讲到IBM谋定而后动,在中国推出了新的云平台产品Bluemix,并简单介绍了它的最新变化。但是对于开发者来说,中国云市场的情况大家都非常了解,对于IBM这注定是一场艰难的突围战,危机四伏且需步步为营。无论这场仗怎么打,说到本质产品才是硬实力,一切包装皆是铅华,尽需洗尽。回归本真的产品,实实在在地为开发者服务才是撬动市场的支点。所以今天我们来聊聊对于一个开发者和企业IT技术人员,Bluemix这些变化意味着什么,以及大家该如何选择云平台。只有解答了开发者脑中对云的疑问,才能让他们真正了解自己需要什么样的云。那么我们就来看看他们有哪些疑问!

  一问:什么云是面向开发者的云?

目前,国内市场的一些云已经拥有很多拥趸,依托在IaaS上增加面向开发者的功能来提供PaaS能力,它们大多为零售和移动社交服务,也有很多是提供针对特定行业的云解决方案模版。但是这些对于开发者来讲,仍旧不够,面向开发者的云,必须是一个闭环的、真正意义上聚焦于应用开发和业务创新的云,要在整个开发周期上提供服务。

开发者的使命是将云技术变为实用的功能,服务普通大众。但目前市场上的云却没有哪个是面向开发者的,直到Bluemix的出现。Bluemix追求的是DevOps体验,强调让开发者从项目管理、 开发测试、部署运维等环节中解脱出来,集中真正力量在应用开发和应用创新上,Bluemix的DevOps工具在整个开发周期上提供服务,将应用的设计、 开发、构建、集成、测试、部署、监控、分析组成一个闭环的周期,整个应用开发可以最快速度做出最小规模产品,并能够进行快速迭代,大大降低了开发者的门槛,从而达到快速开发,快速部署和运维自动化。依笔者看,没有哪个产品能像Bluemix 一样,如此贴切地支持开发者去满足创业圣经《精益创业》所提倡的创新管理原则。

一名话:Bluemix就是面向开发者的云。

值得一提的是,面对不同类型开发者,IBM都有相应底层的开发技术支持。 2013年年初,IBM就拥抱CloudFoundry,使得整个开源社区得到蓬勃发展。除了关注个人开发者和创业者,IBM也致力于企业用户,增加了对Docker以及虚拟机的支持。 Docker有很好的可移植性、很好的DevOps体验,用Docker快速打包用户原有的应用及时部署到云端。而对操作系统有特殊要求的用户,以及比较厚重的传统应用,则可以采用虚拟机的方式。通过整合开源技术,Bluemix根据用户实际需求,提供了更多的计算环境选择。

二问:云的多部署方式追求什么样的目标?

说到云的部署模式,新型创业公司能够直接把自身应用放到公有云之上,它们基本上已经开始了云实践。另一类用户,尤其是企业用户,对安全性、资源独占性、合规性有很高的要求,同时又希望获得云的弹性和快速部署能力,因此,除了Bluemix公有云外,还有专有云(Bluemix Dedicated)和私有云(Bluemix Local)。

Bluemix专有云部署在IBM的数据中心,但资源是用户独享的。这种方案可以有效结合公有云的经济性和私有云的安全性以及独占资源优势。另外一种是部署在企业内部的私有云,也就是前面说的Bluemix Local, 完全部署在企业的数据中心。

当然,很多企业还会采用混合云的方式,IBM的Bluemix不仅提供三种部署方式来实现混合云,更致力于提供统一的体验,提供了一系列的服务来实现跨公有云、专有云和私有云的集成服务,以及数据迁移,保证无缝的混合云体验。Bluemix提供了服务整合(Service Syndication), 也使得用户在专有云和私有云中,也可以享有公有云的各种服务。

也就是说,Bluemix有三种物理形态的云部署,但却是统一了的用户体验,这对用户来说是一次质的飞越.

笔者了解到,从产品真正落地程度来看,目前Bluemix 公有云在全球已经有三个地域的部署,包括美国南部、欧洲的伦敦、以及澳大利亚的悉尼。十月,IBM和世纪互联正式签署了协议将Bluemix落地到中国。IBM将提供Bluemix相关技术, 世纪互联提供Bluemix 运行的基础架构和端到端的运营服务。中国的Bluemix公有云服务计划在明年正式推出。届时中国的用户将会享受到快速丰富以及有中国特色的Bluemix云服务,从而解决速度慢以及一些合规性问题。

三问:一款优秀的开发云平台要具备哪些基本要素?

什么才是一个好的云平台,它的主要元素有哪些?

首先,对于开发者来说,要有好的Devops体验。因为云平台本身就是给开发者来用的,是为了他们能够更加快速地开发和部署。如果他们的体验不好,那么开发者就不会喜欢。

其次,平台要提供丰富的服务和API。对于开发者来说,这些服务和API使得应用的开发变得更加容易,开发者可以根据需要来组合这些服务从而进行快速创新。

还有就是对多语言,开源工具以及第三方服务的支持,充分照顾开发者原先的开发习惯,以及常用的工具和服务。 如果平台支持的开发语言很少、 工具很少,或者都是私有的服务, 那么也不会吸引更多的开发者过来。

另外是云平台要能够平滑迁移。因为谁也不希望被一家云服务商锁死,否则,下次迁移,很多工作还要从头来做。

总之,一个好的云平台只有越来越关注开发者的体验,才能真正让用户达到创新的目的,从而被更多用户接受。

四问:如何为云迁移做好准备?

对于用户来说,把运行多年的IT业务迁移到云上并不是说说那么简单,也不像搬家那么容易。现有用户不会轻易迁移自己的应用,因为迁移意味着成本、意味着用户体验的改变。他们更加关注部署好的云平台是否能经受住性能、安全性的挑战,这些都是云服务提供商需要去说服用户、让用户信赖这个平台的必要工作。

针对这种情况, Bluemix也考虑到原来IBM原有产品如何迁移到云的问题,通过提供云端的中间件服务, 从而实现平滑迁移。这其中包括DB2数据库, WebSphere 等中间件产品。针对那些以前用开源产品的用户,Bluemix同样也有广泛的支持 ,不需要他们去改写自己的应用,便可以顺利的迁移到云上。

对于已有的应用可以利用Docker技术,将它们打包成Docker镜像,实现快速移植。当然,在云迁移方面,IBM毕竟已经有很多客户的成功案例,所以,当用户面对自己的业务束手无策的时候,可以先问问专家。IBM可以提供专家咨询和顾问服务,他们会从用户的实际环境和应用需求出发,做好项目计划、模块分析、系统实施,然后一步步实现代码,以及最后的云部署完成上线。

如果说用户还有云迁移的疑惑和担心。那么那些已经率先走上云端的用户是大家的榜样。以我们熟悉的铁路售票系统为例,过去是售票业务人员才有数据库查询的权限,而在12306出现后,我们一般消费者已经可以看到整个数据库的当前情况。没有云,用户的这些需求很难实现。另外一些用户更加关注如何更好地利用自己的核心应用能力,并将其构建成API贡献出来供其他合作伙伴或者开发者使用。还有一些用户利用云来做大数据分析和物联网应用。当然,云平台对于那些快速创新的企业来说,实现了产品的快速部署和迭代,因此变成了数字化创新平台,从而提升了自己的核心竞争力,这也是国内很多大企业也开始走向云变革的重要因素。

对于Bluemix来说,在国外,有很多用户接受了专有云这种方式,而国内用户则可能更加倾向于本地私有云模式,这源于国内用户更多得从安全,合规性以及控制力角度来考虑。

五问:最牛的开发者是什么都懂吗?

过去的开发者喜欢什么都自己动手写代码,但是在这个海量应用的时代,这种想法很难实现。开发者走向云平台是希望云有异常强大的开放兼容能力。所以开发者不用什么都懂,因为云平台是一个集大成者。当然,若想平台集大成,就需要这个云平台的主人能够海纳百川,用开放的心态拥抱一切新技术。而IBM作为IT的王者,正好用自己的百年资源打造了这一超级云平台————Bluemix。从以下几个方面也可以看出,Bluemix兼容并蓄,勇于创新的精神,而这一切,为开发者带来了很多方便,让大家真正站在了巨人之上。

积极推进Spark

最近半年,Spark技术很热,它能很好的支持交互式、低延时的数据挖掘方面的应用,还可以为机器学习和认知计算提供技术支撑。IBM很早在Spark社区成立之前就开始研究分布式架构做基于内存的机器学习和数据挖掘的计算框架。今年6月16日,又宣布承诺大力推进Apache Spark项目,并称该项目是在以数据为主导的未来十年最为重要的新的开源项目。这一承诺的核心是将Spark嵌入IBM业内领先的分析和商务平台,并将Spark作为一项服务,在IBM Bluemix平台上提供给客户。IBM还将投入超过3500名研究和开发人员在全球十余个实验室开展与Spark相关的项目,并将为Spark开源生态系统无偿提供突破性的机器学习技术—IBM SystemML,同时,IBM还将培养超100万名Spark数据科学家和数据工程师。

支持物联网应用,为开发者提供更多功能

物联网应用包含三部分:数据采集、数据传输以及数据智能化处理。 Bluemix提供了一整套物联网解决方案, 可以非常快速方便地将数据从设备端传到云端并在云端进行处理。在传感器和网关设备上,有很多本地开发库,使得数据采集能力能够很轻松的集成到物联网设备中。这些采集到的数据可以通过轻量的MQTT协议远距离传送到云端。而在云端,它可以存储转换这些数据,也可以提供不同的方式来消费处理这些数据,或者包装成API被其他应用使用。

而在智能化处理这方面,通过Bluemix的大数据服务,可以对这些数据做离线或者实时的分析,并以多种方式呈现出来。可以说,从物联网数据的产生、传输、处理、呈现,再到最后的智能化分析,Bluemix都提供了相应的接口和标准的API,保证了开发者对物联网功能的需求。

满足移动应用开发者的不同需求

首先是在移动客户端,Bluemix提供一整套的开发工具来创建不同模式的移动应用,包括基于HTML5的移动应用, 混合移动应用和本地移动应用。另外, IBM还与苹果达成合作协议,对IOS 开发者提供了更好地支持。在云端,Bluemix也为开发者提供了很多移动后端服务, 比如消息推送服务, 移动安全服务,移动数据服务以及移动性能和使用分析服务。除此之外,Bluemix还提供了生命周期管理的工具和服务,从而帮助开发者快速发现问题,进行问题反馈,从而快速解决问题,优化用户体验 。

除了新型移动应用外,对于传统企业,有很多需求是在现有系统上增加移动前端的功能,这需要把移动功能与原有服务进行集成。 Bluemix会提供一些集成服务, 使得移动前端应用通过APII来访问传统后台的数据库或者服务,从而完成这种整合。

所以,在整个移动应用开发方面,Bluemix既提供给新的移动开发应用一系列的开发和运维工具,以及移动后端服务,从而方便开发者进行移动的开发,又为那些传统企业对移动新功能与老业务的集成提供了一系列服务和API,从而满足开发者的各种需求。

Watson平民化,把认知计算带给广大开发者。

Watson是IBM在认知计算领域很多年研究成果的结晶,在技术创新方面获得了很大的成功。而且也已经有了多年商用经验。Watson之前主要是用在行业解决方案中,如医疗行业。 IBM一直在思考,如何帮助开发者应用最新的认知计算技术,降低应用的开发门槛,从而将应用创新变得更加容易 。在Bluemix中,IBM将Watson的关键技术和功能模块化, 变成很多独立的服务,其中涵盖机器学习,模式识别,自然语言处理,推理,人工智能等认知计算的各个方面。Bluemix将这些服务和能力通过API和SDK的形式提供给给开发者,从而将高端技术带给大众应用开发人员。

当我们还在聊着云的时候,今天的IT其实已经慢慢走进了大数据和物联网时代。接下来,更多的数据会继续爆炸性的产生。人工智能、机器学习、万物互联将成为未来的大趋势。或许再过十年,我们所有的企业都已经在云上了,而那时我们讨论的可能是人工智能或者什么其他新技术的应用。

所以,技术与应用需求是两个轮子,应用需求不断更新,技术就永远不会停歇。笔者的问题又来了,那么开发者如何让每个技术可以兑付一个满意的商业前景呢?且听下回分解。

To Top