互联网运维,以服务为中心,以稳定、安全、高效为三个基本点,确保公司互联网业务7×24小时为用户提供优质服务。

运维人员加强公司互联网业务所依赖的基础设施、基础服务和在线服务的稳定性,进行日常检查,找出服务可能存在的隐患,优化整体架构,屏蔽常见的运营故障,访问多个数据,提高服务的容灾能力。

通过监控、日志分析等技术手段,及时发现和应对服务故障,减少服务中断时间,使公司互联网业务达到预期的可用性要求,持续稳定地为用户提供服务。

在安全性方面,运维人员需要关注业务运营的各个方面,以确保用户能够安全、完整地访问在线业务。

从网络边界划分、ACL管理、流量分析、DDoS防御,到操作系统和开源软件的漏洞扫描和修复,再到应用服务的XSS和SQL注入保护;

从安全流程梳理、代码白盒黑盒扫描、权限审计、入侵检测、业务风险控制等。

运营维护人员需要保证公司提供的互联网行业在安全可控的状态下运营,保证公司业务数据和用户隐私数据的安全,具备抵御各种恶意攻击的能力。

在保证业务稳定安全的前提下,也要保证公司内部业务的高效运行和快速产出。运维工作需要优化业务各方面。

比如IO优化提高数据库性能,图像压缩减少带宽使用等。,提供的互联网服务以较少的资源投入带来最大的用户价值和体验。

同时,要通过各种工具平台提高内部产品发布和交付的效率,提高公司内部与运维相关的工作效率。

工作分类运维

运维方面的工作方向很多。随着业务规模的不断发展,越是成熟的互联网公司,运维岗位也会越细致。

目前很多大型互联网公司只有初期的系统运维。随着服务规模和服务质量的要求,他们逐渐细分了工作。

一般来说,运维团队的工作分类和职责如下。

系统操作和维护

系统运维负责IDC、网络、CDN、基础服务的建设;负责资产管理、服务器选择、交付和维护。具体工作职责如下:

1.国际数据中心建设

收集业务需求,估算未来数据中心的发展规模,从骨干网分布、数据中心建设、互联网接入、网络攻击防御能力、扩容、空房间预订、外部专线能力、现场服务支持能力等方面对数据中心进行评估和选择。负责数据中心建设和现场维护。

2.网络建设

设计和规划生产网络架构,包括数据中心网络架构、传输网络架构、CDN网络架构等。,以及网络调整等日常运维工作。

3.LVS负载平衡和SNAT建设

LVS是整个站点架构中的流量门户,根据网络规模和业务需求搭建负载均衡集群。

完成网络与服务服务器的连接,提供高性能、高可用性的负载调度能力和统一的网络层抗攻击能力。

SNAT。集中提供数据中心的公共网络接入服务,并通过集群部署确保出局网络服务的高性能和高可用性。

4.CDN规划与建设

CDN工作分为两部分:第三方和自建。

建立第三方CDN的选择和调度控制;根据业务发展趋势,规划新CDN节点的建设布局;完善CDN业务和监控,确保CDN系统稳定高效运行。

分析服务加速渠道的文件特征和数量,制定最优加速策略和资源匹配;负责CDN日常故障排除,如用户劫持。

5.服务器选择、交付和维护

负责服务器的测试和选型,包括服务器和组件的基础测试和业务测试,降低服务器的功耗,增加机架的部署密度。

结合对公司业务的了解,推广新硬件、新解决方案,降低服务器投资规模。负责服务器硬件故障的诊断和定位,服务器硬件监控和健康检查工具的开发和维护。

6.OS、内核选型和 OS 相关维护工作

负责整体平台的OS选择、定制和内核优化,以及补丁更新和内部版本发布;建立基本的YUM包管理和分发中心,提供通用的包版本库;跟踪日常操作系统相关故障;为不同的业务类型提供方向优化支持。

7.资产管理

记录和管理与运维相关的基本物理信息,包括数据中心、网络、机柜、服务器、ACL、IP等资源信息,制定有效的流程,确保信息的准确性;开放API接口,为自动化运维提供数据支持。

8.基础服务建设

业务严重依赖基本服务,如DNS、NTP、SYSLOG等。,因此有必要设计一个高度可用的体系结构来避免单点并提供稳定的基本服务。

应用操作和维护

应用运维负责在线服务变更、服务状态监控、服务容灾和数据备份等。,以及日常服务故障排除和紧急处理。具体工作职责如下。

1.设计评论

在产品开发阶段,参与产品设计评审,从运维角度提出评审意见,使服务满足运维准入的高可用性要求。

2.服务管理

负责制定网上业务升级变更和回滚计划,并实施变更。掌握负责任的服务,服务与服务所依赖的各种资源之间的关系。能够发现服务中的缺陷,及时报告并推动解决。

