如何选择最合适的Serverless服务?
Posted 分布式实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何选择最合适的Serverless服务?相关的知识,希望对你有一定的参考价值。
相关文章:
《》
《》
通过迅速灵活以及容量巨大的弹性伸缩,无服务器架构能很好地解决关键功能的性能瓶颈,但它并不是完美的:不仅需要修改设计去适应它,对熟悉的编程模型进行调整,还要解决诸如规划预算、安全等等问题。但总的来说,它为云上的应用提供了另一种选择——并且具有难以抵挡的诱惑:极大地简化应用从开发到部署和维护的整个过程。
将编写代码和部署应用的整个过程简化是每个开发人员的梦想,而无服务器架构(Serverless)正是这样的解决方案,在采用这种架构的时候需要考虑它的局限,费用问题以及安全问题。
信息技术在不同领域的发展不尽相同。诚然,事实一直如此,因为人们为当下的问题所找到的可行的解决方案,通常先于这些问题本身就已经存在了。与虚拟化、云计算等技术的缓慢进步相比,编程语言几乎是原地踏步了十年。直到新一轮的编程语言和方法诸如Python,Ruby,Node,Swift的出现才打破这一局面。这两个领域看似毫无关联,然而我们即将看到二者共同演变并结合在一起开花结果。
这个新的结合领域就是无服务器计算(Serverless)。易于部署的容器实例集合、无处不在的基于REST API的外部服务、易于实现REST API的新编程语言使得以 REST API提供接口成为一种简单而可行的选择。这些技术相互结合,创造了一种全新的计算形式。 我们已经很熟悉这种新的编程形式的诸多方面(例如如何设计和实现REST API,如何设计实现微服务),但是仍有一些方面并不为人熟知。
但这个应用提供的并不是REST API,它只是简单地根据不同的请求内容响应包含不同内容的html页面。结合REST之后,Node应用便成为一个计算结点。不变的是,当收到请求时,它便执行逻辑,然后退出。同时,作为基础设施的部分,它会保持对特定端口的监听。
如果所有这一切以可接受的价格让你在你的站点上或者云端完成,那该有多好!已经诞生了这样的产品(Microsoft Functions,AWS Lambda和nanoscale.io等)都提供了上述所有功能。
工具支持。它必须支持你的开发工具,特别是对CI / CD / ARA的支持至关重要。如果无法将无服务器计算集成到你现有的开发环境和以及整个流程中,那么说明它还不够好。
计费和收费方式。永远不要忘记这些服务提供商与你的商业一样,目标也是赚钱。请确保你明白他们赚到的钱是从你的预算中支出的。所有按需使用的资源都有一些附加因素,因为它依赖于不可预测的客户群和他们变幻莫测的使用情况。但要了解你将被收取哪些费用,以及供应商保留了哪些更换计费方式的权利。
安全功能。将大量代码从你的核心应用中分离出来,并将其放在云端,这可能需要在安全上大量投资并需要撰写一些额外的代码。确保你的供应商能够提供上述协助,抑或是允许你将你的代码保留在防火墙和WAF之后。
你的整体架构。虽然我们上面的例子很好地演示了“低垂的果实”(唾手可得的部分),但稍微复杂一些的案例就可能会遇到诸如数据访问,数据安全,成本问题乃至高可用性等问题。确保你的团队已经深入研究了怎样实现无服务器计算架构,并能很好地掌握这种编程模型。
将来,一些应用程序将完全采用无服务器架构,特别是对于相比使用云端实例更具成本优势的应用。即便没有这样的应用,尽可能少地在基础设施上配置资源也会变得更加划算。同时,将无服务器计算作为解决各种相对独立的功能引起的性能瓶颈的解决方案,或者用于测试在不需要增加基础设施预算的情况下,是否可以增加应用的容量。总的来说,在信息技术领域,对于如何正确地选择架构来实现业务目标,无服务器架构无疑是其中一种解决之道。
原文链接:https://dzone.com/articles/what-to-look-for-when-choosing-a-serverless-architecture
随着Docker技术被越来越多的人所认可,其应用的范围也越来越广泛。本次培训我们理论结合实践,从Docker应该场景、持续部署与交付、如何提升测试效率、存储、网络、监控、安全等角度进行。点击识别下方二维码即可查看具体培训内容。
以上是关于如何选择最合适的Serverless服务?的主要内容,如果未能解决你的问题,请参考以下文章