探索了云化 容器化环境的下一阶段

导读 在过去的几年中,企业软件环境已经变得云雾化和容器化,从而将数据中心的定义从企业墙壁内的房间扩展到了全球范围内高度分散的计算机网络。

在过去的几年中,企业软件环境已经变得云雾化和容器化,从而将“数据中心”的定义从企业墙壁内的房间扩展到了全球范围内高度分散的计算机网络。云计算意味着不再需要服务器位于何处或由谁维护服务器。Docker的兴起帮助打开了容器的概念,为应用程序和基础系统引入了前所未有的可移植性。然后,Kubernetes成为了一个针对容器丰富的环境的关键编排工具,推动了DevOps革命。

随着云,容器和Kubernetes逐渐融入企业中,团队现在正专注于更灵活的基础架构和生态系统,而新兴的平台HashiCorp的Terraform引起了很多关注。

ThoughtWorks在其最新的Technology Radar中研究了云化和容器化的企业软件领域中的Terraform和其他开发,该技术探究了其团队和客户所使用的技术。ThoughtWorks团队对Terraform感到非常兴奋:

“通过编写声明性定义,Terraform正迅速成为创建和管理云基础架构的事实上的选择。我们喜欢Terraform,因为其文件的语法可读性强,并且因为它支持许多云提供商,而没有尝试提供人为的抽象。活跃的社区将增加对大多数云提供商的最新功能的支持,大约在两年前,我们第一次谨慎地提到Terraform之后,它就得到了持续发展,并已发展成为具有良好生态系统的稳定产品在我们的项目中证明了它的价值。”

ThoughtWorks团队还建议采用以下领先技术和技巧:

微型前端: “ 微服务使团队能够扩展独立部署和维护的服务的交付,” ThoughtWorks的分析师解释说。“不幸的是,我们还看到许多团队创建了前端整体,这是一个大型的,纠缠的浏览器应用程序,位于后端服务之上。自从我们首次将微型前端描述为解决这一问题的技术以来, ,我们在此方法上几乎获得了普遍的积极经验。到目前为止,Web组件在该领域一直难以捉摸。”

固执己见的自动代码格式化: “使用哪种样式来格式化代码一直取决于个人喜好,公司政策和激烈的辩论。最后,业界似乎厌倦了这种无休止的争论,并且团队正在腾出惊人的大量时间通过放弃这些讨论并只采用自以为是的自动代码格式化工具。”

Polyglot编程: “我们看到开发人员和企业都在推动标准化语言堆栈的新努力。尽管我们认识到对语言使用不加限制会带来比解决方案更多的问题,从而促进了支持不同生态系统或语言功能的几种语言对于两家企业来说,加速流程和更快地运行以及开发人员拥有合适的工具来解决眼前的问题至关重要。”

秘密即服务:软件构建管道“需要与安全基础结构(例如,容器注册表)对接的秘密,应用程序将API密钥用作用于访问业务功能的秘密,并且服务对服务之间的通信使用证书和密钥来保护”我们一直在使用秘密作为服务,作为存储和访问秘密的默认技术。通过这种技术,您可以使用Vaul t或AWS Key Management Service(KMS)之类的工具通过HTTPS端点通过以下方式读取/写入秘密:访问控制的细粒度级别。“秘密即服务”使用外部身份提供程序(例如AWS IAM)来识别请求访问秘密的参与者,参与者通过秘密服务对自己进行身份验证。”

UI开发环境:“随着越来越多的团队使用DesignOps,在该领域中的实践和工具已经成熟。UI开发环境提供了一个快速迭代UI组件的综合环境,着重于用户体验设计师和开发人员之间的协作。我们现在拥有一些在这个领域中的选项:Storybook, React Styleguidist,Compositor和MDX。许多团队能够减少UI反馈周期并改善UI工作的时机,为开发工作做准备,这使UI开发环境成为我们的合理默认选择。”

起泡

此外,ThoughtWorks团队还看到了许多有前途的新工具和技术在不断涌现。以下是引用的工具和技术的样本,这些工具和技术仍需要进一步的评估和实际测试,但是值得研究:

智能合约: “在[ 分布式账本技术 ] 上签订自动化,不可辩驳,不可逆的合约在理论上听起来很棒,” ThoughtWorks团队说。“当您考虑如何使用现代软件交付技术来开发它们以及实现之间的差异时,就会出现问题。不可变数据是一回事,而不可变业务逻辑则完全是另外一回事。考虑是否包括在内确实很重要智能合约中的逻辑。我们的建议是,在将业务逻辑提交到智能合约之前要三思而行,然后再权衡不同平台的优点。”

道德的操作系统:“道德操作系统是一个思维框架和一套工具,可推动围绕构建软件道德的讨论。该框架是未来研究院与技术与社会解决方案实验室之间的合作。它基于一组实际的风险区域(例如成瘾和多巴胺经济),以及许多情景来推动对话和讨论。”

CloudEvents:“在功能代码本身之外,编写为无服务器功能的应用程序与托管它们的云平台紧密耦合。尽管事件是常见的FaaS触发机制,并且每个云提供商都以某种形式支持它们,但当前的专有规范防止跨云的互操作性CloudEvents规范是一个新兴的标准,已被CNCF Sandbox接受。该标准仍在积极开发中,但存在多种语言绑定,Microsoft已宣布在Azure中提供一流的支持。我们希望其他云提供者将效仿。”

基尼特语:“ Knative是运行FaaS工作负载的基于Kubernetes的开源平台。Knative的一些突出之处:它与开源和提供商无关;它实现了无服务器工作流;它通过实现事件来确保跨服务的互操作性。符合CNCF CloudEvents规范的界面;最重要的是,它解决了操作统一但又混合的FaaS和长期运行的基于容器的体系结构所面临的共同挑战。它易于与

免责声明:本文由用户上传,如有侵权请联系删除!