云端无处事器架构:亚马逊收集处事(AWS)、谷歌云和微软云
从2008年的Google App Engine平台开始,谷歌一向在逐步地添加差异的“无处事器”选项,并将各类动静发送和数据透明度团结在一路。一个名为Google Cloud Pub / Sub的器材可对用户潜匿动静行列,因此你只需为数据出产者和斲丧者编写代码即可。谷歌云函数为很多首要产物(包罗某些选取框器材和API)提供变乱驱动的计较。然后是谷歌Firebase平台,这是一个很强盛的数据库,可让你将JavaScript代码殽杂到数据存储层,该数据存储层将数据传送到客户端。 个中,Firebase平台是我最感乐趣的。一些人以为数据库是原始的无处事器应用措施,它将数据布局和磁盘存储事变抽象出来,通过TCP/IP端口转达全部信息。Firebase平台通过添加JavaScript代码和动静发送成果来完成你想在处事器端基本架构执行的险些全部事变(包罗身份验证),使这种抽象性事变做到极致。从技能上讲,它只是一个数据库,但它可以处理赏罚仓库的大部门营业逻辑和动静转达。你真的可以挣脱一些客户端的HTML、CSS、JavaScript和Firebase平台。 你也许会像看待Oracle一样,试图将Firebase平台的JavaScript层称为“存储进程”,但这样做会忽略更多内容。Firebase代码是用JavaScript编写的,因此它将以当地版本的Node.js运行。你可以在该层中嵌入大部门营业逻辑,由于节点情形中已经布满了处理赏罚此事变流的库。其它,你还会享受在客户端、处事器上运行的同构代码的爱好,此刻可以运行在数据库中。 引起我留意的部门是Firebase中内置的同步层。它可将整个收集中来自数据库的工具副本举办同步。其诀窍是,你可将你的客户端应用措施配置为另一个数据库节点,该节点可订阅全部相干数据(仅包括相干数据)的变动。假如数据在一个处所产生改变,它会在全部位置举办改变。你可以停止全部动静转达的贫困,并专注于将信息写入Firebase中,由于Firebase会将其复制到必要的位置。 你无需只存眷于Firebase。更根基的谷歌云函数是一种更简朴的要领,可将定制代码嵌入整个谷歌云中。今朝,云函数很洪流平上只是编写Node.js代码的一个选项,该代码将在预设置的节点情形中运行。固然谷歌云平台的其他部门可支持各类说话,包罗Java、C#、Go、Python和PHP,但云函数却仅限于行使JavaScript和Node说话。有迹象表白,其他说话选择即将实现,假如这些选择很快呈现,我不会感想惊奇。 至少在这一点上,谷歌云函数不会像AWS Lambda进入AWS一样深入到谷歌云中。当我实行构建一个与Google Docs交互的函数时,我发明我也许不得不行使REST API并将代码写入名为Apps Script的应用措施中。换句话说,Google Docs情形拥有本身的REST API,其在无处事器这个风行词呈现好久之前就处于无处事器状态。 值得留意的是,Google App Engine的成果一连变得强盛。一开始,它提供了启动Python应用措施以满意会见者进入网站的需求,但多年来一向在扩展成果,今朝可处理赏罚很多差异的说话运行情形。将代码打包成可执行文件后,App Engine将启动流程,开启足够的节点来处理赏罚流量,并在用户发送哀求时按比例放大或缩减数目。 要紧记的是,仍存在一些障碍。与云函数一样,你的代码必需以相对无状态的方法编写,而且必需在有限的时刻内完成每个哀求。可是App Engine不会丢弃全部的scaffolding,也不会健忘各哀求之间的全部对象。App Engine是无处事器革掷中的重要构成部门,对付那些仍回收旧要领并行使Python,PHP,Java,C#或Go说话构建本身的仓库的人来说,它如故是最轻易得到的平台。 微软Azure Function 虽然,微软与其他公司一样在全力事变,以确保人们可以行使微软Azure完成全部的无处事器架构事变。微软公司已经为处理赏罚变乱建设了本身的根基函数,即Azure Function,而且还构建了一些更伟大的器材,这些器材对付不太成熟的措施员来说越发易于行使。 微软拥有的最大上风也许是它的Office应用措施荟萃,这些前期的桌面可执行文件正在迟钝而不变地迁徙到云端。究竟上,在云计较收入的一种财政核算要领上,微软已领先于亚马逊公司,这部门缘故起因在于微软将其部门Office收入纳入到短期的“云”计较收入中。 Azure Functions文档中最好的一个示例声名白,当或人在将电子表格生涯到OneDrive时,云函数是怎样被触发的。溘然间,,云端的小精机动泼起来,可以处理赏罚电子表格中一些工作。对付喜好Excel电子表格(或其他Office文档)的IT支持团队来说,这绝对是天赐之物。他们可以编写Azure Function来做险些任何工作。我们凡是以为HTML和收集是云端的独一接口,但没有来由不能通过Microsoft Word或Excel等文档名目毗连至云端。 Azure的Logic Apps引起了我的留意,它的一个器材可以帮你填写表单,而不消担忧语义和语法。你如故必要像措施员一样思索,并对抽象观念和数据做出明智的抉择,可是你也许会说服本身,你并没有像填写表格那样来编写“代码”。 像亚马逊的Step Functions一样,Logic Apps的目标是对“事变流”举办编码,这是一种风行词,比起平凡的“函数”要伟大得多,这要归功于可行使某种状态。你如故可以用相同流程图的方法编写链接各类函数和毗连器的逻辑,可是你不会用像正式计较机说话那样举办具体声名。 Logic Apps的一大上风是预先构建的“毗连器”,可深入到微软和第三方的一些更大应用措施中。你可以有用地从Logic Apps 以及Salesforce、Twitter和Office 365等措施中推送或提取数据。这些毗连对付公司IT职员来说很是有代价,他们此刻可以通过编写Logic Apps来毗连外部器材,就像他们已往建设shell剧本一样。 Azure另一个风趣的处所是Azure Cosmos DB,它同时是NoSQL数据库和SQL数据库。微软已经复制了Cassandra和MongoDB的API,这样你就可以在不改写Cassandra或MongoDB代码的环境下输入和输出信息。可能,假如你想写SQL语句的话,你也可以这样做。Cosmos DB可以让内容很直观,并为全部内容成立索引,以使其快速运行。假如你有许多SQL和NoSQL代码必要同时行使,这将使它成为一个很是不错的中心毗连。可能,大概你只是想在将来为回收差异的要领敞开大门。 无处事器云的较量 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |