专栏首页测试技术圈技术干货 | Serverless技术架构——极简运维 无限扩容

技术干货 | Serverless技术架构——极简运维 无限扩容

移动互联网、物联网和大数据应用的快速发展极大地促进了人们对云计算的需求。但是让应用架构拥有良好的可伸缩性和高可用性并非易事,运维和管控庞大的基础架构更是极大的挑战。

近年来,一个新的架构风格Serverless成了热门话题。本文基于Serverless概念的提出者Martin Fowler对Serverless概念的解读,全面阐述Serverless架构与传统架构的区别,优势及具体应用场景。

1. Serverless的概念

Serverless是一种基于互联网的技术架构理念,应用逻辑并非全部在服务端实现,而是采用FAAS(Function as a Service)架构,通过功能组合来实现应用程序逻辑。同时,Serverless架构能够让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA,按照调用次数进行计费,有效的节省应用成本。

2.Serverless与传统架构的异同

传统的互联网APP主要采用C/S架构,服务器端需长期维持业务进程来处理客户端请求,并调用代码逻辑完成请求响应流程。而在Serverless架构中,应用业务逻辑将基于FAAS架构形成独立为多个相互独立功能组件,并以API服务的形式向外提供服务;同时,不同功能组件间的逻辑组织代码将存储在阿里云Function Compute,Amazon Lambda,Azure Function,Google Cloud Functions等产品上,业务代码仅在调用时才激活运行,当响应结束占用资源便会释放。

3.Serverless的优势

1)节约使用成本

在业务突发性极高的场景下,系统为了应对业务高峰,必须构建能够应对峰值需求的系统,这个系统在大部分时间是空闲的,这就导致了严重的资源浪费和成本上升。在Serverless架构下,服务将根据用户的调用次数进行计费,节省了使用成本,同时,用户能够通过共享网络、硬盘、CPU等计算资源,在业务高峰期通过弹性扩容方式有效的应对业务峰值,在业务波谷期将资源分享给其他用户,有效的节约了成本

2)简化设备运维

在原有的IT体系中,开发团队即需要维护应用程序,同时还要维护硬件基础设施;Serverless架构中,开发人员面对的将是第三方开发或自定义的API 和URL,底层硬件对于开发人员透明化了,技术团队无需再关注运维工作,能够更加专注于应用系统开发

3)提升可维护性

Serverless架构中,应用程序将调用多种第三方功能服务,组成最终的应用逻辑。

目前,例如登陆鉴权服务,云数据库服务等第三方服务在安全性、可用性、性能方面都进行了大量优化,开发团队直接集成第三方的服务,能够有效的降低开发成本,同时使得应用的运维过程变得更加清晰,有效的提升了应用的可维护性

4.Serverless架构的行业场景

移动行业、物联网行业是非常典型的Sreverless架构使用场景

1)低频请求场景

物联网行业中,由于物联网设备传输数据量小,且往往是固定时间间隔进行数据传输,因此经常涉及低频请求场景。例如:物联网应用程序每分钟仅运行一次,每次运行50ms,这意味着CPU的使用率为0.1%/小时,这也意味着其实有1000个相同的应用可以共享计算资源。而Serverless架构下,用户可以购买每分钟100ms的资源来满足计算需求,通过这种方式就能够有效解决效率问题,降低使用成本。

2)流量突发场景

例如:移动互联网应用经常会面对突发流量场景,例如:移动应用的通常流量情况是QPS 20,但每隔五分钟会有一个持续10s的QPS 200流量(10倍于通常流量),传统架构下企业必须扩展QPS 200的硬件能力来应对业务高峰,即使高峰时间仅占整个运行时间的4%;而在Serverless架构下,用户可以利用弹性扩展特性,快速构建新的计算能力来满足当前需求,当业务高峰后,资源能够自动释放,有效节省成本。

5.基于Serverless概念的业内竞品

Serverless领域 AWS Lambda是先行者,随后其他厂商相继推出了自己的函数服务,包括Azure Function,Google Cloud Functions。阿里云的Serverless产品函数服务(Function Compute)现在正在紧张的研发阶段,预计2016年底之前会正式对外发布。

6.阿里云的Serverless规划

阿里云未来会围绕Serverless概念构建完整的生态体系,产品层面将全力打造API Gateway,Docker,Function Compute等为主的Serverless基础产品序列,同时围绕基础框架提升大数据服务能力,推动API经济发展,使阿里云成为中国Serverless的领导者。

7.技术文章推荐

http://martinfowler.com/articles/serverless.html

http://martinfowler.com/bliki/Serverless.html

本文分享自微信公众号 - V社 北京社(SoftwareTesters)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 很全!浅谈几种常用负载均衡架构

    在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好...

    Criss@陈磊
  • 持续交付之基于YouTrack的产品看板驱动

    上述文字是对看板模式一段比较恰当的描述,使用看板的方式进行开发,确实可以有效控制团队的开发进度,尽早暴露问题,使软件的价值流能在可视的状态下进行流转。它将任务分...

    Criss@陈磊
  • 企业级自动化运维方案设计

    随着企业信息化的不断发展,运维人员需要面对越来越复杂的业务和越来越多样化的用户需求,不断扩展的应用需要越来越合理的模式来保障运维服务能灵活便捷、安全稳定地持续。

    Criss@陈磊
  • 深入浅出Serverless:1 Serverless基础

    yeedomliu
  • Serverless架构:用服务代替服务器

    还记得在十多年前,SaaS鼻祖SalesForce喊出的口号『No Software』吗?SalesForce在这个口号声中开创了SaaS行业,并成为当今市值5...

    yuanyi928
  • Serverless.com CEO首次访华!探讨无服务器技术落地

    2019年11月6日-7日,由腾讯云主办的首届Techo开发者大会将在北京嘉里大酒店召开。本次大会将聚集来自全球5000多位开发者,并邀请超140位业界大咖围...

    腾讯云serverless团队
  • 起势的 Serverless,正在挺进云计算的腹地深处

    2020 年 6 月 19 日,全球最负盛名的 Serverless 大会 —— ServerlessDays · China 于线上直播的形式正式召开举办。...

    腾讯云serverless团队
  • 云计算下一浪潮,腾讯云抢占 Serverless 制高点

    在 6 月 19 日举办的首届 ServerlessDays 大会中国站上,腾讯云 Serverless 总经理 Yunong Xiao 表示:“过去三年,腾讯...

    腾讯云serverless团队
  • 倒计时 1 天!Serverless,起风了!

    腾讯云作为国内 Serverless 的先行者,从 2017 年至今经过三年的沉淀,腾讯云 Serverless 的用户规模以及产品下载、调用等次数每年都在急...

    腾讯云serverless团队
  • 应对突发需求,如何借助Serverless快速上云?

    感谢云加社区组织这次“技术应变力”的线上专题活动,并邀请我来进行分享,我将从Serverless的角度来进行解读。Serverless是最近非常热门的词,中文翻...

    腾小云

扫码关注云+社区

领取腾讯云代金券