无服务器框架对大数据的影响

无服务器计算对大数据的影响

在facebook上分享
在twitter上分享
分享在linkedin
在whatsapp分享

当涉及到设计数据框架在组织内部,无服务器计算应用程序栈现在非常流行。我们等待原始服务器提供服务的日子已经一去不复返了。为了确保分析驱动的流程和决策,组织正在重新设计他们的基础设施,以适应当代分析工作负载的需求。在2016年的一项研究中,“企业之声(投票):云转型、工作量和关键项目2016”研究发现,37%的it决策者在某种程度上已经在使用无服务器计算的架构。14%的决策者在生产中没有服务器,11%的人在测试这项技术。12%的受访者处于初步发现阶段。

“按你使用的付费”的流行词已经导致无服务器架构成为主流。对于评估是否要走向无服务器的组织,本博客将讨论无服务器架构的优缺点,并提供参考实现细节。

无服务器框架——现实还是炒作?
“无服务器框架”,用外行人的术语来说,意味着你的后端计算逻辑将运行在供应商维护的基础设施上,在那里你可以运行自己的代码,你只需要为你的使用付费。始终保持基础设施正常运行的责任落在了供应商的肩上。

无服务器计算有许多潜在的好处,包括降低成本和某些业务的快速部署。然而,当涉及到企业迁移时,很少有厂商锁定之类的问题。

1

数据即服务为良好互连的数据环境铺平了道路,在这种环境中,不同的应用程序可以通过api(应用程序编程接口)进行通信和交流。需求和规模永远无法预测,也永远无法保持一致。不考虑过去和未来的状态。这为跳出服务器绑定处理的舒适区域,转向动态的、无限的无服务器范式奠定了基础。

为什么公司需要无服务器
当涉及到我们的所有客户时,一个临床问题是设计一个启用特别查询、基于云的成本削减、配置驱动的数据协调,以及先进的分析使框架。在供应、服务器维护、高可用性和按使用付费(FaaS -功能即服务)策略方面的显著削减,极大地有利于向无服务器计算的方向发展。

此外,服务器绑定的应用程序会导致开发启动缓慢,因为即使是最基本的开发设置也需要带有复杂应用程序堆栈的繁琐基础设施。它还提出了许多操作上的挑战,如运行成本、可伸缩性、安全性、服务器维护,所有这些都离不开手动干预。如果无服务器计算可以缓解所有这些问题,这难道不是一个更明智的业务决策吗?

评估无服务器空间
为了实现一个交互式的特别分析平台,有两个关键的挑战:

  1. 建立中心事实,计算指标,验证和定期刷新
  2. API、请求解析器和适当的后端基础设施,用于从不同的应用程序和用户进行动态查询

第一个挑战纯粹存在于需要设计和扩展数据架构的数据领域。建立和运行服务的第二个挑战是我们当前感兴趣的。在设计将数据作为服务提供的解决方案时,我们需要考虑以下约束条件:

  • 请求量
  • 请求速率
  • 请求响应SLA
  • 输入和输出定义
  • 使用和阈值
  • 监测和报警
  • 容错

用例:实现无服务器交互式分析平台
当我们评估我们的客户的前提设置时,建立和管理整个数据服务堆栈的时间和成本不仅没有成本,而且是一个冗长和劳动密集型的过程。我们分析了各种选项、总拥有成本、交付时间和责任制,最终锁定了Amazon Web Services (AWS)的无服务器产品。AWS是该领域的行业领导者,为我们提供了急需的组件,如AWS Lambda、AWS S3、AWS Cognito、API Gateway、Simple Queuing Service、DynamoDB和Redshift,以建立一个无服务器交互查询堆栈。

构建服务器绑定的应用程序需要牢牢掌握和灵活地理解基于HTTP (HyperText Transfer Protocol,超文本传输协议)协议和API服务的底层关键概念。

我们评估了几个MPP商店,使用我们的定制负载测试模块,将Redshift作为我们首选的设置,以支持客户的要求,有严格的sla。我们的任务是构建弹性数据架构,以每分钟容纳数百个并发用户,并维持60:40的简单与复杂查询比例。

2

客户端的查询请求被压缩为JSON(JavaScript对象表示法),通过安全的HTTP发送到AWS Lambda,认证(AWS Cognito)和HTTP分发(AWS API网关)几乎不费吹灰之力。基于请求JSON构造了一个符合ANSI SQL的雄辩查询,并准备好访问数据库。查询被提交到一个高可用FIFO(先进先出)队列,SQS(简单队列服务)与客户端的现有HTTP连接分离。来自SQS的查询消息的智能使用者,等待正确的时间点击红移。正确的时间取决于VPC(虚拟私有云)中红移和IP的可用性。调度的查询在红移集群中执行,结果由来自S3的客户端使用。

AWS Lambda实施了一些关键限制。它们是:

  • vpc中可用ip数定义了并发请求数
  • Lambda中的超时配置
  • 要抽取的输出数据的内存限制

在我们的客户端场景中,即使有上面列出的约束条件,我们也能够实现95%的请求。对于剩下的场景,用户希望长时间运行或大量数据下载,我们考虑业务合理性,并构建适合有限规模和使用频率的替代解决方案。

无服务器应用程序模型:即时可伸缩和无状态
基于无服务器应用程序模型的全功能、专注的敏捷应用程序开发减少了在基础设施管理上的时间,并缩短了上市时间。它的规模很大,几乎不需要为可伸缩性的操作思考付出任何努力。

这样做的另一个好处是它是无状态的。维护应用程序状态对服务器绑定栈来说是一个巨大的负担,而无服务器本身就会使应用程序无状态。所有的web令牌、用户操作和进程状态都主要保存在自己的数据库中。

无服务器数据的缺点
在无服务器的应用程序模型中传送大数据也会给您的应用程序带来一些缺点。与服务提供商的紧密合作可能会阻碍无服务器的发展。我们越来越依赖第三方平台提供的工具和服务。在服务器绑定模型的情况下,您可以找到所有可能的开源支持。

我们在使用无服务器时遇到的几个复杂问题之一是多个服务的超时时间不足。如果连接延迟超过29秒,AWS API网关将超时!AWS Lambda的匿名计算功能只能激活五分钟。不能将AWS Lambda用于超过此时间限制的同步操作。超时Lambda的状态也未知。换句话说,我们无法从上次离开的地方恢复。我们甚至可能在第一次配置Lambda时遇到冷启动,它应该被认为是一个黑匣子。交叉检查此类平台的功能仍在进行中,任何生产级的推出都必须小心,以避免任何开发操作失败。

在无服务器环境成为大众难以驾驭的代码游戏领域之前,我们需要主动为其制定持续集成、测试和部署策略。

要不要无服务器?
是否采用无服务器的方式仍然是个问题。在无服务器模型比服务器绑定应用程序模型带来的众多优点中,我们不要忘记后者的约束。然而,不祥之兆是显而易见的。未来将是一个无服务器的平台,这只是一个解决局限性的问题。如果完全理解了潜在的限制并设计了解决方案来克服它们,即使在当前的场景中使用无服务器也可以带来巨大的好处。

加速您的数据工程能力金博宝188可靠吗
在La188bet金宝搏彩票tentView Analytics,我们遵循以业务为中心的数据工程方法,将分析和技术结合起来。金博宝188可靠吗我们以工作负载为中心的体系结构旨在满足业务涉众的不同需求。帮助释放所有级别的数据分析能力,并把它变成为您的业务竞争优势,请与我们联络:marketing@latentview.com