首页 > 娱乐前沿 > 产经
AWS Lambda大跃进的真义
米阳 2017-03-12 10:38:33

Lambda与AWS服务整合,可以开发出大型系统。电商平台开发商Shopify新推出的MoonMail电子邮件行销服务,后端系统全部採用Serverless架构开发,整合了超过70个AWS的云端服务。 OjX我酷网

图片来源:

Serverless.comOjX我酷网

云端运算这个概念刚问世时,大家对于云端运算的理解是运算资源将如水电瓦斯一般,只要把电器的插头接上墙上的插座,任何电器就能开始运作,而且使用者无须理会电力是怎幺提供,当然个人或企业也不必为了用电而要盖电厂。然而在过去十年,运算资源如水电般便利的愿景,迟迟没有实现。OjX我酷网

其实,综观近20年IT运算架构演变至云端的历程,从虚拟化、云端运算到软体容器(Container),可说是一个不折不扣的「去伺服器」革命。这场革命现在更进一步往前推进到无伺服器(Serverless)运算架构,让我们距离运算资源如水电的愿景更近了。OjX我酷网

一场20年的去伺服器革命OjX我酷网

这场去伺服器的革命滥觞于2001年伺服器虚拟化,在VMware的虚拟化技术问世之后,帮助企业整併了许多x86伺服器,于是资料中心的软体伺服器──虚拟机器,开始大幅增多,而实体伺服器则逐渐减少。OjX我酷网

虚拟化兴起的5年后,开始吹起云端运算的风潮。全球最大的电商Amazon成立云端服务公司AWS(Amazon Web Services),开始提供IaaS(Infrastructure as a Service)公众云端运算服务,从卖书进一步卖运算,让企业可以在云端运行虚拟机器。于是企业开始尝试把虚拟机器搬上云端,而且有些企业甚至再也不想为实体伺服器花费任何心思,如Dropbox这样的网路储存服务公司,在草创期就打着没有任何一台硬体伺服器的口号,其IT架构完全藉助AWS的云端服务。OjX我酷网

接着Docker容器(Container)技术于2013年诞生,由于容器技术是作业系统层级的虚拟化技术,每个容器不须附带作业系统,因此比虚拟机器来得精简,容器的启动速度也由虚拟机器的分钟等级一下子提升至秒级,立刻获得许多人的青睐。OjX我酷网

在容器技术问世后,公众云服务厂商也立刻跟进推出容器云端服务(Container as a Service)。然而不论是虚拟机器或是容器的云端服务,对使用者而言只是去除了实体伺服器的包袱,事实上还存在着软体伺服器的部署与维运,使用者仍然必须管理虚拟机器或容器的部署、调度、管理与资安。OjX我酷网

对开发者而言,能够完全不必理会任何伺服器绝对是最完美的。然而,有可能完全不必部署伺服器、不必管理系统、不必在意作业系统版本,甚至不须处理作业系统的更新等资安问题吗?一个直接称为无伺服器(Serverless)的运算架构,正在掀起一场新革命。OjX我酷网

Serverless新革命OjX我酷网

AWS在2014年推出的Lambda无伺服器运算服务,率先吹响无伺服运算革命的号角。这个新型态云端运算服务诉求使用者不须部署与管理伺服器,只要将程式码上传至AWS Lambda服务即可,AWS会马上调派AWS EC2运算服务,建立Lambda程式的执行环境,程式码立即可以运作。OjX我酷网

AWS Lambda的执行程式称为Lambda Function(Lambda函数),开发者可以使用Java、Node.JS、Python等程式语言撰写各种功能的Lambda函数,只是因为AWS Lambda的背后其实是一个微服务(Microservices)架构的运算环境,Lambda执行程式必须是无组态(Stateless)的事件驱动型程式。OjX我酷网

当开发者将Lambda函数上传后,AWS会自动建立执行环境,并负责所有系统维运工作,例如负载平衡、系统备援及高可用性等等,包括在负载量变大时自动扩张系统,负载量减少时缩小系统规模。因此,无伺服器运算架构最大的好处之一,就是开发者可以完全不管系统维运,只要将全部的心力放在撰写业务逻辑的程式码。OjX我酷网

可口可乐北美集团科技策略总监Michael Connor就曾指出,在传统的开发模式下,开发团队真正花在为业务专案写程式码的时间只占39%,连5成都不到,其他时间都被突发事件或作业变更等占用了。然而改採用Serverless无伺服器运算服务后,维运工作大幅减少,可用来撰写程式码的时间大幅提升为68%。OjX我酷网

