【阿里云资讯】如何在阿里云数加平台实践Serverless架构?

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 移动互联网、物联网和大数据应用的快速发展极大地促进了人们对云计算的需求。但是让应用架构拥有良好的可伸缩性和高可用性并非易事,运维和管控庞大的基础架构更是极大的挑战。下面就让我们看看阿里是如何解决这些问题的。

导读

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

What is Serverless

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

88d8d64511a92db4bef794bfa51c2a0b06c35af2


Serverless与传统架构的异同

传统的互联网应用主要采用C/S架构,服务器端需长期维持业务进程来处理客户端请求。Serverless架构中,应用程序将基于FAAS架构形成多个相互独立的功能组件,并以API服务的形式提供给用户。同时,服务器端无需长期维持业务进程,业务代码仅在调用时才激活运行,当响应结束占用资源便会释放。

Serverless的优势

  • 节约使用成本 服务根据用户的调用次数进行计费,节省了使用成本。同时,用户能够通过共享网络、硬盘、CPU等计算资源,在业务高峰期通过弹性扩容方式有效的应对业务峰值,在业务波谷期将资源分享给其他用户。
  • 简化设备运维 开发人员面对的将是第三方开发或自定义的API 和URL,底层硬件对于开发人员透明化了,技术团队无需再关注运维工作,能够更加专注于应用系统开发
  • 提升可维护性 Serverless架构中,应用程序将调用多种第三方功能服务,组成最终的应用逻辑。例如登陆鉴权服务,云数据库服务等第三方服务在安全性、可用性、性能方面都进行了大量优化,开发团队直接集成第三方的服务,能够有效的降低开发成本,同时使得应用的运维过程变得更加清晰,有效的提升了应用的可维护性。

为什么Serverless适合大数据业务

大数据应用相比流程性的应用有以下特点:
  • 流程长,从采集,存储,清洗,关联,到分析挖掘,直到变成数据服务
  • 逻辑复杂,大数据的价值就是要关联非常多的维度来分析
  • 不确定性强,数据的应用很多都是探索性质的
  • 技术体系复杂,不存在一个通用的引擎可以解决所有大数据的场景,离线处理,流式处理,在线分析需要使用不同的引擎来支持
  • 为了更好的应对大数据场景下的特点,阿里云的大数据平台——数加平台提供了一些列的Serverless服务,使得数据科学家无需陷入到复杂的底层构建和运维的细节,提升了数据分析的效率。

从用户视角来看,数加平台输入的是数据,中间是数加平台提供的serverless服务,最终得到的结果是智慧的服务。数加平台从底层将整个数据应用的链条全部打通,并提供了一系列的Serverless 服务,从数据采集,存储,各种处理,到最终变成数据服务。


7979d7a843af18675161a2f3516dd30d879fcdcb

用户需要做的是开发、配置业务相关的处理逻辑、业务规则和算法等,把所有精力关注在数据价值的实现上,而不用关心底层技术和运维层面的架构,也不用关心系统资源管理等。

典型场景

  • 数据分析服务化 按需组合使用各类Serverless 的服务,将多种数据源集成,清洗转换,关联分析,并以可视化的方式展现数据的洞察。过程中不用关心任何的物理架构,也不用关心各种工具的集成。
  • 数据服务化 指将已有的数据通过Serverless的方式(如API化)提供给使用者,常见的有:气象数据获取,根据地理位置获取对应位置的地点信息,图像识别(指能识别出特定的图片信息),特征新闻抓取服务等。
  • 算法服务化 主要是将输入的数据根据特定的算法进行提炼和运算,然后将结果输出,如人脸特征值提取,基因计算,图像渲染等。开发者无需考虑计算资源,只需将计算代码托管到大数据平台或者通过API接口调用大数据计算服务,由服务商提供计算资源的调度,监控和维护工作,能极大的降低运维工作量,同时具有更好的资源弹性伸缩能力。

经典实践之智慧水务

41bd8969fad14f5130fef3f13d5c161ed2d01171
整体架构图

利用IoT 套件采集设备数据,通过简单的配置即可将数据实时对接到大数据平台的DataHub.驱动以下典型的计算场景。

  1. 在流计算中自定义SQL 对这些数据做实时的汇总统计,比如流量的统计
  2. 在规则引擎中配置业务规则,通过这些规则对数据进行实时分析,判断设备的状态
  3. 在规则引擎中配置异常检测的算法对设备状态进行预测,或者利用时间序列算法对管网运行状态进行预测,底层会应用到Maxcompute 对历史数据进行分析,产出的模型对接到StreamCompute,进而对新产生的数据进行实时预测