建立服务稳定性指标和准入标准,不断完善和优化流程和系统的功能和效率,提高运行质量。完善监控内容,提高报警准确性。

在线服务出现故障时,立即响应,按流程上报已知在线故障并按计划执行,组织相关人员共同排除未知故障的障碍。

3.资源管理

管理各项服务的服务器资产,梳理服务器资源、数据中心分布、网络专线和带宽状况,合理使用服务器资源,根据不同服务的需求分配不同配置的服务器,保证服务器资源的充分利用。

4.常规检查

对服务进行常规检查点,并不断改进。根据建立的服务检查点,应定期检查服务。对调查过程中发现的问题应及时进行追踪,消除可能存在的隐患。

5.计划管理

确定服务所需的各种监测和系统指标的阈值或临界点,以及这种情况发生后的处理方案。

建立和更新服务计划文档,并根据日常故障情况不断补充和完善,以提高计划的完整性。能够制定和审核各种预案,定期进行预案演练,确保预案的可执行性。

6.数据备份

制定数据备份策略,按照规范进行数据备份。确保数据备份的可用性和完整性,定期进行数据恢复测试。

数据库操作和维护

数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,以及数据库变更、监控、备份和高可用性设计。具体工作职责如下。

1.设计评论

在产品研发初期,参与设计方案评审,提出数据存储方案、数据库表设计方案、SQL开发标准、索引设计方案等。从数据库管理员的角度出发,使服务能够满足数据库使用的高可用性和高性能要求。

2.容量规划

掌握负责服务的数据库容量上限,明确了解当前瓶颈点,在服务未达到容量上限时及时优化、拆分或扩展。

3.数据备份和灾难恢复

制定数据备份和灾难恢复策略,定期完成数据恢复测试,确保数据备份的可用性和完整性。

4.数据库监控

提高数据库的生存和性能监控,及时了解数据库的运行状态和故障。

数据库安全建设数据库账户系统,严格控制账户权限和开放范围,降低误操作和数据泄露的风险;加强离线备份数据管理,降低数据泄露风险。

5.数据库的高可用性和性能优化

针对数据库单点风险和故障设计相应的切换方案,减少故障对数据库服务的影响;不断优化数据库的整体性能,包括引入新的存储方案、硬件优化、文件系统优化、数据库优化、SQL优化等。,并且数据库可以支持更多的业务请求,而不会增加担保成本或小幅增加。

6.自动化系统建设

设计开发自动化数据库运维系统,包括数据库部署、自动扩展、数据库和表划分、权限管理、备份恢复、SQL审计和联机、故障转移等功能。

7.运维研发

运维部的R&D负责设计和R&D的通用运维平台,如资产管理、监控系统、运维平台和数据权限管理系统。为运行和维护人员或R&D人员提供各种应用编程接口,以封装更高级别的自动化运行和维护系统。具体工作职责如下。

8.运维平台

记录和管理服务及其相关关系,协助运维人员以自动化、流水化的方式完成日常运维操作,包括机器管理、重启、重命名、初始化、域名管理、流量切换、故障计划实施等。

9.监视系统

负责监控系统的设计和开发,完成公司服务器和各种网络设备资源指标的采集、报警、存储、分析、显示和数据挖掘,不断提高报警的及时性、准确性和智能性,促进公司服务器资源的合理配置。

10.自动化部署系统

参与部署自动化系统的开发,负责自动部署系统所需的基础数据和信息,负责权限管理、API开发和Web开发。结合云计算,开发并提供与PaaS相关的高可用性平台,进一步提高服务部署速度和用户体验,提高资源利用率。

操作安全

运维安全负责网络、系统和业务安全加固,日常安全扫描和渗透测试,安全工具和系统研发,安全事件应急处理。具体工作职责如下。

1.安全体系的建立

根据公司内部的具体流程,制定切实有效的安全体系。

2.安全培训

定期对员工进行有针对性的安全培训和评估,并在全公司建立安全监督体系。

3.风险评估

通过黑白盒测试检查机制,定期生成物理网络、服务器、业务应用、用户数据等各方面的整体风险评估结果。

4.安全施工

根据风险评估结果,强化最薄弱环节,包括设计安全防线、部署安全设备、及时更新补丁、防病毒、自动扫描源代码、咨询业务产品。为了降低可能被泄露的数据的价值,采用加密、匿名、数据混淆甚至定期删除等技术手段和流程来达到目的。

5.安全合规

为了满足支付许可证等合规性要求,安全团队负责安全合规性的外部接口。

6.应急响应

建立安全报警系统,通过安全中心收集第三方发现的安全问题,组织各部门对发现的安全问题进行修复,对受影响区域进行评估,事后追溯安全原因。

运维工作的发展过程