OjX我酷网

可口可乐北美集团在开发自动贩卖机的行动支付交易时,由EC2架构改为Serverless,对开发团队的工作重心与总体成本有很大的改变。(图片来源/Coca Cola North America)OjX我酷网

AWS Lambda的另一个好处在于提供事件驱动型服务架构。Lambda函数是基于事件触发条件而启动,可由HTTP、API呼叫、AWS或第三方服务来启动。开发者只要在Lambda函数设定好事件驱动条件、程式执行政策,就能整合串接多种微服务,快速打造一套应用程式。OjX我酷网

以现在网站常见的多种图片尺寸转档需求为例,如果网站的图片档案已经存放在Amazon S3云端物件储存服务,那幺不到一小时就可以开发出来。首先你必须要有转档程式,开发者可以直接下载AWS开源的图片转档程式,做为图片转档的Lambda函数,或使用如ImageMagic等开源程式。接着再撰写程式逻辑的Lambda函数,设定当S3储存空间有新增的图片时,即启动图片转档,完成后再将图档回存至S3。把上述这些Lambda函数传至Lambda之后,图片转档服务就可以开始运作了。OjX我酷网

目前AWS旗下的诸多服务皆支援Lambda,如资料储存服务S3、资料库服务DynamoDB、资料串流服务Kinesis、身分验证服务Cognito、电子邮件服务Amazon SES、推送通知服务Amazon SNS、API管理平台Amazon API Gateway、物联网平台AWS IoT、监控服务CloudWatch、日誌服务CloudTrail等等,这些服务皆可透过事件触发而串接起来。若无现成的服务可用,开发者亦可自己撰写Lambda函数,与其他微服务整合起来。OjX我酷网

由Lambda程式架构可知,无伺服器运算架构适合执行事件驱动型应用,而其微服务架构亦有助于系统弹性扩充。同时,无伺服器并非不需要伺服器,而是从使用者的观点来看,开发者只要撰写程式码即可,无需理会伺服器的部署与维运,可以完全感觉不到伺服器的存在。云端运算架构发展至此,可说是距离运算资源如水电的愿景非常近了。OjX我酷网

无伺服器运算服务亦称为Function as a Service,其架构的特性也带来全新的计价方式,不论是计价的时间,或是价格的算法,都与一般云端虚拟机器运算服务的计费截然不同。OjX我酷网

无伺服器运算服务的计价方式比起其他任何云端服务更为精準,其价格是依照程式实际执行的时间来计算,一旦程式启动就开始计价,程式停止运作则不计价。例如上述的图片转档需求,使用无伺服器运算服务的费用,就依照Lambda函数的运算时间与被请求的次数来计价。当网站的使用者上传了图片,S3发现档案新增事件,则会启动图片转档函数,也就开始计费,待转档完成又停止计价。所以,使用者上传图片数量多,就要付出较高的价格,一旦使用量减少,费用也相对降低。相较于一般採用云端虚拟机器的情况,你必须租用一台EC2主机,才能执行图片转档程式,而且即使图片转档需求量很低,仍然得支付一台虚拟机器的租用费。OjX我酷网

因为架构上的不同,Lambda服务的产品方案与EC2有很大的差异。EC2虚拟机器的产品方案是依照处理器、记忆体的规格画分不同等级服务,Lambda则是依照分配给函数的记忆体容量大小来画分服务等级,从最小的128MB至最大1536MB,记忆体容量大小会决定Lambda函数执行的速度,以及执行完成所需要的时间。OjX我酷网

Lambda的价格是以每100毫秒为单位计算,例如128MB等级的定价是每100毫秒收费0.000000208美元,而整体费用则包含每月的总运算量(运算次数乘上执行时间)与请求量(运算次数乘上0.2美元)来计算。若Lambda函数有整合AWS其他服务,其使用量依照该服务的标準计价。OjX我酷网

由于Lambda的计费模式是呈指数型,价格非常容易预测。当程式使用量很低的时候,价格相对低廉。然而採用EC2,则有运算量闲置浪费的问题,即便程式使用量很低,仍要支付最低等级服务的费用,相较起来就贵了不少。OjX我酷网

以可口可乐北美集团的经验来看,他们使用6台EC2 T2.M等级的虚拟机器,一年的总体成本是12,864美元(含作业系统、管理与资安等支出),而同样的应用服务改用AWS Lambda,在每月3千万次使用量的情况下,一年成本是4,490美元,足足省了65%。他们预估,直到每个月的使用量达到8千万次,Lambda方案的价格才会跟EC2一样。OjX我酷网

