商业项目您现在的位置:主页 > 工程案例 > 商业项目 >

一文读懂无服务器架构的优劣势 用例和选型

  【IT168 资讯】首先无服务器这个概念并不代表该技术的实际状态。因为还有一台服务器,但你只是不需要购买,管理或维护它。你将所有服务器管理外包给其他人,在你的云基础架构中添加抽象级别。对于开发人员来说,这意味着最终推动了服务器后台配置的能力和创建应用程序之间更加友好。对于企业来说,带来了更快的应用上市时间,以及专注于开发和部署的应用程序,而不是如何管理服务器的后台配置。基本上,无服务器方法是由业务驱动的,第三方处理你的技术问题,而用户自己专注于交付。

  现在,你可能会想:“我们已经将我们的基础架构放在了云中,并且不拥有任何硬件。那么,这跟无服务器计算有什么不同呢?”

  使用传统的云模式(通常称为Cloud 1.0),只需将存储和网络移动到云中,但仍需通过虚拟机(VM)远程访问和监控它。无服务器的方法将它带到了另一个级别。程序员选择编写代码的环境(Node.js.Python,C#等),并上传代码文件,然后由系统自动部署。通过使用供应商自己的生态系统,你可以轻松描述这些服务如何通信以及他们可以访问数据的位置。这是一种近乎NoOps的方法,大多数Ops都是外包给供应商的。

  为了更深入地了解它如何工作,以及它带来的好处,我们首先描述一下无服务器架构的一些定义特征。

  无服务器计算的另一个名称是功能即服务(FaaS),指的是开发人员将代码组装到称为功能的构建块中的方式。这与微服务非常相似,在这种微服务中,一个大型代码块被分割成小的,可管理的元素,可以分别并行地进行缩放和更新。然而,FaaS通过进一步分解来将其提升到一个新的水平。

  你显然不希望家里安装的摄像头记录你的街道24/7发生的一切。这就是为什么当我们不在家时,我们使用激活的摄像头来检测可疑行为。无服务器架构的工作原理类似:就像运动传感器一样,它只在特定的预编程事件触发时才起作用。无服务器是无状态的,这意味着它只执行一个任务,不存储或重用请求。

  无服务器方法非常灵活,是扩展应用程序的理想选择。FaaS供应商将你的每个功能都分别放在不同的容器中运行。这使你可以无限制地自动调整它们。这是无服务器和传统云之间的另一个区别。在这里你不必购买预订的资源量,你可以尽可能地灵活。

  在传统的云模式中,你需要服务器随时准备处理请求。不管实际使用的CPU时间和内存如何,持续的服务器可用性都会导致每月大量的后端成本。或者,无服务器供应商允许你为每个请求支付一小部分的费用,这意味着你的成本仅取决于你本月的流量。

  AWS Lambda,微软Azure Functions,Google Cloud Functions和IBM Bluemix OpenWhisk等功能即服务供应商提供了类似的解决方案。谈到定价,他们在预算上很容易:高达100万的请求是免费的,给你一个很好的起点。差异主要在于社区支持和支持语言的可用性,这使得选择更具个性化。

  在工程方面,无服务器的好处是显而易见的。这是一种简化的开发方法,消除了复杂的层面,简化了工程设计。但是商业方面呢?你如何说服利益相关者,一文读懂无服务器架构的优劣势 用例和选型证明FaaS是未来方向?

  正如我们所提到的,FaaS允许你为每个请求支付一小部分的费用。如果你是一家创业公司,那么你几乎可以免费创建一个MVP,并且轻松进入市场,而不需要处理大量的账单以获得最小的流量。

  每个人都想要构建下一个优步,但是你会冒险调配基础设施以防万一?无服务器,你不必做出选择,但你仍然可以为任何增长量做好准备。

  就像你不必花费数百或数千美元购买硬件一样,你可以停止为工程师付费来维护它。

  当你让供应商控制你的运维时,你必须按照他们的规则来玩。如果你已将应用程序设置到Lambda。

 

分享到:
相关文章