自动化部署

基于LInux平台的自动化运维Devops——自动化系统部署

DevOps简介

DevOps(DevelopmentOperations)是一种重视”软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的惯例,透过自动化“软件交付”和“架构变更”的流程,来使得构建,测试,发布软件能够更加地快捷,频繁和可靠。

DevOps是强调产品管理,软件开发和运营专业人员之间沟通和协作的软件开发过程。DevOps还可以自动化软件集成,测试,部署和基础设施变更过程。DevOps旨在建立一套快速、频繁、稳定地进行构 建,测试,发布软件的文化与环境

DevOps 是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系。不过需要澄清的一点是,从开发到运维,中间还有测试环节。DevOps 其实包含了三个部分:开发、测试和运维。

DevOps的好处

DevOps最大的好处就是可以实现高效交付,另外一个好处就是会改善公司组织文化,提高员工的参与感。

实现DevOps需要的内容

 自动化运维

自动化运维的背景

网站业务上线,需要运维人员在短时间内完成几百台服务器部署,包括系统安装,系统初始化,软件的安装与配置,性能的监控

所谓运维自动化,即在最少的人工干预下,利用脚本与第三方工具或自行开发的工具,保证业务系统快速上线,并可以高效稳定运行

自动化运维的体系结构

一个完善的运维自动化体系包括,系统预备、配置管理以及监控报警3个功能模块

自动化运维的发展

运维与自动化运维的发展概括

1、运维自动化发展,运维学习和发展的一个线路

        搭建服务(部署并运行起来)
         用好服务(监控、管理、优化)
        自动化(服务直接的关联和协同工作)
         产品设计(如何设计一个运维系统)
        系统架构师(偏管理):网络 系统 数据库 开发 云计算 自动化
        运维管理 服务管理 项目管理 测试 业务

运维自动化发展 运维工作内容分类:
        监控运维(7x24 运维值班、故障处理)
         应用运维(业务熟悉、服务部署、业务部署、版本管理、灰度发布、应用监控)
         安全运维(整体的安全方案、规范、漏洞检测、安全防护等)
         系统运维(架构层面的分布式缓存、分布式文件系统、日志收集、环境规划(测试、开发、生产)、架构 设计、性能优化)
         基础服务运维(包含运维开发)(内部dns 、负载均衡、系统监控、资产管理、运维平台)
         基础设施运维(系统初始化、网络维护、负责设备上下架、巡检、报修、硬件监控)
运维自动化发展 标准化:
        物理设备层面:
          1.服务器标签化、设备负责人、设备采购详情、设备摆放标准
          2.网络划分、远程控制卡、网卡端口
          3.服务器机型、硬盘、内存统一。根据业务分类
          4.资产命名规范、编号规范、类型规范
          5.监控标准
        操作系统层面:
          1.操作系统版本
          2.系统初始化( dns ntp 、内核参数调优、 rsyslog 、主机名规范)
          3.基础 agent 配置( zabbix agent logstash agent saltstack minion
          4.系统监控标准( cpu 、内存、硬盘、经常)
        应用服务层面:
          1.web服务选型( apache nginx
          2.进程启动用户、端口监听规范、日志收集规范(访问日志、错误日志、运行日志)
          3.配置管理(配置文件规范、脚本规范)
          4.架构规范( nginx+keepalievd lvs+keeplievd
          5.部署规范(位置、包命名等)
        运维操作层面:
          1.机房巡检流程(周期、内容、报修流程)
          2.业务部署流程(先测试、后生产、回滚)
          3.故障处理流程(紧急处理、故障升级、重大故障管理)
          4.工作日志标准(如何编写工作日志)
          5.业务上线流程(1. 项目发起 2. 系统安装 3. 部署应用 4. 解析域名 5. 测试 6. 加监控 7. 备份)
          6.业务下线流程(谁发起,数据如何处理)
          7.运维安全规范(密码复杂度、更改周期、 vpn 使用规范、服务登录规范)
运维自动化发展 工具化:
        1、 shell 脚本(功能性(流程)脚本、检查性、报表性)
        2、开源工具( zabbix elkstack saltstack cobbler
运维自动化发展 web
运维自动化发展 服务化( api 化)
        dns web 管理 bind-DLZ dns-api 、负载均衡web 管理 slb-api、job管理平台 job-api 、监控平台 zabbix zabbix-api 、操作系统安装平台 cobbler-api 、部署平台 deploy-api 、  配置管理平台 saltstack-api
          1、调用cobbler-api 安装操作系统
          2、调用 saltstack-api 进行系统初始化
          3、调用 dns-api 解析主机名
          4、调用 zabbix-api 该新上线机器加上监控
          5、再次调用 saltstack-api 部署软件( nginx-php
          6、调用 deploy-api 将当前版本代码部署到服务器上
          7、调用 test-api 测试当前服务运行是否正常
          8、调用 slb-api 将该节点加入集群
运维自动化发展 智能化
        智能化的自动化扩容、缩容、服务降级、故障自愈

自动化配置

优缺点对比

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