这个案例里面,利用到了大量的大数据的能力,离线存储和计算,流式计算,机器学习模型训练,数据可视化等等,但对使用者来说,需要做的是流计算SQL 的开发,以及业务规则的配置,以及偏业务算法参数的配置。而不用去管底层的平台要如何搭建,不同引擎之间的数据如何流转,以及系统的扩展性,稳定性,更不用关心要准备多少的物理资源。

最后最精彩

623d3a41932a87a40a66ca4e552249cb84b11dcb

想要了解更多Serverless方面的资讯,欢迎大家关注2016杭州·云栖大会。Serverless是当今架构领域最火的话题之一,因为它又一次大幅提升了用户的资源效用效率,降低了管理成本,让DevOps成为真正的事实。阿里云在Serverless方面提供了哪些能力,未来会怎么发展,10月16日上午Serverless分论坛为您一一揭晓。目前,大会主场已开放报名。2016杭州·云栖大会的主题是“飞天·进化 ”。和去年相比,大会从原本2天的议程增加至4天,从10月13日持续到16日。


本文转载自 阿里云微信公众号 Alibaba-Cloud

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
3天前
|
运维 Kubernetes 前端开发
拥抱Knative, 合思加速Serverless化演进实践
合思信息基于阿里云容器服务Knative, 实现Serverless化演进的最佳实践。
拥抱Knative, 合思加速Serverless化演进实践
|
3天前
|
设计模式 API 持续交付
深入浅出:微服务架构的设计与实践
在软件开发的世界中,微服务架构如同一场革命,它改变了我们构建、部署和管理应用的方式。本文将带你一探微服务的奥秘,从基础概念到实际案例分析,再到设计模式和常见问题解答,我们一步步深入理解微服务架构的设计哲学和实践要点。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇了解和应用微服务的大门。
|
3天前
|
监控 Cloud Native 持续交付
云原生时代的微服务架构实践
【9月更文挑战第5天】随着云计算技术的飞速发展,云原生已成为现代软件开发的重要趋势。本文将深入探讨在云原生环境下,如何有效实施微服务架构,包括服务拆分、容器化部署、持续集成与交付等关键环节。通过具体案例,我们将展示如何在云平台上构建弹性、可扩展的微服务应用,并讨论在此过程中可能遇到的挑战及解决策略。
|
2天前
|
监控 Cloud Native 安全
云原生时代的微服务架构实践
【9月更文挑战第6天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性成为企业架构升级的首选。本文将通过浅显易懂的语言和生动的比喻,带你一探微服务架构的世界,从理论到实践,逐步揭示如何利用云原生技术构建高效、可靠的微服务系统,同时穿插代码示例,为有志于云原生领域发展的技术人员提供一份实操指南。
16 2
|
4天前
|
前端开发 安全 JavaScript
构建高效Web应用:前后端分离架构的实践
【9月更文挑战第4天】在数字时代,Web应用已成为企业与用户互动的主要平台。本文将介绍如何通过前后端分离的架构设计来构建高效的Web应用,探讨该架构的优势,并分享实现过程中的关键步骤和注意事项。文章旨在为开发者提供一种清晰、高效的开发模式,帮助其在快速变化的市场环境中保持竞争力。
|
4天前
|
消息中间件 监控 API
深入浅出微服务架构:从理论到实践
在软件开发领域,“微服务”这一概念已如日中天,它改变了我们构建、部署和扩展应用的方式。本文将带你走进微服务的世界,不仅探讨其核心理念,还将通过实际案例,展示如何将一个传统单体应用拆分为微服务架构。我们将一步步分析微服务的优势与挑战,并讨论如何在现实世界中实现和维护微服务架构,让你对微服务有一个全面而深入的理解。
|
3天前
|
运维 Cloud Native 持续交付
云原生时代下的微服务架构实践
在数字化转型的浪潮中,云原生技术以其高效、灵活的特性成为企业IT架构升级的首选。本文将通过深入浅出的方式,探讨云原生环境下微服务架构的设计原则、关键技术及实施策略,旨在为读者提供一条清晰的技术路线图,帮助理解和掌握在云平台上构建和管理微服务的实用方法。
|
3天前
|
Java 数据库 微服务
深入浅出:微服务架构的设计与实践
在数字化时代的浪潮中,传统的单体应用逐渐显得笨重不堪。微服务架构以其灵活性、可扩展性成为现代软件开发的新宠。本文从基础概念出发,逐步深入探讨如何设计并实现一个高效的微服务系统,同时分享实战经验,帮助读者规避常见陷阱。
|
9天前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
22 0
|
12天前
|
机器学习/深度学习 机器人 Serverless
FaaS 的应用场景
FaaS 的应用场景

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    DDNS