全栈工程师修炼指南
熊燚(四火)
Oracle 首席软件工程师
32206 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
全栈回顾 (1讲)
加餐 (1讲)
全栈工程师修炼指南
15
15
1.0x
00:00/00:00
登录|注册

28 | Ops三部曲之一:配置管理

产品成长的见证人
从做项目到做产品
项目沟通者和管控者
需求的独立实现者
编码工作者
程序员的独立性
Nginx配置
反向代理
DevOps
阶段
Nginx的配置模板
DSL
ControllerClassNameHandlerMapping
CoC
继承关系
资源文件
配置管理服务
运行参数
环境配置文件和环境变量
代码中的配置文件
源代码中的常量
项目的各个阶段存在的配置
软件代码中的配置
互有重叠
产品发布环节
开发测试环节
广泛
部署发布
自动化流程
配置管理
环境搭建
Operations
扩展阅读
程序员的“独立性”
配置模板
规约优于配置
配置的层级关系
常见的配置方式
配置管理
Ops和开发、测试的分界线
Ops的范围
Ops
Ops三部曲之一:配置管理

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

你好,我是四火。
欢迎进入第五章:寻找最佳实践。本章我们会讲到 Ops,由于 Ops 的范围实在太广了,因此从今天开始,接连三讲,我们会讨论 Ops 的三个常见话题,今天要谈的就是其中的第一个——配置管理。
我们总在谈论 Ops,所谓 Ops,指的就是 Operations,如果你专门去搜索,你恐怕也很难找到一个准确的定义。在中文翻译上看,“运维”这个词用得比较多,但是我认为 Ops 的含义明显更为广泛。我的理解是,和实际的软件开发和质量保证相对应的,环境搭建、配置管理、自动化流程、部署发布,等等的实践活动,无论线上还是线下,无论它们是在开发测试环节还是产品发布环节,都可以算作 Ops。
当然,我们并不需要执着去找出 Ops 和开发、测试的分界线,它们实际是互有重叠的,我觉得维基百科上的这张图就很好地展示了这一点。
我想很多程序员不喜欢 Ops,也不愿意谈 Ops,这都可以理解,毕竟,和开发本身比起来,它没有那么多的创造性,有时甚至属于“重要但无趣”的工作。但是,我必须要强调的是,不只对于全栈工程师而言,Ops 能力对于每一个通常意义上的软件工程师来说,都是必须要锻炼的重要方面。
需要明确的是,我今天要讲的配置管理,我认为就是 Ops 的一个重要部分,它关注的是软件代码以各种形式,在项目的各个阶段存在的配置。几乎每个做运维的人都要经常去修改大量的线上配置,无论是来自操作系统还是应用本身。这个话题很少有人谈及,但却存在于每个程序员的日常工作中。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Ops配置管理是软件工程中至关重要的一环,本文深入探讨了常见的配置方式,包括代码常量、代码中的配置文件、环境配置文件和环境变量、运行参数以及配置管理服务。文章强调了Ops能力对每一个软件工程师的重要性,并详细阐述了配置的层级关系和合理设计的重要性。此外,文章还介绍了规约优于配置的概念以及配置模板的应用。在选修课堂中,文章探讨了程序员的“独立性”在软件工程中的重要性,并将Ops作为提升独立性的重要部分。总的来说,本文内容丰富,适合想要了解Ops配置管理以及软件工程师独立性提升的读者阅读。 文章还提到了产品成长的见证人,探讨了程序员在产品探索性工作中的角色。此外,还介绍了DevOps的概念以及反向代理和Nginx的相关内容。这些内容为读者提供了更广泛的技术视野,帮助他们更好地理解软件工程中的各种概念和工具。 总的来说,本文内容涵盖了Ops配置管理、软件工程师独立性提升以及其他相关技术领域的内容,适合对软件工程和DevOps感兴趣的读者阅读。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《全栈工程师修炼指南》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • LiYanbin
    自己处在独立性的哪个阶段? 一名后端开发者,毕业快三年了,前两年,应该是在第二阶段,但是又和文中的第二阶段有点不同,需求很简单,需要做需求分析,需要沟通。现在还是在第二阶段,但同时在往第三阶段和第四阶段发展,希望自己能够成为一个leader

    作者回复: 👍

    2020-02-19
    1
  • tt
    自己处在独立性的哪个阶段? 在银行的省级分行工作,因为人手不多,所以五个阶段哪个都干过。 第四个阶段回忆一下,应该是从16年发端的。项目诞生之初,出发点很简单。但是随着业务和监管的变化,功能不断增多。加上最初设计结构(不能叫架构,因为一开始的目的很单一,虽然涉及到的模块很多)带来的约束和当初对扩展性的考虑,在新增功能时,这个系统就像小说里的人物一样,开始有了自己的性格,按照诞生时被注入的逻辑不断生长。业务最终有一天会涨到需要被重构的时候。 第五个阶段是从去年开始的,因为直接和一般用户而非银行特定用户打交到,在设计上有了很多实验和探索,基于分行的现状和特点对系统提出了很多定位。同时也产生了更多的想法和思考,希望它可以更好的长大。 也正是这个项目,让自己有了全栈的需要。

    作者回复: 👍

    2019-11-13
  • Luano
    毕业一年,一进来就是系统负责人,一个生命周期处于中后期的旧系统,ops很累,一个新系统,需要以产品的眼光看,也算是见证了它的成长…… 很幸运能再这一年多工作中把所有阶段都体验了一遍,目前计划是离职,正在交接工作,之后会创业,,也会吧这些阶段都走一遍吧,而且是加上我,从第五阶段重新走回第一阶段。 阶段的讲解是有益的,要是早点看到,我估计也不会这么快提离职了,每个阶段还需🈶️更深入的体会,希望在累死累活的创业篇,我能做到!
    2023-07-19归属地:广东
  • Geek_74d3ac
    我认为源码中的常量和运行参数是有明显差别的 源码中的常量,更多是为了良好的说明其含义,统一抽象出代码中各处是用的相同值,而“常量”本身就是意味着变动频率往往相当低的。 例如我们常说要用常量为代码中的 magic number 命名,赋予具体的含义。这些 magic number 实际上大概率并不需要变动的。 而运行参数,显然你把一个参数设定运行参数,你默认的预设就是他是可变可配置的。可以类比函数的参数
    2020-09-16
  • 丁丁历险记
    配置本身也是开销 最爱终极偷懒大法 开发是多用规约>配置。 我喜欢单独抽一个 EnumProduct 类来定义常量 final 必须的。 通常参数配置文件 params-menu.xxx params-menu-local.xxx 加载时 merge 一下,后面覆盖前面。
    2019-11-28
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部