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

 

相关文章
|
4月前
|
消息中间件 监控 NoSQL
容器化应用系统上生产的最佳实践
容器化应用系统上生产的最佳实践
|
25天前
|
移动开发 小程序 测试技术
项目管理和持续集成系统搭建问题之帮助以诺行管理任务和资源如何解决
项目管理和持续集成系统搭建问题之帮助以诺行管理任务和资源如何解决
29 2
|
27天前
|
消息中间件 运维 监控
软件环境管理问题之IaC管理环境中的问题如何解决
软件环境管理问题之IaC管理环境中的问题如何解决
|
1月前
|
JSON 持续交付 数据中心
基础设施即代码(IaC)的实现途径
【8月更文挑战第18天】基础设施即代码(IaC)是现代云计算和DevOps实践中不可或缺的一部分。通过编写代码来定义和管理基础设施,可以实现自动化、可重复性、易于维护和高度可扩展的基础设施管理。通过选择合适的工具和方法,遵循最佳实践,企业可以显著提升基础设施的部署效率和管理水平。
|
4月前
|
运维 监控 安全
全新的应用交付和部署工具
计算巢,一款全新的应用交付和部署工具,旨在让应用交付和部署变得更加高效便捷。在传统的应用部署模式下
46 1
|
11月前
|
Kubernetes 持续交付 开发者
《Docker与持续集成/持续部署:构建高效交付流程,打造敏捷软件交付链》
《Docker与持续集成/持续部署:构建高效交付流程,打造敏捷软件交付链》
112 0
|
敏捷开发 数据可视化 项目管理
敏捷项目是如何管理的?有哪些好用的工具
Leangoo领歌是一款永久免费的专业敏捷研发管理工具,提供敏捷研发解决方案,解决研发痛点,打造成功产品。帮助团队实现需求、迭代、缺陷、任务、测试、发布等全方位研发管理。
|
4月前
|
弹性计算 运维 负载均衡
【Terraform实现云服务基础设施既代码(IaC)案例实战-2】:通过Terraform实施基础IaC
前言树苗科技公司业务上云2年有余,随着技术的不断发展。运维团队支持业务变更配置、开资源、删资源等过程加班到深夜一两点已是家常便饭。为了进一步提升工作效率,运维总监张三决定对当前业务交付路径进行统一梳理,借助IaC的理念和Terraform自动化工具逐步实施运维生产自动化,改善组内成员频繁加班的现状。...
189 0
【Terraform实现云服务基础设施既代码(IaC)案例实战-2】:通过Terraform实施基础IaC
|
弹性计算 架构师 安全
基础设施自动化实践——用Terraform自动化构建云上环境
前言在我们平时的开发工作中,经常会遇到需要搭建各式各样的云上环境,比如项目开发环境、测试环境、部署环境、客户展示环境等。而有时这些搭建过程并不轻松,如可能涉及很多台ECS,可能对镜像或配置有特殊要求,可能涉及较为复杂的网络配置等。而对于这些较为复杂多变的环境部署要求,传统的人工手动配置方法,不仅耗时费力,还有一个很大的问题就是难以追踪管理、难以复用。比如负责搭建环境的架构师如果休假了,团队其他人很
706 0
基础设施自动化实践——用Terraform自动化构建云上环境
|
SQL 监控 数据可视化