何为基础设施即代码?

基础设施即代码 (IaC) 是一种管理 IT 系统基础架构的方法,依赖于使用可重复的配置文件来为 CI/CD 开发生成一致的部署环境。

何为基础设施即代码?

基础设施即代码是指通过声明式或脚本式定义(代码)而非通过手动配置或使用传统配置工具来配置和管理基础架构(包括硬件、虚拟资源、平台、容器系统、服务和拓扑)。IaC 将配置、策略、配置文件、脚本和模板与部署它们的硬件或软件分开,原因在于其可以像代码一样予以存储、共享、修改和应用。

随着云基础设施的普及,这种来自于 DevOps 思维方式的方法也相应得到了发展,并将同样的版本控制和可重复性应用于基础设施的协调,好比开发人员用于应用源代码一样。IaC 方法通过每次应用时创建相同的基础设施环境来支持持续集成、交付和部署。

为何基础设施即代码如此重要?

拥有像对待代码一样对待基础设施的能力可以为基础设施管理带来自动化、可见性、效率和可扩展性等优势,如此一来,便可以更快速、更可靠地部署应用,减少手工作业和人为错误或降低安全漏洞风险。由于配置与系统可以各自独立,因此可以更容易地在其他位置的类似系统上进行部署。通过这种方式,可以减少从数据中心迁移到云或从一种云平台迁移到其他云平台的挑战。

IaC 还支持敏捷开发和 CI/CD 策略,确保沙箱、测试和生产环境将是相同的,并随着时间的推移保持一致,因为都是用相同的声明性代码或脚本配置而成。

基础设施即代码的运行原理为何?

服务器、负载均衡器、虚拟机和其他数据中心或云资源的 IaC 配置可以通过指定指令的命令式方法(不详细说明结果)或指定所需配置结果的声明式方法(不详细说明如何实现,可以基于已有的工作流程和模板)来完成。这两者之间的区别可以用制作三明治这一比喻,相信三明治制作者知道要采取哪些步骤和顺序(声明式);或者指定制作三明治所需的每一个步骤,但不一定要提到这些是要做成三明治(命令式)。

无论是使用声明式或命令式方法,IaC 都能实现预配和基础设施管理的自动化。

F5 如何管理基础设施即代码?

F5 BIG-IP 平台可以通过插件或 F5 Application Services 3 (AS3) 扩展来“作为代码”,用于 Terraform 和 Ansible 等 IaC 配置和版本工具。

F5 Automation Toolchain 包含 AS3 扩展和 F5 Declarative Onboarding (DO) 扩展。AS3 是一种低开销的灵活机制,基于 JSON 声明,用于配置 BIG-IP 系统上的 L4-L7 应用服务。DO 扩展可实现 BIG-IP 产品的 L1-L3 声明式上线。