“无服务器”现在是极具诱惑的技术趋势,没有什么比管理服务器更让人痛苦。亚马逊、微软和谷歌都在云中提供无服务器专有接口。相较于这些云供应商的商业化产品,开源无服务器架构可免于被云厂商锁定,但要以牺牲云便利性和易用性为代价。

近一年,Fission热度颇高。简单来讲,Fission是一个构建在Kubernetes之上的FaaS或Serverless函数框架。Fission使用配有动态装载器的标准容器把Kubernetes与内部容器联系在一起,所使用的功能被放置于适当的标准容器中,并被加载以回答容器内Web服务器查询。

因为其灵活且不会被锁定到特定云提供商,Fission已被应用到多个行业,本文将介绍五大行业常见用例的Fission架构设计模式。

参考架构1:物联网(IoT)

从工业互联网到可穿戴设备再到智能汽车,一系列物理设备(传感器、执行器,智能设备和可穿戴设备…)收集各种类型数据,并与数据中心内运行的应用程序进行通信。通常,数据使用网关聚合,然后发送到可分析这些变量的平台以获取业务洞察(性能、趋势、触发事件等)。

物联网应用程序中的整体流程可使用Fission编排:

  1. 使用网关聚合数据,并将其发送到在Kubernetes上托管运行的Kafka服务器集群消息队列;
  2. 基于整个管道流程调用Fission函数:
  • 对于放置在消息队列中的给定文件,文件内容将传递到Fission函数,该函数首先对其标准化以提取感兴趣的变量,然后将输出发送到NoSQL数据库或文件系统;
  • 第二个函数将运行以响应NoSQL数据库中的标准化文件。该函数将读取文件内容,根据需要执行计算(基于用例),调用执行功能的微服务,例如将数据发送到Data Lake或Data Mart以进一步分析;
  • 可以为事件流中任何类型的处理操作编写分支函数,FaaS可根据数据量按比例放大或缩小。

参考架构2:金融服务(支付处理,风险计算等)

金融服务行业可以使用基于Fission的无服务器架构实时处理支付请求、执行合规性检查和风险度量等关键任务。
金融应用程序中的整体流程可以使用Fission编排:

  1. 开发人员将Fission部署为跨多个应用程序的共享功能,这些程序是支付处理网关前端,可处理用户身份验证、注册和支付相关数据收集;
  2. 系统将后端与存放交易数据的数据库进行连接;
  3. 创建Fission函数以解析具有以下变量的给定输入数据流:用户信用卡数据、交易位置、其它用户信息等。
  • 第一个函数调用欺诈检测API,并根据检查结果将数据保存到内存数据网格中;
  • 无论检查通过还是失败,均调用第二组函数。如果检查通过,则该函数批准付款并向用户发送确认;
  • 如果怀疑付款存在欺诈性,则会调用另一个函数向后端欺诈检测系统发出告警。

参考架构3:Web应用程序扩充

绝大多数企业应用都是三层Web程序,这些应用是业务后台及技术任务(如备份、告警、数据收集)的接口。新兴模式是用无服务器Fission函数来处理这些任务,而不影响单片n层应用程序的开发和部署。
Web应用程序扩充的总体流程可以使用Fission函数编排:

  1. 业务用户继续与(传统)应用程序连接,但可以利用Fission函数提供的增强功能;
  2. 为一系列计算和数据处理任务创建新功能;
  3. 主要应用程序触发这些功能,因为需要机会性执行;
  4. Dedicated函数执行所描述的适当逻辑,如果需要,向应用程序报告。

这可以被视为将传统应用程序重构或分解为微服务的好方法,或者轻松添加不依赖“mother ship”开发和发布过程的附加功能。

参考架构4:传统系统改造

诸如大型机和n层应用之类的传统系统在银行、保险、零售等行业普遍存在并且根深蒂固。由于复杂性、业务依赖性、重构需要大量时间和精力以及这些系统仍然表现良好且具有成熟的使用模式等事实,企业不可能简单撕掉和替换这些系统。为了确保与现代服务(如Web和移动应用程序)的互操作性,Fission函数可以围绕这些系统提供基于标准的API包装器。

例如:

  1. 请求被发送到API网关,API网关执行基本转换并根据请求端点需要调用Fission函数;
  2. 函数接收输入数据(例如JSON)并将其转换为终端系统可处理的格式,然后调用(传统)业务系统;
  3. 一旦系统响应,函数可获取并将其转换为源系统理解的格式,再使用适当的响应调用API网关。

参考架构5:使用Apache Spark进行机器学习

对于大多数公司而言,机器学习和预测分析通常针对组织内的特定项目。为了实现机器学习的真正价值,跨应用共享数据、算法和模型是有利的。Fission可以与Apache Spark等技术结合,提供最终用户或应用程序所使用的流处理和趋势预测数据。

