基础设施即代码(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基础设施管理效率,最终全面增强应用程序的开发能力。
好文章,需要你的鼓励
许多CIO在实施AI战略时因良好初衷反而导致失败。专家指出,仅为AI而做AI会浪费资金且无实际成果,应先评估业务价值。CIO常见错误包括:让风险规避型利益相关者施加过度限制、仅依赖现成AI工具而不深度整合、在人员和流程问题未解决时强推技术转型。成功的关键是确保AI解决方案真正节省时间并带来业务价值,需要有权威的负责人推动决策,同时不惧怕小规模试错,快速迭代改进。
谷歌研究院开发出一种革命性的人工智能技术,通过学习人类眼动轨迹来提升视觉问答能力。该技术像训练侦探一样教会AI关注图像中的关键区域,准确率提升3-10%。研究发表于CVPR 2024,在教育、医疗、无人驾驶等领域具有广阔应用前景,为AI向人类智慧靠近开辟了新路径。
Kahoot是一个基于游戏的学习平台,涵盖科学、历史、地理、英语和数学等领域。该平台于2023年推出AI功能,AI生成器可从主题、文档、网站或视频链接即时创建互动学习体验,帮助教师减少备课时间,让学习更具吸引力和个性化。平台支持50种语言,拥有120亿用户,还提供翻译工具和AI驱动的学习推荐功能。
英国卡迪夫大学研究团队通过脑电图技术发现,当人们体验虚假听觉(即"听到"实际不存在的语音)时,大脑的神经活动模式与听到真实声音时几乎相同。研究揭示了大脑会根据语言经验和上下文自动"填补"缺失的语音片段,这一发现对理解听觉障碍、改进助听设备以及开发更智能的语音识别系统具有重要意义。