10x 程序员工作法
郑晔
开源项目 Moco 作者
53432 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 63 讲
思考框架 (1讲)
10x 程序员工作法
15
15
1.0x
00:00/00:00
登录|注册

31 | 程序员怎么学习运维知识?

JBoss Enterprise Application Platform
Oracle WebLogic Server
IBM WebSphere
Docker Swarm
Kubernetes
阿里云
OpenStack
Amazon AWS
uniq
sort
cut
kill
grep
ps
cd
ls
企业级应用服务器
Jetty
Tomcat
Spring Boot
Map
List
String
容器编排技术
云技术
Docker
虚拟机
Ansible
Puppet
Chef
curl
rsync
Unix/Linux核心命令
Shell
高级技术
运行时环境
开发框架
第三方类库
核心库
语法特性
高级技术
运行时环境
运维框架
第三方库
核心库
语言
Java知识体系
运维知识体系
程序员学习运维知识

该思维导图由 AI 生成,仅供参考

你好,我是郑晔。
在上一讲中,我们讲到了开发过程的自动化,我们的关注点在于如何构建出一个有效的部署包,这个包最终是要上线部署的,那接下来,我们就来关心一下部署的相关工作。

零散的运维知识

在一些稍具规模的公司,为部署工作设置了一个专有职位,称之为运维。当然,这个岗位的职责远不止部署这一件事,还要维护线上系统的稳定。不过,如果你的团队规模不大,或是项目处于初始阶段,这些工作往往也要由程序员自行完成。
对于一个程序员来说,了解自己的程序怎么部署上线,是非常重要的。我们既要了解一个软件的逻辑,也要知道它的物理部署。只有这样,出了问题才知道怎么修复。
更重要的是,我们在设计时,才能尽量规避部署带来的问题。而部署,恰恰也是最适合发挥自动化本领的地方。
好,即便下定决心准备学习运维相关知识,你准备怎么学呢?我先来问你个问题,提到运维,你会想到什么?
如果你是一个刚刚步入这个行业的程序员,你或许会想到 Docker,想到 Kubernetes;如果再早一点入行,你或许还会想到 ChefPuppetAnsible;更早一些入行的话,你会想到 Shell 脚本。没错,这些东西都是与运维相关的。那我就这么一个一个地都学一遍吗?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

程序员学习运维知识的关键在于建立有效的知识体系。文章首先介绍了程序员需要了解自己的程序如何部署上线,以及部署过程中可能出现的问题。作者提出了学习运维知识的方法,强调建立结构化的知识体系,类比程序设计的知识体系,以便更高效地学习和理解新知识。接着,文章以Java知识体系为例,说明了学习新知识的最佳方式是学习增量,并将新知识与已有知识体系联系起来。然后,文章介绍了运维知识体系,从运维的语言、核心库、第三方库到运维框架和运行时环境等方面进行了阐述。最后,强调了建立了一个相对完整的运维知识体系后,读者将能够在运维领域中更加自信和熟练地应对各种挑战。文章通过对比程序设计和运维知识体系,为程序员学习运维知识提供了清晰的指导和思路。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《10x 程序员工作法》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(20)

  • 最新
  • 精选
  • hua168
    现在运维流行DevOps,高级一点就是AI, 其中一篇文章《DevOps 详解》不错,链接如下: https://infoq.cn/article/detail-analysis-of-devops 《DevOps知识体系与标准化的构建》也不错,下载地址: https://yq.aliyun.com/download/778 运维知识体系: https://www.unixhot.com/page/ops Web缓存知识体系: https://www.unixhot.com/page/cache 运维技能: 1.懂网络: 一般要求CCNA(最好CCNP)或同等水平 2.懂系统: 懂得主流的linux系统操作(Centos、ubuntu、debian等) 操作命令、维护、性能优化、故障排查 3.简单安全: 一些简单的安全知识 4.半个DBA: 一般中小公司前期没有DBA,需要运维做 最起码会SQL语句、主从 群集:redis、mysql、MongoDB等 5.会运维开发: 一般用于开发运维工具、运维系统(如CMDB、ELK日志系统等) 运维主要语言是shell、python/Go python 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.会点构架 一般中小公司没有构架师,所以当业务增大出现瓶颈,运维得给出解决方案 和开发讨论如何扩展 总结: 在中小公司运维工作就是一件很杂的工作,什么都要求会一点

    作者回复: 多谢补充!

    2019-03-22
    4
    62
  • 西西弗与卡夫卡
    还有性能分析和调优,比如Java有JVM内存模型和运行参数调优,运维有单CPU多CPU的硬件模型和操作系统参数优化

    作者回复: 这个类比很不错!

    2019-03-22
    12
  • hua168
    你们开发做兼职做运维了,那我们运维出路怎么办 运维又怎么学开发?😂

    作者回复: DevOps,马上就来!

    2019-03-22
    7
  • enjoylearning
    运维对网络和操作系统需要了解多一些,深一些

    作者回复: 是这样的!

    2019-03-23
    6
  • 陈斯佳
    我看完这篇文章的收获,可能和老师写这篇文章的初衷有所不同,老师写这篇文章的初衷是写给那些想学习运维知识的程序员,通过Java的框架来类比于运维的框架。而对于我来说,我本身是运维,目前正在学习Java语言,所以反而能让我从运维的视角,更好的理解和学习Java语言这门工具。

    作者回复: 不管哪个角度,有收获就好。

    2019-06-13
    3
  • 行与修
    可视化监控衍生出的网络协议、网络与安全设备、软硬件性能指标等相关方面的知识与工具也是运维工作需要关注的。

    作者回复: 非常好的补充。

    2019-03-25
    3
  • Y024
    DevOps 就是让 Eating your own dog food 来得再猛烈些,发布也得自己感受下。

    作者回复: 做得越多,越全面!

    2019-03-22
    3
  • Ankhetsin
    vagrant,webpack,npm,jcenter,mavencenter,apt,brew,cocoapod,rip,pip,composer算运维吗?

    作者回复: 当然算运维知识了!

    2019-03-23
    2
  • baiyutang
    如何系统学习呢?就是按照上面的表格类比,类比思维?

    作者回复: 一层一层地了解,至少要了解基本的用法。还有一种极致的方式,联系柴锋老师去上他的课。

    2019-03-22
    2
  • 小伟
    实际情况里,开发框架到单机部署还有很多步骤,如代码自动化编译、提交、环境版本管理、发布策略管理等。常用的工具依次是maven、github、jenkins。

    作者回复: 下一讲就是持续交付、DevOps 登场了。

    2019-03-22
    2
收起评论
显示
设置
留言
20
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部