此外,AWS还提供Lambda免费方案,每个月有1百万个请求及每月400,000 GB-秒的免费运算时间,再加上无须维运管理、高度弹性与快速部署上线的特色,对开发人员充满吸引力。OjX我酷网

以Serverless开发企业应用OjX我酷网

最近一年,开始有些网路公司直接在Lambda环境开发整套应用程式,像是开发电商平台的Shopify公司,基于自身使用电子邮件行销的需求大增,想要自行开发邮件行销服务,最后选择採用无伺服器运算架构,在Lambda上开发整个后端系统,以超过70个Lambda函数打造出MoonMail电子邮件行销服务。OjX我酷网

有些企业则开始局部尝试无伺服器运算架构。可口可乐北美集团利用开发饮料自动贩卖机的会员忠诚行销计画的机会,导入无伺服器运算架构。他们的目标是提供消费者在自动贩卖机使用会员卡、信用卡或行动支付购买饮料,并且结合会员活动以促进销售,在消费者购买后,将消费资讯、会员卡余额等资讯传送给消费者。OjX我酷网

其应用流程是消费者以会员卡或信用卡购买饮料后,交易资料会从自动贩卖机传到支付闸道,支付闸道接着透过REST API呼叫Amazon API闸道,API闸道接着将讯息传送到AWS Lambda去执行,处理所有的交易业务逻辑,接着再将消费资讯更新到Apple Pay或是Android Pay,消费者就能获得购物资讯。整个流程所需要的时间不到1秒钟,而AWS目前的收费只要千分之一美分,单就一次交易而言非常便宜。OjX我酷网

其他如金融业的Capital One公司,以无伺服器架构开发AWS云端服务使用管理平台,并且将程式码开源;而美国百货公司Nordstrom,则将网路商店的搜寻功能全部以无伺服器运算架构开发。OjX我酷网

然而,无伺服器运算架构并非万能,如前所述,此一运算架构属于微服务架构的类型,因此应用程式必须符合微服务架构,也就是无组态,才能快速扩张。不过,即便目前仍有这个限制,无伺服器运算架构仍然适合许多类型的应用程式,例如网站、行动App、Chatbot、ETL、资讯处理、基础架构管理、IT自动化维运等等应用。而关于无组态的限制,亦是目前许多研发人员正在克服的问题。OjX我酷网

?OjX我酷网

?相关报导 「Amazon Internet OS:藏在AWS Lambda背后的大企图」OjX我酷网

上一篇  下一篇

I 相关 / Other

【NEXT直击】锁定虚拟企业需求,不只Google Cloud升级,连G Suit协作平台也大跃进,更推数位白板抢攻企业会议室

【旧金山直击NEXT 2017】相较于NEXT大会第一天以策略新布局、导入企业经验为主,第二天就完全是产品更新日,Google一口气揭露了十多项Google Cloud的新服务或新功能,涵盖了基础架构的扩张布局、多层次资讯安全架构再

台泥国际去年亏转盈 获利大跃进

台泥公司在大陆主要生产销售的子公司台泥国际集团,今天依香港联合交易所等相关规定,公告去年全年业绩比2015年的亏损大幅改善转盈,获利大跃进。台泥公司表示,在香港上市的台泥国际集团有限公司依据香港法例证券和

【2017关键趋势:IoT】传输技术大跃进,物联网市场今年挑战破兆

根据市调机构IDC预测,接下来3年,全球IoT市场将进入成长爆发期达到1.46兆美元的规模。全球IoT装置也将爆增,5年内将从121亿增加至300亿个IoT装置。从思科全球云端指标报告也显示,全球各地云端资料中心每年需处理从

摆脱操劳苦命脸 丰额+丰唇让你人气大跃进

(健康医疗网/记者林怡亭报道)随着年龄增长,脸上的脂肪会逐渐流失,除了会出现法令纹与木偶纹之外,额头与嘴唇也会出现皱纹,尤其是额头两旁的夫妻宫凹陷,更是会使得眉毛下垂、眼尾下垂,让人显得一脸苦命相。拜美

当妈手艺大跃进 蓝又时偷瘦痒肥老公

▲蓝又时化身健康小厨娘,自夸手艺好,老公肥不少。刚推出第3张创作专辑,蓝又时趁着岁末担任红心字会公益大使,协助弱势家庭挺难关,好过年。今蓝又时化身健康小厨娘,下厨料理爱心便当,架式十足,笑说:“当妈妈后

I 热点 / Hot