IaC工具概要比较和IaC生产系统检查单

简介: IaC工具概要比较IaC生产系统检查单


IaC工具

 

首次发布

WebSite

语言

代理【被管理机器需安装】

主控服务器

类型

Puppet

2005

https://puppet.com/open-source/

声明性语言

Puppet Agent

可变基础设施

配置管理

Chef

2009

http://www.chef.io/chef/

过程性语言

Chef Client

可变基础设施

配置管理

CloudFormation

2011

AWS [闭源]

声明性语言

-

-

不可变基础设施

服务开通

SaltStack

2011

https://saltproject.io/

声明性语言

Salt Minion

可变基础设施

配置管理

Ansible

2012

https://www.ansible.com/

Redhat

过程性语言

-

-

可变基础设施

配置管理

Heat

2012

https://wiki.openstack.org/wiki/Heat

OpenStack Orchestration program

声明性语言

-

-

不可变基础设施

服务开通

Terraform

2014

https://www.terraform.io/

Automate Infrastructure on Any Cloud

声明性语言

-

-

不可变基础设施

服务开通

生产IaC检查清单

任务

描述

工具举例

安装

安装二进制软件包和依赖库

Bash. Chef. Ansible, Puppet

配置

软件运行期间的配置,包括端口、TLS证书、服务发现、主节点、从节点、复制等

Bash. Chef. Ansible. Puppet

服务开通

基础设施服务开通,包括服务器、负载平衡器、网络配置、防火墙设置、IAM权限等

Terraform CloudFormation

部署

在基础设施之上部署服务,无停机更新,包括蓝绿部署、浪动部署和金丝雀部署 Kubemetes, ECS

Terraform CloudFormation

Kubemetes, ECS

 

高可用性

在单个流程、服务器、服务、数据中心或区域发生 中断时,服务持续的能力

多数据中心、多区域、复制、自动缩放、负载均衡

扩展性

根据负载进行规模缩放、水平缩放(更多服务器)、垂直缩放(更大的服务器)

自动缩放、复制、分片、缓存、分治

性能

优化CPU、内存、磁盆,网络和GPU的使用。方法包括查询调整,基准测试、负载测试和分析

Dynatrace, valgrind, VisualVM. ab. Jmeter

 

网络

配置静态和动态IP、渴门、服务发现,防火墙、DNS, SSH 访问和VPN访问

VPC、防火墙、路山器,DNS

注册, OpenVPN

安全

传输中安全加密(TLS)和磁盘上的安全加密、身份验证、授权、机密管理、服务器强化

ACM, Let's Encrypt. KMS. Cognito.

Vault. CIS

度量指标

可用性指标、业务指标、应用指标、服务器指标、 事件、可观察性,跟踪和警报

CloudWatch. DataDog, New Relic,Honeycomb

备份和恢复

定期备份数据库,缓存和其他数据。复制到独立的区域/账户

RDS. ElastiCache, replication

成本优化

选择合适的实例类型,使用竞价型和预留实例、使用自动缩放,清除未使用的资源

自动缩放,竞价型实例,预留实例

文档

记录代码、体系结构和实践,创建剧本来应对事件

自述文件、Wiki, Slack

测试

为基础设施代码编写自动测试,在每次提交后运行测试、每晚运行测试

Terratest. Inspee, Serverspec.

kitchen-terraform

 

相关文章
|
3月前
|
消息中间件 监控 NoSQL
容器化应用系统上生产的最佳实践
容器化应用系统上生产的最佳实践
|
5天前
|
存储 安全 测试技术
持续集成、交付和部署简介
持续集成、交付和部署简介
15 1
|
20天前
|
监控 安全 Devops
DevOps实践:从持续集成到生产部署的无缝转换
本文旨在探讨DevOps文化下,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)如何协同工作,以实现软件开发流程的高效率和高质量。文章将通过一个具体案例分析,揭示CI/CD流水线的构建、监控和优化策略,并讨论在实施这些实践时可能遇到的挑战及解决途径。
33 0
|
3月前
|
运维 监控 安全
全新的应用交付和部署工具
计算巢,一款全新的应用交付和部署工具,旨在让应用交付和部署变得更加高效便捷。在传统的应用部署模式下
40 1
|
10月前
|
Kubernetes 持续交付 开发者
《Docker与持续集成/持续部署:构建高效交付流程,打造敏捷软件交付链》
《Docker与持续集成/持续部署:构建高效交付流程,打造敏捷软件交付链》
100 0
|
运维 前端开发 jenkins
前端自动化集成部署交付实践
随着前后端分离应用模式的推广,前端项目可独立部署维护上线,不再仅仅将前端开发后打包的文件直接丢到一个文件目录下就完事大吉了,现在对前端来说也需要了解运维的相关知识,本文旨在介绍一些相关的运维概念以及一些前端运维的实践。
319 0
|
传感器 存储 运维
「IT运维」集成和自动化的平台 StackStorm概述
「IT运维」集成和自动化的平台 StackStorm概述
|
3月前
|
弹性计算 运维 负载均衡
【Terraform实现云服务基础设施既代码(IaC)案例实战-2】:通过Terraform实施基础IaC
前言树苗科技公司业务上云2年有余,随着技术的不断发展。运维团队支持业务变更配置、开资源、删资源等过程加班到深夜一两点已是家常便饭。为了进一步提升工作效率,运维总监张三决定对当前业务交付路径进行统一梳理,借助IaC的理念和Terraform自动化工具逐步实施运维生产自动化,改善组内成员频繁加班的现状。...
160 0
【Terraform实现云服务基础设施既代码(IaC)案例实战-2】:通过Terraform实施基础IaC
|
弹性计算 架构师 安全
基础设施自动化实践——用Terraform自动化构建云上环境
前言在我们平时的开发工作中,经常会遇到需要搭建各式各样的云上环境,比如项目开发环境、测试环境、部署环境、客户展示环境等。而有时这些搭建过程并不轻松,如可能涉及很多台ECS,可能对镜像或配置有特殊要求,可能涉及较为复杂的网络配置等。而对于这些较为复杂多变的环境部署要求,传统的人工手动配置方法,不仅耗时费力,还有一个很大的问题就是难以追踪管理、难以复用。比如负责搭建环境的架构师如果休假了,团队其他人很
673 0
基础设施自动化实践——用Terraform自动化构建云上环境
|
SQL 监控 数据可视化