<返回更多

程序员的运维知识体系

2020-09-02    
加入收藏

程序员的运维知识体系

作为程序员的你,能胜任运维的工作吗?

背景

那么运维主要解决那些问题呢?

答:1.部署,但是大部分工作可自动化; 2.维护产线系统稳定;

作为程序员的你,清晰自己的程序如何部署上线非常重要,出问题了才知道如何修复。作为程序员的你,设计的时候就要规避部署带来的问题。

作为程序员的你,如果能胜任运维,那么你就天然具备成为为当下非常热门的职位devOps工程师的知识储备;

问题 答案
where are we?现状 是程序员,但是运维知识了解很少
where are we go?目的 是程序员,也能胜任运维工作
how can we go there?实现路径 梳理运维的知识体系,逐步学习

实现路径

按照以下条目,补全知识体系,再找一个实际项目实战即可。

shell

shell是最古老的运维语言,可直接跟操作系统打交道;

linux核心库

掌握常见的核心库,ls cd ps grep kill cut sort uniq

第三方库

rsync 和 curl

虚拟化

虚拟机和Docker

容器化

docker-swarm和kubernetes

运维框架

chef , puppet, ansible ,openstack

公有云

aws, aliyun

小结

程序员了解运维的知识体系非常重要,无论是对定位问题还是架构设计都有一定帮助。

程序员的运维知识体系

补充

现在运维流行DevOps,高级一点就是AI,

运维技能:1.懂网络:一般要求CCNA(最好CCNP)或同等水平

2.懂系统:懂得主流的linux系统操作(centos、ubuntu、debian等)操作命令、维护、性能优化、故障排查

3.简单安全:一些简单的安全知识

4.半个DBA:一般中小公司前期没有DBA,需要运维做最起码会SQL语句、主从群集:redisMySQL、MongoDB等

5.会运维开发:一般用于开发运维工具、运维系统(如CMDB、ELK日志系统等)运维主要语言是shell、Python/Gopython web框架:Django、tonado等Go web框架:Beego、Gin、Iris等有的还会用php及框架(TP、YII、Laravel做web前端)中小公司运维一般都没有专职的前端,需要运维兼职所以要学前端知识

6.懂点开发:般都懂一点本公司开发的语言,如公司用PHP需要学习、如公司用JAVA web也需要学习一下,目标:1)更好的维护网站,排错2)运维自动化、DevOps,因DevOps是基于敏捷开发,极限编程的思想,所以得懂一点软件工程

7.主职:1)各种环境的搭建:LAMP、LNMP、负载均衡(Nginx、haproxy、VLS等)、web群集、数据库群集、主流的docker[必会]2)排错[必会]3)批量安装系统安装:Cobbler[少]4)部署工具:Ansible/SaltStack[重要]5)主流的部署方案:如云、docker、k8s等[必会]6)监控系统:zabbix、Open-Falcon[至少掌握其中一种]7)自动化:gitlab CI/CD、jenkins结合ansible/salt、docker[必会]8)运维流程的制定9)减少背锅的次数:运维是出名的“背锅侠”,制定明确的责任可以减少背锅10)等等

8.会点构架一般中小公司没有构架师,所以当业务增大出现瓶颈,运维得给出解决方案和开发讨论如何扩展

我会持续分享Java软件编程知识和程序员发展职业之路!原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>