基础设施即代码(IaC)的核心,在于以代码形式替代手动流程,高效对基础设施进行管理与配置。使用IaC,就可以创建包含基础设施规范的配置文件,极大简化配置的编辑与分发过程,同时确保每一次都能提供完全相同的稳定运营环境。通过编纂并记录配置规范,IaC还将帮助企业管理配置选项、避免一切未经记录的临时配置变更。
选择基础设施即代码部署方法,还意味着企业可以将自己的基础设施划分为多个模块化组件,而后以自动化方式灵活拼合各具体组件。IaC提供的基础设施配置自动化功能,可帮助开发者摆脱对服务器、操作系统、存储及其他基础设施组件的手动配置及管理,极大提升应用程序的开发与部署效率。
IaC的声明式与命令式实现方法
IaC的实现方法分为两种——声明式与命令式。
声明式方法意在明确定义系统的预期状态,包括需要哪些资源、各资源应具备何种属性,再由IaC工具据此做出配置。声明式方法还能为系统对象保留一份当前状态列表,显著降低基础设施的关停管理难度。与之对应,命令式方法则强调达成所需配置时执行的特定命令,再以正确的顺序依次执行这些命令。
多数IaC工具选择使用声明式方法,并自动提供必要的基础设施配置方案。如果开发者对预期状态做出修改,声明式IaC工具将自动为应用变更内容。另一方面,命令式工具则要求开发者清晰理解要如何操作并应用这些变更。
大部分IaC工具虽然同时支持这两种方法,但在具体实现上往往会倾向于其中一种。
IaC的优势
基础设施的配置工作历来是个极度耗时且成本高昂的手动流程。如今的基础设施管理已经由数据中心物理硬件转变为虚拟化、容器与云计算形式,因此操作方式也该做出对应调整。
随着云计算的发展,基础设施组件的数量不断增加,每天都有更多应用程序被发布至生产环境当中,同时要求对基础设施进行频繁启动、扩展与关闭。如果没有适当的IaC实践,大规模现代基础设施带来的管理难题势必愈发令人头痛。
IaC能够帮助企业妥善管理IT基础设施需求、提高一致性、同时降低错误数量及手动配置需求。总的来看,IaC的优势在于降低成本、提高部署速度、减少错误、提高基础设施一致性、消除配置漂移。
除了常见的服务器自动化与配置管理工具,我们还可以选择专门用于IaC的解决方案。
下面来看几种流行的方案选项:
• Chef
• Puppet
• Red Hat Ansible Automation Platform
• Saltstack
• Terraform
• AWS CloudFormation
IaC对于DevOps有何重要意义?
IaC是实施DevOps及持续集成/持续交付(CI/CD)的重要组成部分。IaC帮助开发人员分担掉大部分配置工作,确保开发者只需执行脚本即可建立起就绪待用的基础设施。如此一来,应用程序部署工作不会因基础设施搭建周期而陷入停顿,系统管理员也不必承担费心耗时的手动管理流程。
CI/CD的实现,则依赖于整个应用程序生命周期中涵盖集成、测试、交付及部署的持续自动化与持续监控机制。实现环境自动化的前提,在于环境一致化。如果开发团队以一种方式部署应用程序或配置环境,但运营团队的部署及配置方式完全不同时,应用程序的自动化部署将无从谈起。
以DevOps方法为开发及运营团队提供协调支持,能够极大改善流程中的错误、手动部署与一致性冲突等问题。IaC可保证两支团队使用完全相同的应用程序部署方式与DevOps协同策略,真正将开发与运营工作融合起来。各个环境均应使用相同的部署流程,其中包括实际生产环境。IaC则能保证每次生成的环境都完全相同。IaC还能彻底消除了无法自动复制的特定配置维护单一部署环境的情况,确保整个生产环境乃至运营体系始终保持一致。
DevOps最佳实践同样适用于IaC中的基础设施。基础设施可以使用软件开发期间的相同CI/CD管道,并对基础设施代码进行相同的测试与版本控制。
红帽助力实现自动化
在企业之内全面推行自动化方法不仅有助于提升IT流程效率,还能将自动化元素引入整个技术、团队及组织结构。
Red Hat Ansible Automation Platform 包含企业内部自动化所需要的全部工具,例如playbook、可视化仪表板及分析工具等等。以YAML编写而成的Ansible Playbooks可描述系统所需要的状态,具体状态信息通常保存在源代码控制之内。Red Hat Ansible Automation Platform则负责让系统达到所需状态,无论其当前状态如何。
Ansible Automation Platform还能让安装、升级与日常管理等操作全面实现可重复性与高可靠性。
此外,Red Hat Ansible Automation Platform还在Forrester Research评选的2020年第三季度Forrester Wave™: 基础设施自动化平台中获得“领军级”评价。在强有力的自动化解决方案的支持下,企业得以加快应用程序与服务的部署速度、提升IT基础设施管理效率,最终全面增强应用程序的开发能力。
好文章,需要你的鼓励
这项研究针对现代文档检索系统中的关键缺陷:独立处理文档片段导致丢失上下文信息。研究团队开发了ConTEB基准测试来评估模型利用文档级上下文的能力,并提出了InSeNT方法,结合后期分块和创新的对比学习策略。实验表明,上下文感知嵌入显著提升检索性能,尤其在处理非自包含文本片段时,同时保持计算效率,对分块策略更具鲁棒性,并且在语料库规模扩大时表现更佳。这一研究为更智能的文档检索系统铺平了道路。
这项由布朗大学和Cohere实验室研究者联合进行的研究全面分析了大型语言模型(LLM)安全研究中的语言不平等现象。通过系统回顾近300篇2020-2024年间的安全相关论文,研究发现LLM安全研究严重偏向英语,即使中文这样的高资源语言也仅获得英语十分之一的研究关注,且这一差距正在扩大。研究还揭示非英语语言很少作为独立研究对象,且英语安全研究常忽略语言覆盖文档化。为解决这一问题,研究者提出了三个未来方向:开发文化敏感的评估基准、创建多语言安全训练数据,以及深入理解跨语言安全泛化挑战。
这项研究提出了ChARM,一种创新的角色扮演AI奖励建模框架,通过行为自适应边界和自我进化策略大幅提升AI角色的真实性和一致性。研究团队创建了包含1,108个角色的RoleplayPref数据集,实验表明ChARM比传统模型提高了13%的偏好排名准确率,应用于DPO技术后在多项基准测试中达到了领先水平。这一突破将为娱乐、教育和心理健康支持等领域带来更加自然、个性化的AI互动体验。
这篇研究重新审视了循环神经网络中的双线性状态转换机制,挑战了传统观点。高通AI研究团队证明,隐藏单元不仅是被动记忆存储,更是网络计算的积极参与者。研究建立了一个从实数对角线到完全双线性的模型层级,对应不同复杂度的状态跟踪任务。实验表明,双线性RNN能有效学习各种状态跟踪任务,甚至只需极少量训练数据。研究还发现,纯乘法交互比加法交互更有利于状态跟踪,为循环网络设计提供了新视角。