关于Serverless服务的几点建议

姓名:李浩然

学号:16030410020

转自:http://blog.csdn.net/Listen2You/article/details/75042051(有删改)

【嵌牛导读】:通过迅速灵活以及容量巨大的弹性伸缩,无服务器架构能很好地解决关键功能的性能瓶颈,但它并不是完美的:不仅需要修改设计去适应它,对熟悉的编程模型进行调整,还要解决诸如规划预算、安全等等问题。但总的来说,它为云上的应用提供了另一种选择——并且具有难以抵挡的诱惑:极大地简化应用从开发到部署和维护的整个过程。信息技术在不同领域的发展不尽相同。诚然,事实一直如此,因为人们为当下的问题所找到的可行的解决方案,通常先于这些问题本身就已经存在了。

【嵌牛鼻子】:虚拟化、云计算、无服务器架构、计算资源、操作系统配置

【嵌牛提问】:无服务架构是怎么去解决的?无服务器计算有哪些需要注意的方面?

【嵌牛正文】:通过迅速灵活以及容量巨大的弹性伸缩,无服务器架构能很好地解决关键功能的性能瓶颈,但它并不是完美的:不仅需要修改设计去适应它,对熟悉的编程模型进行调整,还要解决诸如规划预算、安全等等问题。但总的来说,它为云上的应用提供了另一种选择——并且具有难以抵挡的诱惑:极大地简化应用从开发到部署和维护的整个过程。

将编写代码和部署应用的整个过程简化是每个开发人员的梦想,而无服务器架构(Serverless)正是这样的解决方案,在采用这种架构的时候需要考虑它的局限,费用问题以及安全问题。

信息技术在不同领域的发展不尽相同。诚然,事实一直如此,因为人们为当下的问题所找到的可行的解决方案,通常先于这些问题本身就已经存在了。与虚拟化、云计算等技术的缓慢进步相比,编程语言几乎是原地踏步了十年。直到新一轮的编程语言和方法诸如Python,Ruby,Node,Swift的出现才打破这一局面。这两个领域看似毫无关联,然而我们即将看到二者共同演变并结合在一起开花结果。

这个新的结合领域就是无服务器计算(Serverless)。易于部署的容器实例集合、无处不在的基于REST API的外部服务、易于实现REST API的新编程语言使得以 REST API提供接口成为一种简单而可行的选择。这些技术相互结合,创造了一种全新的计算形式。 我们已经很熟悉这种新的编程形式的诸多方面(例如如何设计和实现REST API,如何设计实现微服务),但是仍有一些方面并不为人熟知。

从Node.js中学到的

我第一个Node.js程序与大多数人的并没有太大不同——设置好监听端口和路径,写好代码处理相应的执行和退出逻辑,然后使用浏览器访问对应的URI。在实现基本功能之后,我很自然地进一步利用Node的并发执行和其他新优点来改善这个应用。

但这个应用提供的并不是REST API,它只是简单地根据不同的请求内容响应包含不同内容的HTML页面。结合REST之后,Node应用便成为一个计算结点。不变的是,当收到请求时,它便执行逻辑,然后退出。同时,作为基础设施的部分,它会保持对特定端口的监听。

基础设施

然而,为了实现一个简单但完整、可运行的Node应用(或者 Python / Djang / Java / Spring / RoR 等),还需要进行网络配置,防火墙配置,操作系统配置和调整,存储配置,并且如果你使用了网络应用防火墙(WAF: Web Application Firewall),还需要配置WAF。尽管,DevOps能使所有这一切更容易一些,但请试想一下,如果你根本不需要做这些额外的配置,那将会怎样?

无服务器架构

针对这个问题,越来越多的公司不断地提出解决之道。他们思考的是能否可以做到由开发人员编写代码,部署应用,并在需要时就能轻易获取这些应用,而在不需要它们时也不需要做任何额外的工作,而且还能按需扩展? 甚至能否做到像WAF这样的配置也被自动化,并且应用的访问权限被限定在指定的人/机器的正确子集? 如果部署应用真的如同上传zip文件一样简单,或者就像在编辑器中编写代码并点击“部署”一样简单,那将会怎样? 最后,如果预先配置了数据库和存储的访问权限,那么又该如何将这些配置包含进来呢?

这对开发者无疑有着巨大的吸引力。编写代码后,无需进行那些看似必须的配置(无论是物理环境,虚拟环境的还是云端环境)就能部署,是众多开发者的梦想。这也不禁让人想起一些现实世界中的例子。首当其冲的就是应对高峰期的性能瓶颈。假设你有一个完美运行的在线订单系统,在销售高峰期(比如黑色星期五),由于验证收货地址的时间过长,系统经常陷入崩溃。

如果你有一个无服务器函数(serverless function),它仅返回输入的地址是否有效,你就可以将地址验证交给它来处理,那该多好? 甚至,该功能还允许快速扩展到几乎无限容量(当然,网络带宽还是要考虑的)! 现在,这个瓶颈不再是问题,你只需要为这个函数实际使用的计算资源(CPU时间)付费。 这意味着调用得越多,支付的费用就越高,但是在大部分的时间里,费用都很少。 你只需要为真实使用的计算资源付费。

如果所有这一切以可接受的价格让你在你的站点上或者云端完成,那该有多好!已经诞生了这样的产品(Microsoft Functions,AWS Lambda和nanoscale.io等)都提供了上述所有功能。

并非雨后彩虹

无服务器计算也并不是完美的。在选择供应商时,需要注意的事项包括:

工具支持。它必须支持你的开发工具,特别是对CI / CD / ARA的支持至关重要。如果无法将无服务器计算集成到你现有的开发环境和以及整个流程中,那么说明它还不够好。

计费和收费方式。永远不要忘记这些服务提供商与你的商业一样,目标也是赚钱。请确保你明白他们赚到的钱是从你的预算中支出的。所有按需使用的资源都有一些附加因素,因为它依赖于不可预测的客户群和他们变幻莫测的使用情况。但要了解你将被收取哪些费用,以及供应商保留了哪些更换计费方式的权利。

安全功能。将大量代码从你的核心应用中分离出来,并将其放在云端,这可能需要在安全上大量投资并需要撰写一些额外的代码。确保你的供应商能够提供上述协助,抑或是允许你将你的代码保留在防火墙和WAF之后。

你的整体架构。虽然我们上面的例子很好地演示了“低垂的果实”(唾手可得的部分),但稍微复杂一些的案例就可能会遇到诸如数据访问,数据安全,成本问题乃至高可用性等问题。确保你的团队已经深入研究了怎样实现无服务器计算架构,并能很好地掌握这种编程模型。

构建正确的应用

将来,一些应用程序将完全采用无服务器架构,特别是对于相比使用云端实例更具成本优势的应用。即便没有这样的应用,尽可能少地在基础设施上配置资源也会变得更加划算。同时,将无服务器计算作为解决各种相对独立的功能引起的性能瓶颈的解决方案,或者用于测试在不需要增加基础设施预算的情况下,是否可以增加应用的容量。总的来说,在信息技术领域,对于如何正确地选择架构来实现业务目标,无服务器架构无疑是其中一种解决之道。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容