Why need?

Traditional IT and Challenges

  • 传统的业务模式: 根据业务增长及下降 => 制定架构 => 按需采购 => 不同基础设施(系统,网络,存储等)自行部署 => 应用部署

    image-20240324095249773

  • 云时代解决方案: 根据业务增长及下降 => 制定架构 => 按需采购 => 使用 云厂商(AWS, Aliyun, Azure)提供的基础设施 => 应用部署

    image-20240324101628208

  • 尽管使用 云厂商 提供的服务,能够解决 传统业务模式的大部分问题(部署慢,运维价格高等),但是由于需要手工操作资源(通过界面或脚本等方式),仍然存在人为错误及非一致性的问题

What is?

IaC

  • 通过代码的方式(shell,terraform等)操作云厂商提供的资源

  • 常用 IaC 工具

    image-20240324102653913

terraform

  • 封装了各云厂商的 API,通过 HCL 管理资源
  • 执行幂等:相同内容多次执行最终结果一致

How to use?

image-20240324211004542

Reference