善用开发利器 开启云端应用的天际线
前言:
回顾2009年,「云端运算」犹如旱地拔葱,首度成为资通讯业界的头号热门名词,许多IT厂商竞相发展相关技术及应用服务,当时不少企业仍隔岸观火,继续缅怀传统On-Premise架构;时至今日,云端浪潮更加汹涌澎湃,应用案例快速增加,犹未跟进培养云端应用开发能力的企业,显然不宜再划地自限。
看遍了数十年信息技术演进的IT老手,信手拈来,多能轻易举出一堆「伪命题」,也就是原本轰轰烈烈,到头来却无疾而终、销声匿迹的例子,最让人印象深刻的,莫过于2000年前后曾风起云涌的.com热潮。
一朝被蛇咬,日后看到草绳,自然戒慎恐惧,不论外界谈得口沫横飞,一幅「此时不跟、更待何时」的态势,但仍抱持停看听的观望立场;面对引领市场风骚已逾3年的云端运算,亦复如此。后知后觉,未必全是坏事,但如果依然故我,硬是不「觉」,似乎就值得商榷。
尽管云端运算延烧多时,相关信息或素材满坑满谷,但不可讳言,现今仍有不少企业IT管理高层,仍视之为伪命题,始终原地踏步、不肯前进,所以此处仍需要重回初衷,再看看云端运算到底是什麽,以判断这些保守主义的信徒,是否真有道理。
第300期「政府机关信息通报」曾有这麽一段话,伴随网络普及,资源的共享趋势益发重要,且随应用系统渐趋分散,势将造成各机关(或企业)在软硬件投资的浪费,其中包含了高额的软件授权费用,或是硬件资源平均利用率偏低,再者如尖离峰作业量差距过大,以致资源调度困难,假使透过网络,即可解决各单位建置系统就必须采购硬件设备之困境,则云端运算应为当前最佳之解决方案。
以纽约时报为例,藉由扫瞄该报1851~1922年期间共计1,100万篇文章之方式,产生高达1.5TB数据,接着上传储存于Amazon云端平台,仅花费屈屈1,000美元,便充分表现出软硬件相关资源结合之效能;藉由此例,数据透网络得以开放、共享、加值应用,理应是云端运算最珍贵的核心精神。如果你所服务的机构,亦是如同纽约时报般,业已累积数十年、甚至上百年庞大数据者,但却坚持采用传统IT运作模式,意欲实现数据开放、共享、加值应用之目的,先撇开执行效率与难易度不谈,至少可以确定,绝无可能以1,000美元得偿所愿,因为这笔金额,恐怕连一台高效能服务器都买不起,更别提其他配备。
由此观之,凭藉云端运算,企业将能化不可能为可能,或者化难事为易事,如果善用这股力量,那麽就形同跃升至「可能」或「易事」这一边,倘若众家对手还未有此顿悟,一来一往之间,竞争差距就这麽底定了;时间是不等人的,因此「守旧者」不但应当打破成见,且应尽速建立云端应用的开发能量。
工具愈趋成熟 有助缩短学习曲线
可喜的是,决意拥抱云端的企业,已然明显增多。综观各个人力银行网站,具备「云端服务应用开发工程师」之例,可说屡见不鲜,因此具备云端服务系统设计能力,可开发以网络为基础的应用程序,且能执行分散式平台及云端运算系统研发的工程师,无疑是企业亟需建立的人才资源部位。
再将时间点拉回2~3年,时值云端初来乍到之际,当时人们看待云端应用开发一事,依然存在「不如想像中容易」的观感,当时大家的主要考量是,毕竟云端软件执行的架构,与传统的单机执行、Client/Server架构有所不同,同时也牵涉在大量经虚拟化的分散式运算架构上执行,以往一般传统的程序开发写作训练,尚未提供相关设计、开发、测试与验证等的训练,因此不乏进入门槛。
以微软为例,尽管当时已推出AppFabric等相关产品,希冀让传统.NET开发工程师,得以更易于将既有On-Premise程序,移植到云端平台上运行,确实有助于降低门槛,但对于从未接触云端概念的程序开发者而言,仍需一段学习与适应时间。
除了微软外,包括Amazon、Google或Salesforce.com等对于云端着力甚深的业者,也早已针对有意投入的开发者,推出特定的程序语言或数据库格式,但全都需要经过特殊学习,仍无法在一时半刻间立刻移植。
只不过,在时序推移下,随着上述大厂持续加码投入,使得相关的工具资源益发丰富成熟,譬如被微软喻为「神兵利器」的Visual Studio 2012,佐以程序开发人员不断吸收、咀嚼的学习历程,如今开发者大可仅需注于熟悉的程序语言及技术,不论是.NET、C++、ASP.NET、WCF或Visual Studio,皆能立刻进入云和端上的各种应用及App开发领域。对于有意挺进云端,但苦于不熟悉开发技巧、又担心需要为此大量投资的企业,确实是一大福音。
首先谈到Windows Azure,其提供BLOB、Queue及Table等三种基本数据储存服务,程序开发者可藉由HTTP通讯协定及REST API加以存取,另也提供.NET Client函式库予Silverlight开发人员所用,上述功能皆被集结于Windows Azure SDK与Visual Studio Tools for Windows Azure当中,俾使isual Studio使用者能轻易开发Windows Azure云端应用程序。另值得一提的,Windows Azure SDK亦提供Development Storage Services及Development Fabric等堪称实用的功能,好让开发者得于本机重现Windows Azure 服务平台,以利减轻发布与测试Azure 应用程序之负担。
此外,透过Spring Release功能推陈出新,现今可被允许执行Windows Azure应用程序的角色,已不限于过往的Web Role或Worker Role等两种类型,也就是说,对于一些仅具简易需求的使用者而言,只要善用Web Platform Installer里头的Web Application Gallery,便垂手可得现成套件,即使不谙Visual Studio与Windows Azure开发技巧,也能立即上手,进行云端程序开发。
配合新版Spring Release问世,能够支持Visual Studio 2012的首套Windows Azure SDK,已在2012年六月期间发布,亦可向下兼容于Visual Studio 2012 RC版本。
至于其他厂商部分,Salesforce.com所提供的Salesforce Platform,已发展成为含括Force.com、Heroku、Database.com、Site.com、Chatter及ISVforce的整合式环境,旨在协助企业建构或转型应用程序。
其中Force.com功能在于建置并部署员工应用程序,个中包含可用以快速建立应用程序的视觉化工具,同时提供开放性API以满足用户整合需求;Heroku则是一套类似Google App Engine的PaaS服务架构,对于财力有限的新创企业甚具吸引力,无需经过繁复的安装或设定历程,即可轻易执行Ruby on Rails或Sinatra等任何Rack程序,称得上是Ruby程序语言的最佳云端环境。
至于其他部分,Database.com乃是其余各项产品背后的核心数据库技术,所独立而成的,其专为移动或社交应用程序所设计,可支持Java、.NET或Amazon网络服务等不同界面;Chatter旨在帮助企业建立免费的私人社交网络,触动协同合作能量;ISVforce被定位在散布应用程序及拓展云端业务的辅助工具,举凡从试用到部署的客户生命周期管理,乃至于颇具弹性的封装及散布选项,皆被涵盖其中。
而在虚拟化及云端领域颇负盛名的VMware,也提供开放式的PaaS平台-Cloud Foundry,旨在协助开发者加速云端上应用系统的部署与应用、提供开发框架(Framework)暨相关服务,且有助于大幅简化部署与功能拓展之时程;其最令人津津乐道之处,即在于饶富弹性,可在单一虚拟机器内执行,亦可变换跑道至公有云、或私有云环境执行。