精华内容
下载资源
问答
  • 规范化。。。呃,这个东西看你要有多规范了,给你个cmmi定义的5个层次做参考吧。1. 手工作坊式,即产品质量全靠开发人员的个人英雄主义做法,无法...2. 已经有了一些流程,进行一定的监控控制,可以保证开发新产...
    <article>
    	<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
    							
    							            <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-e2445db1a8.css">
    					<div class="htmledit_views">
    
    规范化。。。呃,这个东西看你要有多规范了,给你个cmmi定义的5个层次做参考吧。
    1. 手工作坊式,即产品质量全靠开发人员的个人英雄主义做法,无法保证开发新产品能有同样的质量。
    2. 已经有了一些流程,进行一定的监控和控制,可以保证开发新产品有同样的质量。
    3. 标准的流程,明确的出入口条件。
    4. 可度量的,有了明确的量度,可以对过程和结果进行数字化的度量以计算完成度。
    5. 自优化的,预防性的,可以预估行为,过程,结果,应用新技术,进行相应措施优化过程。
    
    
    

    为什么IT运维需要自动化? 

    所谓IT运维管理的自动化是指通过将日常IT运维中大量的重复性工作,小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度,由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的IT运维。简单的说,IT运维自动化是指基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发生性能超标或宕机,会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制。自动化工作平台还可帮助IT运维人员完成日常的重复性工作(如备份,杀毒等),提高IT运维效率。同时,IT运维的自动化还要求能够预测故障、在故障发生前能够报警,让IT运维人员把故障消除在发生前,将所产生损失减到最低。

    运维应包括如下:

    • 环境定义:开发环境、测试环境、类生产环境、生产环境等。
    • 部署:能够将部署包有效的部署到不同的环境。
    • 监控:能够监控部署后的系统和应用。
    • 告警:出现问题时的响应和处理机制。
    • 性能优化:系统各个服务如Nginx/Java/PHP/DB/网络的优化。
    • SLA保障:通常要和业务相关部门讨论确定。

    image

    服务治理、任务调度、集群协同、调用链分析、接口质量、SQL质量、实时日志等

    打包、自动化测试、检测、灰度发布、分区上线、运维自动化、配置标准化、指令标准化等

    分布式框架、存储&缓存中间件、自动化测试、云搜索、开放平台、营销平台等基础设施

     

    自建技术基础设施(开源+自研) 

    •自动化发布系统——灰度发布、分区发布 
    •运维配置自动化系统——运维系统自动发现、标准化配置 
    •原子指令系统——支持数百台服务器、数百个原子脚本操作 
    •搜索平台——支持数百个索引、上亿条数据 
    •推荐计算平台——支持数亿用户数据计算 
    •API自动化测试系统、Mock模拟测试系统——支持接口的自动化测试、模拟测试、Web自动化测试 
    •API放水系统、SQL防水系统——治理系统不合理调用 
    •实时日志系统——支持Nginx、Tomcat、BI实时日志和离线跟踪 
    •分布式开发框架——统一分布式通信 
    •配置分发系统——支持配置项、集群服务发现 
    •MQ分布式消息中间件(推模式IDP、拉模式Kafka)——1500w/周一~周五,600w/周六日 
    •KV分布式缓存系统中间件(Memcached、Redis、Tair)——亿级数据缓存、95%命中率 
    •LPFS分布式文件中间件(MongoDB)——MongoDB、图片、文件 
    •DB数据库分库分表中间件(MySQL)——无限数据量扩展 
    •分布式任务调度中间件(Schedule)——支持100+服务、200+/日个分布式任务调度 
    •Push统一消息推送平台——每日100w+推送量,推送至Android、iOS、Email、SMS、微信、Comet

     

    依赖开源的技术栈 
    •语言:Java(Tomcat/Spring) Shell(运维) Nodejs(前端)  Android iOS 
    •分布式:ActiveMQ Kafka Zookeeper Router服务发现 Cat 
    •存储:Mysql Mongodb Tair Memcached Redis 
    •计算:Solr ElasticSearch Hadoop HBase Storm Spark 
    •运维:Linux Nginx Puppet Zabbix OpenStack 
    •项目管理:Eclipse Git Maven构建 Hudson持续集成 Confluence知识分享  DMS项目管理

     

    image

    image

    image

     

    开发阶段Code/build 
    •开发框架 
    •|-web开发框架Swift 
    •|-nodejs前端开发框架 
    •|-ios移动开发框架 
    •|-android开发框架 
    •|-shell脚本自动化 
    •分布式中间件 
    •|-分布式调用RPC 
    •|-实时推送comet 
    •|-推消息队列IDP 
    •|-拉消息队列Kafka 
    •|-配置系统Zookeeper 
    •|-调度系统Scheduler 
    •存储中间件 
    •|-关系存储mysql 
    •|-文件存储mongodb 
    •|-KV存储tair 
    •|-二级缓存redis 
    •|-一级缓存memcached 
    •计算平台 
    •|-云搜索 
    •|-推荐 
    •|-大数据计算 
    •|-网页解析 
    •|-文本解析 
    •|-Word预览 
    测试阶段Test/ci 
    •|-API自动化测试 
    •|-API模拟测试Mock 
    •|-Web自动化测试Selenium 
    •|-微信测试WXTest 
    •|-Open测试KATest 
    •|-测试环境发布 
    上线阶段Release/deploy 
    •|-发布系统 
    •|-运维系统 
    •|-代码检测Builder运维阶段 
    运维系统Monitor 
    •|-自动化系统 
    •|-监控系统Zabbix 
    •|-雷达日志系统 
    •|-Puppet/Mco

    服务治理Service 
    •|-API放水系统APIWater 
    •|-SQL放水系统MonyogSQL 
    •|-Router服务中心 
    •|-配置分发系统 
    •|-调度系统Scheduler 
    •|-调用链系统Cat运营阶段 
    •开放平台 
    •|-微信平台Weixin 
    •|-微博平台Weibo 
    •|-电话平台Jiya 
    •|-支付平台Pay 
    •|-开放平台API 
    •|-SEO平台Resource 
    •运营平台Channel 
    •|-推送平台Push 
    •|-短信平台Push 
    •|-邮件平台Mail 
    •|-微信平台Open 
    •|-私信平台MessageCode

    image

     

    1、分布式服务架构

    image

    服务发现、通信、控制 
    分布式注册中心Router: 
    •同步调用RPC 
    •服务协议:HTTP协议/心跳检测 
    •服务发现:集群信息统一文件Router.conf 
    •负载均衡 
    •异步调用MQ 
    •推模式:开发快、稳定、实时快 
    •拉模式:可回溯、日志收集、数据同步 
    •分布式任务调度 
    •Schedule调度系统 
    •分布式事务控制 
    •Swift开发框架:交易型事务的一致性

    2、运维研发的自动化体系

    image

    运维配置标准化3大层次


    •2.1、硬件标准化: 
    •-机器标准化:机房、机架位、交换机、机器 
    •-资源标准化:IP、DNS 
    •-配置标准化:机器配置自动化采集、标准化检测,KVM化 
    •2.2、软件标准化: 
    •-软件安装标准化:tomcat jdkmemcachedredis… 
    •-Nginx标准化:域名、配置、发布 
    •2.3、项目标准化: 
    •-项目配置标准化:S区、A区、B区、C区 
    •-支持多种项目:tomcat、java、nodejs、Python、ios\Android

     

    2.1、硬件标准化—自动化采集

    image

    image

    2.2、软件标准化—统一软件规格

    image

    2.2、软件标准化—自动化安装卸载

    image

    2.2、软件标准化—服务自动管理

    image

    2.2、Nginx标准化—自动配置300域名

    image

    image

     

    3、项目发布自动化体系 
    •3.1、代码发布系统 
    •-灰度发布 
    •-分区发布:泳道发布 

    •3.2、配置发布系统 
    •-发布配置信息 
    •-集群协作:Solr、Kafka 

    •3.3、原子指令 
    •-系统级操作 
    •-系统操作日志

     

    4、服务治理体系 
    •服务健康状态检测 
    •分布式任务调度(Schedule) 
    •调用链分析(Cat) 
    •实时日志监测(雷达系统) 
    •API质量治理(APIWater) 
    •SQL质量治理(Monyog)

    4.1、服务健康状态检测

    4.2、分布式任务调度Schedule

    分布式调度中心: 
    •基于Mina分布式协调 
    •选择服务的单点调度 
    •多点服务failover 
    •长时间任务断点续传 
    •任务依赖调度

     

    4.3、调用链分析Cat

    4.4、实时日志监测(雷达系统)

    •实时日志查看 
    •历史日志分析 
    •用户或IP追踪 
    •日志统计

    image

    4.4、实时日志监测

    4.6、SQL质量治理(Monyog) 
    •MySQL性能监控工具MONyog,分析慢SQL 
    •程序打印慢SQL日志 
    •优化索引、表结构

    5、测试环境的自动化构建

    6、自动化测试

        自动化测试—API自动化测试

        自动化测试—Web自动化测试 
         •Selenium—Web页面的自动化测试

        自动化测试—Mock模拟测试


    以上内容部分来自网络, 希望对您系统架构设计,软件研发有帮助。

            </div>
                </div>
    		</article>
    <div>转载:<a href="https://blog.csdn.net/enweitech/article/details/71525507">https://blog.csdn.net/enweitech/article/details/71525507</a></div>
    
    展开全文
  • 2. 已经有了一些流程,进行一定的监控控制,可以保证开发新产品有同样的质量。3. 标准的流程,明确的出入口条件。4. 可度量的,有了明确的量度,可以对过程结果进行数字化的度量以计算完成度。5. 自优化的,预防...
    规范化。。。呃,这个东西看你要有多规范了,给你个cmmi定义的5个层次做参考吧。
    1. 手工作坊式,即产品质量全靠开发人员的个人英雄主义做法,无法保证开发新产品能有同样的质量。
    2. 已经有了一些流程,进行一定的监控和控制,可以保证开发新产品有同样的质量。
    3. 标准的流程,明确的出入口条件。
    4. 可度量的,有了明确的量度,可以对过程和结果进行数字化的度量以计算完成度。
    5. 自优化的,预防性的,可以预估行为,过程,结果,应用新技术,进行相应措施优化过程。
     
     

    为什么IT运维需要自动化? 

    所谓IT运维管理的自动化是指通过将日常IT运维中大量的重复性工作,小到简单的日常检查、配置变更和软件安装,大到整个变更流程的组织调度,由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的IT运维。简单的说,IT运维自动化是指基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发生性能超标或宕机,会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制。自动化工作平台还可帮助IT运维人员完成日常的重复性工作(如备份,杀毒等),提高IT运维效率。同时,IT运维的自动化还要求能够预测故障、在故障发生前能够报警,让IT运维人员把故障消除在发生前,将所产生损失减到最低。

    运维应包括如下:

    • 环境定义:开发环境、测试环境、类生产环境、生产环境等。
    • 部署:能够将部署包有效的部署到不同的环境。
    • 监控:能够监控部署后的系统和应用。
    • 告警:出现问题时的响应和处理机制。
    • 性能优化:系统各个服务如Nginx/Java/PHP/DB/网络的优化。
    • SLA保障:通常要和业务相关部门讨论确定。

    image

    服务治理、任务调度、集群协同、调用链分析、接口质量、SQL质量、实时日志等

    打包、自动化测试、检测、灰度发布、分区上线、运维自动化、配置标准化、指令标准化等

    分布式框架、存储&缓存中间件、自动化测试、云搜索、开放平台、营销平台等基础设施

     

    自建技术基础设施(开源+自研)  •自动化发布系统——灰度发布、分区发布  •运维配置自动化系统——运维系统自动发现、标准化配置  •原子指令系统——支持数百台服务器、数百个原子脚本操作  •搜索平台——支持数百个索引、上亿条数据  •推荐计算平台——支持数亿用户数据计算  •API自动化测试系统、Mock模拟测试系统——支持接口的自动化测试、模拟测试、Web自动化测试  •API放水系统、SQL防水系统——治理系统不合理调用  •实时日志系统——支持Nginx、Tomcat、BI实时日志和离线跟踪  •分布式开发框架——统一分布式通信  •配置分发系统——支持配置项、集群服务发现  •MQ分布式消息中间件(推模式IDP、拉模式Kafka)——1500w/周一~周五,600w/周六日  •KV分布式缓存系统中间件(Memcached、Redis、Tair)——亿级数据缓存、95%命中率  •LPFS分布式文件中间件(MongoDB)——MongoDB、图片、文件  •DB数据库分库分表中间件(MySQL)——无限数据量扩展  •分布式任务调度中间件(Schedule)——支持100+服务、200+/日个分布式任务调度  •Push统一消息推送平台——每日100w+推送量,推送至Android、iOS、Email、SMS、微信、Comet

     

    依赖开源的技术栈  •语言:Java(Tomcat/Spring) Shell(运维) Nodejs(前端)  Android iOS  •分布式:ActiveMQ Kafka Zookeeper Router服务发现 Cat  •存储:Mysql Mongodb Tair Memcached Redis  •计算:Solr ElasticSearch Hadoop HBase Storm Spark  •运维:Linux Nginx Puppet Zabbix OpenStack  •项目管理:Eclipse Git Maven构建 Hudson持续集成 Confluence知识分享  DMS项目管理

     

    image

    image

    image

     

    开发阶段Code/build  •开发框架  •|-web开发框架Swift  •|-nodejs前端开发框架  •|-ios移动开发框架  •|-android开发框架  •|-shell脚本自动化  •分布式中间件  •|-分布式调用RPC  •|-实时推送comet  •|-推消息队列IDP  •|-拉消息队列Kafka  •|-配置系统Zookeeper  •|-调度系统Scheduler  •存储中间件  •|-关系存储mysql  •|-文件存储mongodb  •|-KV存储tair  •|-二级缓存redis  •|-一级缓存memcached  •计算平台  •|-云搜索  •|-推荐  •|-大数据计算  •|-网页解析  •|-文本解析  •|-Word预览  测试阶段Test/ci  •|-API自动化测试  •|-API模拟测试Mock  •|-Web自动化测试Selenium  •|-微信测试WXTest  •|-Open测试KATest  •|-测试环境发布  上线阶段Release/deploy  •|-发布系统  •|-运维系统  •|-代码检测Builder运维阶段  运维系统Monitor  •|-自动化系统  •|-监控系统Zabbix  •|-雷达日志系统  •|-Puppet/Mco

    服务治理Service  •|-API放水系统APIWater  •|-SQL放水系统MonyogSQL  •|-Router服务中心  •|-配置分发系统  •|-调度系统Scheduler  •|-调用链系统Cat运营阶段  •开放平台  •|-微信平台Weixin  •|-微博平台Weibo  •|-电话平台Jiya  •|-支付平台Pay  •|-开放平台API  •|-SEO平台Resource  •运营平台Channel  •|-推送平台Push  •|-短信平台Push  •|-邮件平台Mail  •|-微信平台Open  •|-私信平台MessageCode

    image

     

    1、分布式服务架构

    image

    服务发现、通信、控制  分布式注册中心Router:  •同步调用RPC  •服务协议:HTTP协议/心跳检测  •服务发现:集群信息统一文件Router.conf  •负载均衡  •异步调用MQ  •推模式:开发快、稳定、实时快  •拉模式:可回溯、日志收集、数据同步  •分布式任务调度  •Schedule调度系统  •分布式事务控制  •Swift开发框架:交易型事务的一致性

    2、运维研发的自动化体系

    image

    运维配置标准化3大层次

    •2.1、硬件标准化:  •-机器标准化:机房、机架位、交换机、机器  •-资源标准化:IP、DNS  •-配置标准化:机器配置自动化采集、标准化检测,KVM化  •2.2、软件标准化:  •-软件安装标准化:tomcat jdkmemcachedredis...  •-Nginx标准化:域名、配置、发布  •2.3、项目标准化:  •-项目配置标准化:S区、A区、B区、C区  •-支持多种项目:tomcat、java、nodejs、Python、ios\Android

     

    2.1、硬件标准化—自动化采集

    image

    image

    2.2、软件标准化—统一软件规格

    image

    2.2、软件标准化—自动化安装卸载

    image

    2.2、软件标准化—服务自动管理

    image

    2.2、Nginx标准化—自动配置300域名

    image

    image

     

    3、项目发布自动化体系  •3.1、代码发布系统  •-灰度发布  •-分区发布:泳道发布  •3.2、配置发布系统  •-发布配置信息  •-集群协作:Solr、Kafka  •3.3、原子指令  •-系统级操作  •-系统操作日志

     

    4、服务治理体系  •服务健康状态检测  •分布式任务调度(Schedule)  •调用链分析(Cat)  •实时日志监测(雷达系统)  •API质量治理(APIWater)  •SQL质量治理(Monyog)

    4.1、服务健康状态检测

    4.2、分布式任务调度Schedule

    分布式调度中心:  •基于Mina分布式协调  •选择服务的单点调度  •多点服务failover  •长时间任务断点续传  •任务依赖调度

     

    4.3、调用链分析Cat

    4.4、实时日志监测(雷达系统)

    •实时日志查看  •历史日志分析  •用户或IP追踪  •日志统计

    image

    4.4、实时日志监测

    4.6、SQL质量治理(Monyog)  •MySQL性能监控工具MONyog,分析慢SQL  •程序打印慢SQL日志  •优化索引、表结构

    5、测试环境的自动化构建

    6、自动化测试

        自动化测试—API自动化测试

        自动化测试—Web自动化测试       •Selenium—Web页面的自动化测试

        自动化测试—Mock模拟测试


    以上内容部分来自网络, 希望对您系统架构设计,软件研发有帮助。

    展开全文
  • 运维工作梳理

    千次阅读 多人点赞 2019-12-19 07:44:12
    1.1 inux运维的主要工作内容 1、什么是linux运维 运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常。...1)开发运维:是给应用运维开发运维工具和运维平台的 2)...

    1.1 inux运维的主要工作内容

    1、什么是linux运维

    1. 运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常。

    2. 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术。

    3. 运维又包括很多种,有DBA运维、网站运维、虚拟化运维、监控运维、游戏运维等等。

    运维分类:

    1)开发运维:是给应用运维开发运维工具和运维平台的

    2)应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查

    3)系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等

    2、基础运维常见工作内容

    1. 服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障

    2. 服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性

    3. 服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作

    4. 服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验

    5. 服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量

    6. 服务安全保障:包括服务的访问安全、防攻击、权限控制等

    7. 服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务

    8. 服务集群管理:包括服务的服务器管理、大规模集群管理等

    9. 服务成本优化:尽可能降低服务运行使用的资源,降低服务运行成本

    10. 数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。

    11. 平台化的开发:类docker等平台的开发管理,及服务接入技术

    1.2 Linux运维工作发展过程

    在这里插入图片描述
    1、手工管理阶段

    1)业务规模

    1. 业务流量不大,服务器数量相对较少,系统复杂度不高。

    2. 对于日常的业务管理操作,大家更多的是逐台登录服务器进行手工操作,属于各自为战。

    3. 每个人都有自己的操作方式,缺少必要的操作标准、流程机制,比如业务目录环境都是各式各样的。

    2)工作职责

    1. 早期的运维团队在人员较少的情况下,主要是进行数据中心建设、基础网络建设、服务器采购和服务器安装交付工作。

    2. 几乎很少涉及线上服务的变更、监控、管理等工作。

    3. 这个时候的运维团队更多的属于基础建设的角色,提供一个简单、可用的网络环境和系统环境即可。

    2、工具批量操作阶段

    1)业务规模

    1. 随着服务器规模、系统复杂度的增加,全人工的操作方式已经不能满足业务的快速发展需要。

    2. 因此,运维人员逐渐开始使用批量化的操作工具,针对不同操作类型出现了不同的脚本程序。

    3. 此时,虽然效率提升了一部分,但很快又遇到了瓶颈,操作的质量并没有太多的提升。

    4. 我们开始建立大量的流程规范,比如复查机制,先上线一台服务器观察10分钟后再继续后面的操作,一次升级完成后至少要观察20分钟等。

    5. 这些主要还是靠人来监督和执行,但在实际过程中执行往往不到位,反而降低了工作效率。

    2)工作职责

    1. 这个时候的运维团队还会承担一些服务器监控的工作,同时会负责LVS、Nginx等与业务逻辑无关的4/7层运维工作。

    2. 这个时候服务变更更多的是逐台的手工操作,或者有一些简单批量脚本的出现。

    3. 监控的焦点更多的在服务器状态和资源使用情况上,对服务应用状态的监控几乎很少,监控更多的使用各种开源系统如Nagios、Cacti等。

    3、平台管理阶段

    1)业务规模

    1. 在这个阶段,我们决定开始建设运维平台,通过平台承载标准、流程,进而解放人力和提高质量。

    2. 这个时候对服务的变更动作进行了抽象,形成了操作方法、服务目录环境、服务运行方式等统一的标准。

    3. 通过平台来约束操作流程,如上面提到的上线一台服务器观察10分钟,程序的启停接口必须包括启动、停止、重载等。

    4. 在平台中强制设定暂停检查点,在第一台服务器操作完成后,需要运维人员填写相应的检查项,然后才可以继续执行后续的部署动作。

    2)工作职责

    1. 由于业务规模和复杂度的持续增加,运维团队会逐渐划分为应用运维和系统运维两大块。

    2. 应用运维开始接手线上业务,逐步开展服务监控梳理、数据备份以及服务变更的工作。

    3. 随着对服务的深入,应用运维工程师有能力开始对服务进行一些简单的优化。

    4. 同时,为了应对每天大量的服务变更,我们也开始编写各类运维工具,针对某些特定的服务能够很方便的批量变更。

    5. 随着业务规模的增大,基础设施由于容量规划不足或抵御风险能力较弱导致的故障也越来越多,迫使运维人员开始将更多的精力投入到多数据中心容灾、预案管理的方向上。

    4、系统自调度阶段

    1)工作环境

    1. 更大规模的服务数量、更复杂的服务关联关系、各个运维平台的林立,原有的将批量操作转化成平台操作的方式已经不再适合。

    2. 需要对服务变更进行更高一层的抽象,将每一台服务器抽象成一个容器,由调度系统根据资源使用情况,将服务调度、部署到合适的服务器上。

    3. 自动化完成与周边各个运维系统的联动,比如监控系统、日志系统、备份系统等。

    4. 通过自调度系统,根据服务运行情况动态伸缩容量,能够自动化处理常见的服务故障。

    5. 运维人员的工作也会前置到产品设计阶段,协助研发人员改造服务使其可以接入到自调度系统中。

    2)工作职责

    1. 业务规模达到一定程度后,开源的监控系统在性能和功能方面,已经无法满足业务需求;

    2. 大量的服务变更、复杂的服务关系,以前靠人工记录、工具变更的方式不管在效率还是准确性方面也都无法满足业务需求;

    3. 在安全方面也出现了各种大大小小的事件,迫使我们投入更多的精力在安全防御上。

    4. 逐渐的,运维团队形成之前提到的5个大的工作分类,每个分类都需要有专精的人才。

    5. 这个时候系统运维更专注于基础设施的建设和运维,提供稳定、高效的网络环境,交付服务器等资源给应用运维工程师。

    6. 应用运维更专注于服务运行状态和效率,数据库运维属于应用运维工作的细化,更专注于数据库领域的自动化、性能优化和安全防御。

    7. 运维研发和运维安全提供各类平台、工具,进一步提升运维工程师的工作效率,使业务服务运行得更加稳定、高效和安全。

    1.3 Linux运维工作分类

    在这里插入图片描述
    1、应用运维(SRE):

    1. 应用运维负责线上服务的变更、服务状态监控、服务容灾和数据备份等工作,对服务进行例行排查、故障应急处理等工作

    2. 工作职责如下:设计评审、服务管理、资源管理、例行检查、预案管理、数据备份。

    2、系统运维(SYS):

    1. 负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);

    2. 负责资产管理,服务器选型、交付和维修,网络建设、LVS负载均衡和SNAT建设

    3、运维开发

    1. 是给应用运维开发运维工具和运维平台的

    2. 主要包含的平台:工单系统、CMDB、监控系统、ELK日志系统、CI/CD、LDAP、FAQ、培训系统、OpenStack平台

    4、数据库运维(DBA):

    1. 数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,

    2. 对数据库进行变更、监控、备份、高可用设计等工作,详细的工作内容如下

    3. 设计评审、容量规划、数据备份与灾备、数据库监控、数据库安全、数据库高可用和性能优化

    4. 自动化系统建设、运维研发、运维平台、监控系统、自动化部署系统

    5、运维安全(SEC):

    1. 运维安全负责网络、系统和业务等方面的安全加固工作

    2. 进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理

    3. 工作内容如下:安全制度建立、安全培训、风险评估、安全建设、安全合规、应急响应。

    1.4 Linux运维日常使用软件和技能

    1、运维工程师使用的运维平台和工具

    1. Web服务器:apache、tomcat、nginx

    2. 监控:prometheus、zabbix、openfalcon、nagios、cacti

    3. 自动部署:ansible、saltstack、puttet

    4. 负载均衡:keepalive、lvs、haproxy、nginx

    5. 备份工具:rsync、wget

    6. 问题追查:netstat、top、tcpdump、last

    7. 容器:docker、k8s、docker-compose、swarm

    8. 安全:kerberos、selinux、acl、iptables

    9. 虚拟化:openstack、xen、kvm

    2、运维工程师要掌握的技能

    1. 扎实的计算机基础知识,包括计算机系统架构,操作系统,网络技术等;

    2. 通用应用方面需要了解操作系统、网络、安全,存储,CDN,DB等,知道其相关原理;

    3. 编程能力,小到运维工具的开发大到大型运维系统/平台的开发都需要有良好的编程能力;

    4. 数据分析能力:能够整理、分析系统运行的各项数据,从中发现问题及找到解决方向;

    5. 丰富的系统知识,包括系统工具、典型系统架构、常见的平台选型等;

    展开全文
  • Linux运维工程师学习成长路线

    万次阅读 多人点赞 2019-12-14 20:52:46
    当调查人员告诉他们科幻电影中展示黑客高超技巧时的命令行界面,正是大多数运维工程师每日工作环境时,他们发出极其一致的惊叹。相对于普罗大众的一无所知,技术圈对运维的态度则更偏向于黑色幽默。相...

    作为互联网的幕后英雄,Linux运维工程师长期隐匿在大众认知范围之外,关于运维的讨论仍旧是一片无人涉足的荒漠。在某知名行业研究调查结果中,非互联网从业者对于运维相关问题的回复有三个高频词汇是:不知道、没听过、网管。当调查人员告诉他们科幻电影中展示黑客高超技巧时的命令行界面,正是大多数运维工程师每日工作环境时,他们发出极其一致的惊叹。相对于普罗大众的一无所知,技术圈对运维的态度则更偏向于黑色幽默。相较于开发等工作岗位,7*24小时待命的运维工程师总是默默无闻作为守护者,当然同时还要接受“背锅侠”这一艰巨使命。

    其实,Linux运维工程师被称为“背锅侠”只是网友调侃,有不少同学对这个岗位工作还是有一定误解。在双十二来临之际我们介绍下这个幕后英雄的技术岗位-Linux运维工程师

    目前国内互联网、移动支付、O2O业务发展迅猛,需要为亿万用户提供线上服务。像腾讯、百度、阿里等一线互联网公司,需要数十万台服务器和成千上万IT从业人士,来提供技术服务。

    那么在很多企业IT技术工程师中,一般会分为:开发、测试、运维等几大分支,其中,开发和运维大类中,又可分为很多具体技术岗位。

    在众多互联网公司,IT技术岗位,整体分为三大类:

    1、开发岗位,也就是我们所说的码农,天天撸代码。

    2、测试岗位,找码农写的bug,然后让码农改,改好后上线。

    3、运维岗位,需要搭建好线上服务环境及架构,并保证代码无误上线,及线上业务正常能够被用户访问。

    开发-测试-运维分工

    在企业中,整个技术生产线是这样的流程:

    开发需要开发好代码---> 交给测试工程师测试----->测试完成后,提交给运维工程师进行上线

    运维工程师,的一个重要工作是需要把开发写好的代码,发布出去,给用户提供服务。当然,很多大公司已经实现可持续集成,开发自己就能发布。但这个环节,也少不了运维工程师的支持。可以看出,Linux运维工程师在整个环节中是离用户最近的,也是决定用户访问质量的重要环节。随着移动互联网、O2O、云计算、大数据的发展,服务器的可用性,成为各家公司技术的分水岭,对于一些大的互联网公司而言,对服务器的可用性要求极高,有些要求可达到99.99%(一年停机时间不超过1小时)

    所以,公司对服务可靠性的追求,也会转化为对运维工程师的技能和能力要求,这也是目前高端运维工程师十分稀缺的原因,有不少企业,薪资30-50W找高端运维,但是很难找到合适的。要想成为一个高端Linux运维工程师,都需要具备哪些能力呢?如下图所示:

    看完以上能力要求,相信不少同学应该不会再认为Linux运维工程师没有开发重要了吧。Linux运维工程师,在企业担负非常重要的环节,这也是Linux运维工程师这个岗位,薪资高原因,甚至到后期薪资会比开发高的多。有很多前期做网管,桌面运维或者技术支持的同学,到后期,基本都选择转Linux运维岗,随着云技术的推广,docker、K8s、DevOPS普及,低端的技术支持岗位,会慢慢被边缘化,取而代之的是会这些新技术的中高级运维工程师。我有很多朋友做运维,腾讯、百度、阿里这些厂商,对于优秀的运维工程师,给年薪50W的还是不难的。在一线城市,对于不少刚入门的新手,基本起薪也能达到7K-9K左右。下图招聘的薪资,也是不低的。

    Linux运维工程师,总体来说,是比开发要好掌握一些,开发是要求比较高的数学能力,因为到后期,算法会成为很多人的天花板,Linux运维工程师学起来比较容易一些,都是实操类的学科,把命令、安装、配置和服务练熟。技术支持岗位往往到后期,都会选择晋升到Linux运维工程师。而且对于刚毕业的大学生来说,学习起来是非常顺手的,因为在学校的课程中,就包含了不少运维所需要的基本技能:操作系统、网络、数据库、Linux等。对于转行的人来说,Linux运维工程师的趣味性比较强一些,上手也更容易些,Linux运维是首选,上手容易趣味性强,薪资高,将来工作还轻松。

    想成为合格运维工程师,需要掌握不少技能,Linux运维工程师讲究的是广度,下面是年薪50W的Linux云计算工程师的学习路线图:

    1、Linux 系统基础⼊门-Linux的基础知识内容,和命令使用,以及用户和权限等核⼼知识点

    2、Linux 系统管理和进阶-Linux从进程、资源、任务、⽂件、软件包、磁盘等管理⽅法

    3、Linux 企业常用服务-企业级常用服务如DNS、FTP、Http、mail

    4、Linux 企业级安全原理和防范技巧以及网络和安全-Linux安全架构、安全威胁模型、以及加密、解密等原理,常见攻击和防范⼿段

    5、Shell 编程⼊门及进阶-Shell脚本基本用法以及进阶,从基础到精通,需要学习一些企业级常见脚本用法

    6、MySQL 应用原理及管理⼊门-Mysql安装、管理、授权、增删改查

    7、http 服务代理缓存加速-http ⾼级协议应用、缓存、web服务nginx

    8、企业级负载集群-企业级4层负载均衡LVS、和7层负载均衡nginx以及haproxy的企业应用,静动分离等

    9、企业级⾼可用集群-⾼可用集群原理,实现以keepalived为核⼼的⾼可用集群,以及主从高可用、双主,分库分表

    10、运维监控zabbix-企业级监控体系以及zabbix流⾏开源监控系统的功用及架构,自动发现,插件开发

    11、云计算运维自动化-Ansible、Puppet等运维自动化解决方案,Ansible生产环境应用案例和实战操练、批量进行上百台服务器

    12、WEB 服务体系架构-WEB服务体系架构,JSP体系、tomcat、CDN、缓存原理、压测、评估、LNMP、LAMP等

    13、⼤型互联⽹集群架构和实战⽅案-LB集群:nginx、Haproxy、LVS HA集群、动静分离

    14、MySQL DBA 实战技能和优化-数据库参数优化、分库分表、备份方案、数据恢复策略、主从复制、读写分离、连接池及sharding技术、MHA等

    15、企业级云计算Openstack-Keystone、Glance、Nova核⼼组件、网络模块、块存储服务等

    16、企业级⼤数据Hadoop 运维实战-列式数据库HBase基础原理、安装配置及其应⽤、Zookeeper集群构建、hadoop实现Namenode⾼可⽤

    17、企业级虚拟化KVM 实战-KVM环境:KVM的安装、配置及应⽤

    18、NoSQL 企业级应用-Nosql 应用,Redis、Mongodb、memcached分布式缓存集群实战

    19、企业级日志收集系统ELK 实战-海量数据日志收集系统Elasticsearch+Logstash+kibana 应用

    20、可持续化集成-Jenkins+github企业级应用

    21、虚拟化容器Docker-Linux 轻量虚拟化Docker ,Docker 的原理和安装,配置以及应用,以及生产环境配置和故障恢复

    22、企业级K8S实战-组件功能、安装、配置、企业级应用场景和常见故障分析,kubernetes集群部署,Kubernetes 中的网络管理

    23、Linux 系统调优实战-从内存、CPU、进程调度、磁盘IO、⽹络参数等全面讲解Linux系统调优

    24、Python 自动化开发-python自动化工具开发、Python实现执行环境构建及代码测试示例

    25、个人综合能力提升-表达能力、团队协作能力、执行能力、胜任力等

    以上25条技能,每一条大概价值2K,你的工资多少,在这个行业,就取决于你会多少。要想挣钱,你要先值钱。

     

    展开全文
  • 在全球运维大会上,阿里巴巴研发效能事业部运维中台技术专家——刘湘疆(青冥),从资源稳定性、部署效率,以及业务稳定性方面为大家分享测试环境的那些事儿。点击查看原文:http://click.aliyun.com/m/40557/导读:...
  • 相信这张图大家不会陌生,由于产品、开发、测试运维各部门之间的壁垒,开发者希望可以快速部署常规软件,测试希望产品满足需求,而运维团队则优先考虑稳定性。开发、测试和运维不同的成功指标使得每个团队都有自己...
  • 测试&运维

    千次阅读 2019-04-10 14:41:00
    貌似环境部署可能是个问题,所以公司里面会有大牛做一些自动部署的工具,甚至会开发出一些独立的平台来完成多台机器的部署工作,可以节省很多的时间。测试出来的数据跟产品以及开发人员确认,也可能会找到一些方案来...
  • 在实际工作中,测试人员可能也会面临自己部署测试环境的场景 若是面试官问环境搭建问题,千万不要只回答是运维人员部署,这显然不是面试官所想听的答案。面试官考察的主要是两个方面: 1、考量的是面试者是否熟悉...
  • 运维部署:各种发布方式

    千次阅读 2020-02-05 01:23:26
    运维部署:各种发布方式 前言 每次听别人说到各种部署方式时,都多多少少听到有人信誓旦旦的将下面提到的部署方式张冠李戴了,有时候甚至自己也被弄糊涂了,作为一名程序猿,还是做到心中有数的好,这可是基础。 ...
  • 自动化部署及配置(Cobbler/Kickstart) 红帽发布的网络安装服务器套件Cobbler...Ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令...
  • 通过前面的分析,我们了解到测试部署和运维,在微服务环境下会变得复杂。试想,原来只需要测试一个系统,现在要测试一堆系统,原来要发布一个应用,现在要发布一堆应用。原来线上排查问题,只需要从一个日志文件看...
  • web测试知识详解

    千次阅读 多人点赞 2018-11-21 17:09:19
    web测试 web测试..............................................................................................................................1 1. 分类及测试要点...........................................
  • 重要的写在前边,测试运维工作牵涉到的内容是非常多的,也会遇到各种各样的疑难问题,所以是需要不断学习的。 经常听到一些测试同学抱怨,每天忙于业务测试,无法接触核心技术,面试时只能讲一些业务流程相关的东西...
  • Java知识体系最强总结(2021版)

    万次阅读 多人点赞 2019-12-18 10:09:56
    本人从事Java开发已多年,平时有记录问题解决方案总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同...
  • 测试开发笔记

    万次阅读 多人点赞 2019-11-14 17:11:58
    测试开发笔记 第一章 测试基础 7 什么是软件测试: 7 ★软件测试的目的、意义:(怎么做好软件测试) 7 3.软件生命周期: 7 第二章 测试过程 8 1.测试模型 8 H模型: 8 V模型 9 2.内部测试 10 3外部测试: 10 验收...
  • DevOps(DevelopmentOperations)是一种重视”软件开发人员(Dev)”“IT运维技术人员(Ops)”之间沟通合作的惯例,透过自动化“软件交付”“架构变更”的流程,来使得构建,测试,发布软件能够更加地快捷,...
  • 分布式系统 in 2010s :测试和运维

    千次阅读 2020-01-15 11:17:50
    我觉得面对测试的态度是区分一个普通程序员优秀程序员的重要标准。现如今我们的程序服务越来越庞大,光是单元测试 TDD 之类的就已经很难保证质量,不过这些都是 baseline,所以今天聊点新的话题。 说测试之前,...
  • Flask应用部署运维

    2020-03-04 00:56:14
    Flask应用部署运维WSGIWSGI简介WSGI应用WSGI服务器部署方案设计服务器系统的选择常用WSGI服务器Web服务器部署工具的安装与使用Flask应用部署部署工具的安装配置部署应用轻量级运维方案的设计与实现DevOps...
  • OpenStack 部署运维实战

    千次阅读 2016-03-06 18:01:02
    OpenStack 部署运维实战 本文为您介绍了网易公司基于 OpenStack 开发的一套云计算管理平台,以及在开发、运营、维护过程中遇到的问题经验分享。网易作为大型互联网公司,IT 基础架构需要支撑包括生产、...
  • CentOS7中安装部署Icinga运维平台

    千次阅读 2018-10-30 21:08:34
    一直想搞一套开源的运维监控平台,逛了一圈最后锁定了Icinga,奈何官方都没有一个像样的step-by-step文档,不过好在居然从vultr上找到一篇参考的...),记录一下自己的安装部署过程,下面内容是一边操作一边记录的,中间遇到...
  • 最新远程部署运维工具汇总

    千次阅读 2018-06-11 13:51:05
    通过部署SaltStack环境,我们可以在成千上万台服务器上做到批量执行命令,根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务...
  • java web项目打war包发布到测试环境

    千次阅读 2018-09-22 09:55:37
    1.打war包 ...2.tomcat部署 https://blog.csdn.net/dreamstar613/article/details/75282962/ 参考了里面的:同一个Tomcat 多个端口 部署多个项目 3.部署到根目录参考了: https://blog.csdn.net/y...
  • 运维工程师工作内容整理

    千次阅读 多人点赞 2019-11-06 15:29:19
    @# 运维工程师工作内容整理 总结两句话: 1、保障业务长期稳定运行(如网站服务器、游戏服务器等)。 2、保障数据安全可靠(如用户名密码、游戏数据、博客文章、交易数据等)。 由这两句话推演运维工程师要学些什么...
  • 团队协作、开发、测试部署开源工具平台 容器部署平台 Docker Docker Harbor Docker镜像私有仓库 Portainer Docker可视化容器管理平台 Centos7上安装docker docker安装可视化工具Portainer Docker搭建Harbor私有...
  • 持续部署:业界没有统一明确地定义,简单理解为将集成结果部署到不同的环境供用户使用,并且立即反馈部署结果的实践,其中不同的环境包括:开发环境、测试环境、预发布环境、生产环境 持续部署两个核心要素:持续、...
  • python运维和开发实战-高级篇python运维和开发实战-高级篇课程链接如下:通过如下链接地址购买课程可享受2.5折优惠哈,时间有限~????https://edu.51cto.co...
  • 一、使用 Docker 搭建 Tomcat 运行环境 1 Docker与虚拟机   2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 ...
  • 运维项目经验示例(参考)

    万次阅读 多人点赞 2019-11-05 18:25:42
    运维项目经验示例一,期中项目经验示例二,期末项目经验示例 一,期中项目经验示例 1.1 新服务器上线搭建系统环境 1,根据现有结构部署工具(PXE+kickstart) 2,结合应用系统需求定制部署模版 3,制作系统优化等...
  • 测试环境的搭建维护 一、测试环境分类 功能测试环境; 性能测试环境。 二、操作步骤 开发人员撰写安装维护手册; 按照安装维护手册手动或自动进行搭建维护(运维、开发、测试人员均可操作);...
  • 自动化安装和部署概述 一、自动化安装1.采购–>验货–>签字,验货单,盖公章。 2.资产管理:资产录入–>机房、区域、排、机柜、位置、配置(资产管理,验收单)(自动化获取) 3.RAID-(验货的时候)RAID,自动化进行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,670
精华内容 13,868
关键字:

web测试环境部署和运维