Ops
Operations,运维
DevOps
是什么
DevOps 是一种文化、实践和工具的集合,旨在促进开发团队(Development)和运维团队(Operations)之间的协作与自动化,从而加速软件开发与交付过程。
核心
持续集成(CI)和持续交付(CD)是 DevOps 的关键实践之一。
常见工具
- CI/CD 工具:Jenkins、GitHub Actions、GitLab CI/CD。
- 配置管理:Ansible、Puppet、Chef。
- 容器化:Docker、Kubernetes。
参考链接
技术蛋老师 Github Actions 工作流自动化入门核心
Github Pages 官方文档(里面有用到如何使用 Github Actions 工作流辅助页面发布,可以仔细看看)
Github 官方文档中有 CI/CD and DevOps
的模块,里面有 Github Actions
Github Packages
(类似 maven) Github Pages
。(虽然面试大概率没什么用,不过还是很实用的技术)
Simple-Ops-Process
(简单运维流程)
从网站托管云平台 Render 的文档中可以看出一个真正的项目需要哪些完整的运维流程。
(学习用处不是很大,简化版云服务商,在传统云服务商的基础上又加了一层抽象,只是当前我的菜鸡水平能大致看懂而已,阿里云的官方文档是真复杂。)
服务分类:
graph TD;
A["Will your app receive traffic from the public internet(browsers, mobile apps, etc.)?"] --"Nope."--> B["Will your app receive private network traffic from your other Render services?"];
A --"Yes!"--> C["Does your app consist entirely of statically served files (HTML, CSS, JS, etc.)?"];
B --"No, any traffic is outgoing."--> D["Will your app run continuously, or periodically on a schedule?"];
B --"Yes!"--> E["Create a Private service"];
D --"Continuously."--> F["Create a Background worker"];
D --"Periodically."--> G["Create a Cron job"];
C --"No, my app includes server-side logic."--> H["Create a Web service"];
C --"Yes!"--> I["Create a Static site"];
场景 | 示例 | 服务 |
---|---|---|
接收公共互联网流量,完全由静态文件组成 | 静态博客、文档网站 | Static site(静态站点) |
接收公共互联网流量,包含服务器端逻辑 | 电商网站、动态博客系统 | Web service(Web 服务) |
不接收公共互联网流量,接收来自其他内网的私有网络流量 | 微服务、数据处理服务 | Private service(私有服务) |
不接收公共互联网流量,不接收来自其他内网服务的流量 | 定时任务、后台数据同步任务 | Cron job(定时任务) |
不接收公共互联网流量,且需要持续运行 | 后台任务服务、实时推送服务 | Background worker(后台任务) |
不接收公共互联网流量,且需要按计划运行 | 数据库清理、定期报告生成 | Cron job(定时任务) |