设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

无服务器架构成云计算未来趋势,将DevOps带入新层次(2)

发布时间:2021-01-16 13:04 所属栏目:53 来源:网络整理
导读:安全性是软件交付方面另一个很好的例子,通常它是被放在项目后期来解决的,或被委派给专门的安全团队来处理,在部署到生产环境之前由他们对所有软件组件进行评估和签发.在无服务器架构中,在常规开发活动部署的一开始,

安全性是软件交付方面另一个很好的例子,通常它是被放在项目后期来解决的,或被委派给专门的安全团队来处理,在部署到生产环境之前由他们对所有软件组件进行评估和签发.在无服务器架构中,在常规开发活动部署的一开始,就必须考虑安全性.至少每个功能必须有与之相关联的安全策略.由于一个功能可以被同账户下的任何其他资源所访问到,所以花费一些时间来确定并配置正确的基于任务的功能安全策略很有必要.理想情况下,按照最小权限的原则,一个功能应该被赋予它所需的最小权限集.例如,需要查询数据库表的功能只能具有查询相关表的权限.

显然,无服务器架构应该使可维护性(包括安全性)成为正常开发周期的一部分,而不是将这些要素推迟到运营团队参与后再进行,不然就会失去解决问题的最佳时机.

当谈到无服务器架构时,DevOps 的思想并不是用来被逐步接受的(通常这样会代来巨大的痛苦),而是需要刻在其底层的基因上.

按使用收费

与 IaaS 计算模型相比,无服务器架构带来了另一个革命性的变化,即对单个功能调用进行收费的定价模型,而不必为保持服务器运行进行付费.

使用公共云的组织更习惯于将云基础设施成本看作运营支出(OPEX)而不是资本支出(CAPEX),但是在 IaaS 架构中,他们最终往往会进行大量前期投资以降低总成本,例如预留计算实例或购买其他云服务的预留容量.而在无服务器架构中,这就不必要也不经济了,因为只对功能调用进行支付比保持服务器持续运行会便宜许多.

由于用于构建无服务器架构的大部分服务都是按使用进行计费的,这样就可以运行多个环境以支持软件交付涉及的开发、测试和操作活动.毕竟,如果不进行调用,就不会产生很多花费,甚至根本不需要支出.无服务器架构在成本上的影响正在消除 DevOps 在许多公司实践过程中的诸多障碍.

能够拥有尽可能多的环境来满足各种团队或业务利益相关者的需求,会带来一些新的巨大的可能性.例如,每个开发人员可以在云上拥有个人的开发环境,或者正在开发的每个功能都可以部署到专用环境中,从而可以独立于其他任何任务进行演示.这样的独立环境甚至可以在单独的提供者帐户上托管,以提供终极的隔离.

持续部署将成为新常态

持续交付是使 DevOps 可行的关键功能之一,但对许多公司来说,尤其是在企业领域,这点仍然相当难以实现.虽然持续交付提供了许多好处,并实现了更高的业务敏捷性,但它没能了解到组织的全部潜力.

无服务器架构可以用来实现业务灵活性的最高境界,即持续部署.持续部署让任何合并到主干中的代码更改都自动升级到包括生产在内的所有环境.为了让这种方式在不影响用户的情况下工作,持续部署的系统显然需要从不同的角度进行严格的质量检查.

鉴于诸如基础架构配置和安全性等运营问题可以也应该在功能代码的开发阶段解决,基础设施堆栈就可以从一开始就配置好,或根据源代码仓库中包含的代码和配置进行更新.这些堆栈可以由提供商提供的原生工具(如 AWS 的 Cloud Formation),或其他通用工具(如 Hashicorp Terraform)进行管理.

通过全自动化的基础设施堆栈的配置和代码部署,就可以对任何环境进行应用或取消(回滚)变更,当然这其中也包括生产环境这一环节.为了保证万无一失,在部署或整个流程结束后需要自动在各个相关环境运行那些确保系统质量的测试案例,包括功能性和非功能性的测试.

每个人都是云工程师

无服务器架构模糊了软件交付过程中常涉及的各类技术角色之间的界限.传统的架构师、开发人员、测试人员、数据库管理员、运营和安全工程师将共同合作来发布系统并维护生产环境,在无服务器架构的世界中,这些角色都会被合并为云工程师.

正如许多传统开发过程已被移除或被大大简化一样,如今已经不再需要在项目中引入诸多专家.相反,具有广泛技能且熟悉云提供商平台的工程师就可以完成这些工作,甚至更多,同时也可以做得更快.许多开发和运营过程可以被合并到同一个周期内,并且可以完全消除昂贵的交接或从外部借用资源的成本.

但这并不意味着团队中不再拥有专门从事特定领域的人员,毕竟每个人会自然而然地更偏重于软件交付的某些方面,但理想情况下,团队中的每个成员都应该能够参与到发布一个功能的所有流程中,包括在生产环境中进行运营.这是激励所有工程师能在一开始就构建一个可维护的高质量软件的最佳方法.

实际上,与那些谈论着要拉近开发和运营距离的团队不同,使用无服务器的团队天生就有着 DevOps 的文化,即软件在开始构建阶段就准备着运行在生产环境中.

适者生存

无服务器架构可以用来实现终极的业务敏捷性.然而,这完全取决于组织理解无服务器架构全貌的能力.虽然许多组织仍在努力建立某种形式的 DevOps 文化和实践,无服务器架构提供了一种全新的方式来创建快速业务价值交付和稳定运营的文化,同时最大限度地降低成本.

并没有多少组织可以接受无服务器架构这个新领域所带来的挑战,因为整个领域仍然非常年轻并且还不成熟,所以要接纳它真的需要很大的勇气,因此需要大量额外的工作来弥补目前初级阶段所带来的差距及挑战.很多健全且愿意采纳无服务器架构的组织,可能会发现自己还在试图套用他们现有的流程和组织结构,并且失去他们已有的敏捷性,或更糟糕的是,还在建立和运行无服务器架构上花费了大量的精力.

那些希望能够充分利用无服务器架构来获得在市场中竞争优势的公司,可能不仅需要调整他们提供软件的方式,还需要改变其产品的创建和销售方式.

结论

无服务器架构不仅补充了 DevOps 的理念,更改进了当前 IT 组织实现更高业务敏捷性的观念.它致力于快速交付商业价值并持续改进和学习,这极有可能会带来文化上大范围的改变,甚至对那些已采用了 DevOps 文化和实践的组织也不例外.

使用无服务器架构不仅可以使组织更快更省地提供新产品和功能.它还将改变整个流程中的内在文化.

查看英文原文:Serverless Takes DevOps to the Next Level

作者介绍

Rafal Gancarz,OpenCredo 的首席顾问,OpenCredo 是一家位于伦敦的咨询公司,专门帮助客户构建并部署新兴技术以实现客户的业务价值.Rafal 是一位经验丰富的架构和大规模分布式系统发布方面的专家.他也是一位经验丰富的敏捷实践者和认证敏捷专家(Certified Scrum Master),他对改进项目交付抱有极大兴趣.在过去的 18 个月中 Rafal 使用 AWS 平台上的无服务器技术开发大型项目,并拥有使用无服务器堆栈构建企业级分布式系统的第一手经验.

文章来自微信公众号:细说云计算

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读