任务 | 描述 | 工具举例 |
安装 | 安装二进制软件包和依赖库 | Bash. Chef. Ansible, Puppet |
配置 | 软件运行期间的配置,包括端口、TLS证书、服务发现、主节点、从节点、复制等 | Bash. Chef. Ansible. Puppet |
服务开通 | 基础设施服务开通,包括服务器、负载平衡器、网络配置、防火墙设置、IAM权限等 | Terraform CloudFormation |
部署 | 在基础设施之上部署服务,无停机更新,包括蓝绿部署、浪动部署和金丝雀部署 Kubemetes, ECS | Terraform CloudFormationKubemetes, 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 |