加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

重新思考使用无服务器构建软件的方式

发布时间:2018-11-08 06:11:09 所属栏目:外闻 来源:今日头条
导读:副标题#e# 软件构建的方式不断变化,以满足持续加快进入市场和跟上竞争的压力。软件开发行业从瀑布到敏捷,从敏捷到DevOps,从DevOps到DevSecOps,从单片应用程序到微服务和容器。今天,一种新方法正在进入竞技场并再次转变范式。无服务器旨在通过运营工作

无服务器解决方案提供商Protego Labs的首席技术官Hillel Solow表示,虽然无服务器无法从根本上改变安全性,但有些事情本身就变得非常困难。Solow表示,无服务器的最大弱点包括不必要的权限,易受攻击的代码和错误的配置。

此外,Red Hat的产品管理高级总监Rich Sharples表示旧的应用程序安全风险再次成为新的无服务器风险。这些风险包括功能事件数据注入,破坏的身份验证,不安全的无服务器部署配置以及功能监视和日志记录不足。

Solow解释说,无服务器安全性并不复杂。例如,severless要求团队将平台,操作系统和运行时的所有权转交给云提供商,如亚马逊,微软和谷歌。“云提供商几乎总是会更好地修补和保护服务,所以你不必担心你的团队处理这些事情,”他说。

当团队开始考虑如何确保他们的应用程序只执行应该执行的操作时,就会出现挑战。Solow解释了您放置安全性的位置以及您如何实施安全性必须改变。

在Protego Labs最近的一份报告中,该公司发现98%的无服务器功能存在风险,16%被认为是严重的。“当我们分析函数时,我们为每个函数分配风险评分。这是基于所发现的姿势弱点,不仅是因素的弱点,而且还包括其发生的背景,“Solow解释道。“在实时应用程序中扫描了成千上万的功能后,我们发现大多数无服务器应用程序根本没有被安全地部署,因为它们需要将风险降至最低。”

根据Podjarny的说法,无服务器可以改变安全优先级并将应用程序拆分成许多小块。“未修补的服务器和拒绝服务攻击等威胁在移动到平台时几乎被消除,极大地改善了大门外的安全状况。这一现实将攻击者的注意力从服务器转移到应用程序,因此应用程序安全性的所有方面都变得越来越重要,“他说。“每件作品都会产生一个需要保护的攻击面,为链中的薄弱环节创造了数百倍的机会。此外,由于应用程序如此分散,因此它们很难跟踪应用程序范围内的活动,因为它们在功能之间反弹,为跨功能交互中的安全漏洞提供了机会。“

Red Hat的Sharples补充说,安全团队应该考虑无服务器环境中的数据,考虑最少权限控制和细粒度授权,实践良好的软件卫生,并记住数据访问仍然是他们的责任

为了成功解决无服务器安全问题,Podjarny建议良好的应用程序安全实践应该由开发团队拥有和运营,并且应该伴随着大量的自动化。此外,Protego Labs的Solow建议采用更加无服务器的安全模型,该模型在资源所在的地方使用安全性。

“好消息是这些都是可以解决的问题,”索洛说。“无服务器应用程序使您可以配置各个功能的安全权限。这使您可以实现比传统应用程序更精细的控制,从而在攻击者能够访问时显着降低风险。无服务器应用程序需要做出更多的最佳策略决策,如果没有合适的工具,这可能会带来挑战,但如果准确完成,这些决策可以使无服务器应用程序比非无服务器模拟程序更安全。“

Solow建议的其他安全最佳实践包括:

  • 映射您的应用程序以查看完整图片并了解潜在风险
  • 在功能级别应用周边安全性
  • 为每个功能制定最小角色
  • 保护应用程序依赖性
  • 通过应用代码审查和监控代码和配置,对不良代码保持警惕
  • 将服务配置测试添加到CI / CD
  • 观察信息流以确保它到达正确的位置
  • 减少拒绝服务和拒绝钱包,黑客可以通过“压倒”攻击您的应用程序来攻击您的应用程序,从而增加费用并考虑限制功能实例生命周期的策略

无服务器的顶级用例

根据CNCF,有10个无服务器技术的最佳用例

  • 多媒体处理:执行转换过程以响应文件上载的功能的实现
  • 数据库更改或更改数据捕获:审核或确保更改符合质量标准
  • 物联网传感器输入消息:响应消息和缩放的能力
  • 大规模流处理:在可能无限的消息流中处理数据
  • 聊天机器人:自动扩​​展以满足高峰需求
  • 批处理作业/计划任务:需要强大并行计算,IO或网络访问的作业
  • HTTP REST API和Web应用程序:传统的请求和响应工作负载
  • 移动后端:在BaaS API之上构建REST API后端工作负载的能力
  • 业务逻辑:执行一系列步骤的微服务工作负载的编排
  • 持续集成管道:无需预配置主机的能力

无服务器的三次革命

根据云计算公司DigitalOcean的最新报告,虽然无服务器正在获得牵引力,但大多数开发人员仍然没有清楚地了解它是什么。无服务器解决方案提供商Protego Labs的首席技术官Hillel Solow解释说,无服务器的含义可能令人困惑,因为它有三个不同的核心价值:无服务器基础架构,无服务器架构和无服务器运营。

Solow解释说,无服务器基础设施是指企业如何消费和支付云资源。“你从云提供商租用什么?这是关于'规模为零','不支付闲置,'真正的自动扩展'等。无服务器基础设施革命提议停止租赁机器,并开始支付实际的资源消耗,“他写道在一篇文章中。

无服务器架构着眼于“如何构建软件以实现水平扩展。”作为其中的一部分,Solow说有一些关键的设计原则:

  • 将无服务器存储设置为文件或数据存储,以便可以根据应用程序的需要进行扩展
  • 将所有应用程序状态移动到少量无服务器存储和数据库
  • 确保计算由外部事件(如用户输入和API调用)或内部事件(如基于时间的事件或存储触发器)事件驱动
  • 将计算机组织成无状态微服务,负责应用程序逻辑的不同部分

无服务器操作定义了您部署和操作软件的方式。Solow表示,运营部门专门研究如何协调,部署和监控云原生应用程序。“云原生意味着云平台是新的操作系统,”他说。“您正在编写应用程序以在此计算机上运行AWS。正如大多数开发人员没有充分考虑确切的底层处理器体系结构,以及他们运行多少个超线程内核,当你使用本机云时,你真的想停止思考这些机器而你想开始考虑服务。这就是你为Android或Windows编写软件的方式,这就是你应该如何为云编写软件。“

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读