运维团队前期主要是在人员较少的情况下进行数据中心建设、基础网络建设、服务器采购、服务器安装交付。它很少涉及在线服务的变更、监控和管理。

此时运维团队更多的是在扮演基础设施的角色,提供简单易用的网络环境和系统环境。

随着业务产品的逐渐成熟,对服务质量的要求也越来越高。此时运维团队还将承担一些服务器监控工作,还将负责LVS、Nginx等与业务逻辑无关的4/7层运维工作。

这时的服务变更更多的是一个个手工操作,或者有一些简单的批量脚本。监控的重点更多的是服务器状态和资源使用情况,而服务应用状态的监控几乎很少,更多的是使用Nagios、Cacti等各种开源系统。

由于业务规模和复杂性的不断增加,运维团队将逐步分为应用运维和系统运维。应用运维开始接管线上业务,逐步开展服务监控、数据备份、服务变更等工作。

随着服务的深入,应用运维工程师有能力开始一些简单的服务优化。同时,为了应对每天大量的服务变更,我们也开始编写各种运维工具,可以轻松批量变更一些特定的服务。

随着业务规模的增加,由于容量规划不足或抗风险能力弱而导致的基础设施故障越来越多,迫使运维人员开始将更多的精力投入到多数据中心的灾难恢复和计划管理上。

业务规模达到一定水平后,开源监控系统在性能和功能上已经不能满足业务需求;大量的服务变更和复杂的服务关系无法满足人工记录和工具变更在效率或准确性方面的业务需求。

在安全方面,也发生了各种大大小小的事件,迫使我们把更多的精力投入到安全防御上。运维团队逐渐形成了前面提到的五大工作类别,每一个类别都需要专门的人才。

此时系统运维更加注重基础设施建设和运维,提供稳定高效的网络环境,将服务器等资源交付给应用运维工程师。应用运维更注重服务运行状态和效率。

数据库运维属于应用运维的细化,更侧重于数据库领域的自动化、性能优化和安全防御。运维R&D和运维保障提供各种平台和工具,进一步提高运维工程师的工作效率,使业务服务运行更加稳定、高效、安全。

我们将运维开发过程分为四个阶段,如图1-2所示。

图1-2运维开发流程

人工管理阶段:业务流程小,服务器数量相对较少,系统复杂度不高。对于日常的业务管理操作,大家更容易一个个登录服务器进行手工操作,属于自己的战争。每个人都有自己的运营模式,缺乏必要的运营标准和流程机制。比如业务目录环境多种多样。

工具批量操作阶段:随着服务器规模和系统复杂度的增加,手工操作模式已经不能满足业务快速发展的需要。于是运维人员逐渐开始使用批量操作工具,针对不同的操作类型出现了不同的脚本程序。

但是,每个团队都有自己的工具,需要在每次操作需求改变时进行调整。这主要是因为没有足够的环境和操作规范,导致可编程处理能力较弱。这时候虽然效率有了部分提升,但是很快就遇到了瓶颈。

操作的质量并没有得到很大的提高,甚至可能因为批量执行而出现更大的问题。我们开始建立大量的流程规范,比如审核机制,就是上线观察一台服务器10分钟后再继续下面的操作,升级完成后至少观察20分钟。

这些主要是由人来监督实施,但在实际过程中实施往往不到位,降低了工作效率。

平台管理阶段:在这个阶段,对运维效率和误操作率有更高的要求,所以我们决定开始搭建运维平台,通过平台进行标准和流程,从而解放人力,提高质量。

此时,对服务变更动作进行了抽象,形成了统一的操作方法、服务目录环境、服务操作模式等标准。例如,程序的起止界面必须包括启动、停止和重载。通过平台限制操作流程,如上所述,上线观察一台服务器10分钟。

平台中强制设置暂停检查点。第一台服务器的操作完成后,运维人员需要填写相应的检查项目,才能继续后续的部署操作。

系统自调度阶段:服务量更大,服务关联更复杂,运维平台众多,原有的批量操作转化为平台操作的方式已经不适合,需要更高层次的抽象服务变更。

每台服务器抽象成一个容器,调度系统根据资源使用情况将服务调度部署到合适的服务器上,并自动完成与周围运维系统的联动,如监控系统、日志系统、备份系统等。

通过自调度系统,可以根据业务操作动态扩展容量,并自动处理常见的业务故障。操作和维护人员的工作也将推进到产品设计阶段,协助R&D人员改造服务,以便他们能够访问自调度系统。

在运维的整个开发过程中,我们希望所有的工作都是自动化的,这样可以减少人们的重复劳动,降低知识传递的成本,让我们的运维交付更加高效安全,让我们的产品运行更加稳定。对于故障处理,我们也希望从后期处理转向早期发现,从手工处理转向自动容灾。

1.《网络运维 网络运维工作是什么的?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《网络运维 网络运维工作是什么的?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/1768688.html