这是昨晚例会上 ESON 的讲稿,然后我还康到了一本好书:https://book.hacktricks.xyz/

Ops

[TOC]

什么是运维

就是牛马, 当牛做马.

开发背锅侠, 生产事故擦屁股的

配环境的勾八

From WIki

是对技术类运营维护人员的统称。运维人员的职责是根据业务需要规划信息、网络、服务,通过网络监控、事件预警、业务调度、排障升级等手段,使服务处于 长期稳定可用状态

基本技能树

Linux

这个还需要多说? 啥软件不是在服务器里的 Linux 的?

隔壁 Win Server 突然弹起

各种 Shell

各种命令

折腾 linux 基本上是运维入门的第一堂课

插播一条 如何 AddUser

到这个位置 基本就有一个 基础到不能再基础的 运行环境了

数据库

数据库基本逃不过 CRUD

高级点无非是 性能优化 建立索引 视图 等等

Mysql 关系型

会看 binlog 数据库数据恢复 备份 CRUD

Redis KV型

SET GET 查 烧操作很多 一般是作为后端第二个接触到的数据

MongoDB 文档型

文档 JSON 这玩意在你还不确定你的数据需要如何存储 或者设计表单的时候 非常好用

neo4j 图型

这种一般性开发是用不太到的 一般是专业需求

这里基本上你就可以调用这些存储资源 来进行最最基本的后端开发了

各类中间件

中间件是为应用提供通用服务和功能的软件。 数据管理、应用服务、消息传递、身份验证和API 管理通常都要通过中间件。 中间件可以帮助开发人员更有效地构建应用。 它就如同是应用、数据与用户之间的纽带。

Nginx Apache Tomcat等等

负载均衡

反向代理

证书校验

SSL

网关

Kong

消息队列

MQTT

其他设备

当你所具有的服务渐渐增加的时候 你会遇到这些问题

容器化

Docker

基本使用 审查处理

K8s 容器编排

这里挖个坑 有材料 而且很多

渐渐云原生…

云服务 云数据库

Serverless OSS 对象存储

你的服务渐渐增加 同时你所拥有的可支配资源也很多的时候

你需要你的服务可移植快速部署和统一管理的时候

当然 容器还有诸如

环境干净 快速启停 依赖少 方便移植 同时也惠及了开发

日志

可视化

管理平台

分布式收集 统一处理

经典 ELK

Grafana 经典数据可视化平台

这个阶段你所具有的服务已经非常成熟了 你需要更多的收集信息

然后对信息进行处理 比如 你需要对于一些细小的 Bug Error 进行排错 定位分析

对服务后台运行情况进行监控

与开发的交界处 Devops

Git

有什么好说的? 代码管理

当然不止 github

gitlab 自建 gitea 自建 等等

CICD

持续集成持续部署

一般这个玩意是要和自动测试一起服用的

不然就会产生类似 我本地就不跑了 我疯狂 Commit 代码 Push 上去服务器帮我搞 跑不起来就 再交

当然方便是方便

实现方法有很多

写 Github Action

Jenkins

DNS

域名管理 其实是负载均衡和服务发现的帮助者

就是来解决纯纯 IP 导致的一堆破事

CDN

加速 静态资源分发 源站隐藏 抗 DDOS CC

可不得推荐一手 Cloudflare?

包管理 依赖 镜像

maven pip 自建

docker 镜像 私有 image

虚拟化内网 以及接入

这里有点偏向于网工了

简单如 ZeroTIer TailScale Wireguard OpenVPN

如果都没用过 那么 学校 深信服 SSLVPN 就也是一个

复制如 RouterOS Cisco 产品 OSPF BGP …

公司体量足够大就会碰到这些 比如说 Google

与安全的交界处

代码静态审计 测试

CodeQL

SonarQube

其实是防止 仓库被提交 恶意代码 或者带漏洞的代码

身份验证 鉴权

IDaaS 身份验证即服务

Active Directory 活动目录

你的资产实在太多了 在公司体量下进行运作的时候 身份验证系统 和 资产管理 不可能每个资产就有一个 身份验证 更新也不会同步

这时候你就需要一个 类似于 目录的东西 可以查找 哪里哪里 有什么服务 有什么系统 谁访问什么 谁可以做什么

windows Domain

可以用 Samba 来使得 linux 加入该域

LDAP ; OAuth ; Kerberos; SSO

LDAP 轻量目录访问协议

OAuth 开放授权标准 做验证 提供信息 但是不提供密码的方案

Kerberos 基于票据系统 TGT 当然这玩意 是 MIT 的玩意

SSO 单点登录 将系统配置为信任另一个系统来进行验证 一个是 服务商 一个是身份服务商 可以和 OAuth 一起用

IR Incident Response 应急响应

硬件方向

IDC 机房管理

跳板机 防火墙 上网行为管理

JumpServer 运维跳板机(也有软件端的 No More SSH)

防火墙技术

服务器 交换机 路由器 三大件

未来企业 996 当牛做马的 程序员肯定不用学这个啦

世界的尽头

答案是 DevSecOps

如果你听完了上述这些

其实最后的最后

你会发现 就是完全是一个反复搭建 越建越大的过程

同时伴随着 分布式技术和统一管理 的一代代的革新

而归根到底为什么要用到这些东西

其本质原因就是 为了更好达到服务的长期可用