使用Fission和Apache Spark编排机器学习应用整体流程:

  1. 业务运营数据实时提取到基于Kafka的消息队列集群;
  2. Spark Streaming以微批方式获取数据,通常基于时间窗口。此数据存储在数据湖中以进行批处理分析,并发送到Spark MlLib运行时,其中存储了不同的预测模型;
  3. 这些模型基于在Spark上运行的通用ML算法,比如有监督和无监督算法 ,聚类、分类算法等;
  4. 一旦将模型结果写入NoSQL数据库或内存数据网格,就会触发Fission函数;
  5. Fission函数执行一系列关键业务功能,例如,更新业务分析仪表板,发送实时服务等。

结论

无服务器正在成为继Kubernetes之后最热门的趋势之一,开源无服务器解决方案使用高度灵活的技术,基于标准PaaS平台解决行业面临的业务挑战,并可在本地和任意公有云运行。但是,与其他新技术一样,无服务器仍然存在一些问题,比如可扩展性、生态系统集成等,如何合理搭建成为技术人员需要思考的重要问题。

参考链接:https://dzone.com/articles/what-is-serverless-part-5-reference-architectures

最热开源无服务器函数:五大Fission架构参考相关推荐

  1. 关于无服务器(Serverless)架构你要搞懂的8件事

    2019独角兽企业重金招聘Python工程师标准>>> 无服务器计算,虽然神秘,但一定会成为IT行业最有力的工具之一.这种可能改变游戏规则的技术虽然不是全新的,但就像之前的容器技术一 ...

  2. 一文看懂当红Serverless:为何AWS、阿里云和腾讯云都在发力「无服务器架构」

    冠望 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要说目前软件架构中热度十二分的话题,当属Serverless. 通常我们会将其翻译为"无服务器架构". 尽管成天被称为& ...

  3. c#服务器后端_一文看懂Serverless:AWS阿里云腾讯云都在发力「无服务器架构」

    冠望 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要说目前软件架构中热度十二分的话题,当属Serverless. 通常我们会将其翻译为"无服务器架构". 尽管成天被称为& ...

  4. 详细!看看顶级互联网公司都在研究的无服务器架构!

    无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amazon.Google 和 Microsoft)都在大力投入这 ...

  5. 从零开始发布前端代码到服务器上_无服务器计算:让每行代码都能住上“经济适用房”...

    是时候展现真正的实力了!大胆报名吧!! 摘 要 独立的简单函数可以让开发工作变得更加容易,同时由事件驱动的执行可让操作变得更加便宜. 开发人员往往需要花费大量的时间编写代码以解决业务问题.随后,运营团 ...

  6. plsql无监听程序_详细!看看顶级互联网公司都在研究的无服务器架构!

    无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amazon.Google 和 Microsoft)都在大力投入这 ...

  7. 作为工程师,你真的了解无服务器?

    译者 | 王欢 来源 | 分布式实验室 头图 | 下载于ICphoto 最近,我在YouTube上看了一个非常出色的开发人员的视频.它的标题是"无服务器毫无意义".虽然我非常喜欢该 ...

  8. 被吹得天花乱坠的无服务器架构,究竟是什么?

    戳蓝字"CSDN云计算"关注我们哦! 无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amaz ...

  9. 应用架构步入“无服务器”时代 Serverless技术迎来新发展

    摘要:以"原生蓄力,云领未来"为主题的2021年云原生产业大会上,华为云Serverless函数服务产品经理分享了"华为云Serverless函数服务,让开发上云极简高效 ...

最新文章

  1. byte[]数组和int之间的转换
  2. php概率计算_php 抽奖概率算法
  3. 分析函数RANK的使用
  4. windows导出文件名列表
  5. 单光子探测技术应用_我如何最终在光学/光子学应用程序中使用机器学习作为博士学位
  6. Java案例:数据表转换成XML文档
  7. jdialog 数据量大加载出现白板_王者荣耀:队友真的有人机?白板熟练进排位,资料面都是假的...
  8. 百度搜索大批前高管加盟字节跳动;Kali Linux 2020.3发布| 极客头条
  9. cisco接口模式转换
  10. Windows 计算机的快捷键大全
  11. vue给文字加下划线
  12. 【简单】字符串中最长元音字符串的长度
  13. HBuilderX代码提示失效解决方案
  14. mysql语法错误:Every derived table must have its own alias
  15. 第53章 SQL GROUP BY 语句教程
  16. ACM实验室成员博客汇总
  17. c语言九三字符串的字母个数,C语言判断闰年和平年
  18. 【毕业设计】stm32机器视觉的人脸识别系统 - 单片机 物联网 嵌入式
  19. oracle固定资产减少怎么查,固定资产原值减少账务处理是怎样的
  20. IE6.7.8 浏览器共存_IETester

热门文章

  1. UVa11300 - Spreading the Wealth
  2. 顶尖程序员不同于常人的 5 个区别
  3. QT 5.4.1 for Android Ubuntu QtWebView Demo
  4. BeanUtils威力和代价
  5. xx学OD -- 消息断点 RUN跟踪(上)
  6. iOS 跑马灯封装(带点击事件)
  7. 我是如何在天猫、蚂蚁金服、百度等大厂面试中被拒的 | 掘金技术征文
  8. java8中的时间处理6 - 格式化
  9. 怎么让wordpress用sqlite3 搭建轻量级博客系统
  10. weblogic 修改控制台密码