0%

前言

增加生产力设备,记录下系统开发环境过程。

环境安装流程

1
2
3
4
5
6
7
8
setup 1 安装brew
setup 2 安装 wget crul 下载命令
setup 3 使用brew 安装 nvm node 多版本管理工具
setup 4 使用brew 安装 jenv java 多版本管理工具
setup 5 使用brew 安装 pyenv python 多版本管理工具
setup 6 安装git , 去官网下载对应系统的安装包
setup 7 安装 Maven Java打包工具;配置系统环境变量

Brew

第一步:在Mac上安装Brew

  • 由于国内安装会超时,因此推荐使用国内开源项目中的安装方式。
1
https://gitee.com/cunkai/HomebrewCN?_from=gitee_search
  • 执行脚本安装即可

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 更新
brew update
# 安装软件
brew install xxx(软件名)

#常见命令整理如下,以下命令都可带上 cask 参数:

brew search name:联网搜索软件是否存在 brew 中
brew install name:安装软件
brew upgrade name:更新软件
brew uninstall name:卸载软件
brew reinstall name:重新安装软件
brew info name:查看软件安装地址
brew cleanup:清理缓存等
brew doctor:查看建议,例如升级等

Wget、Curl

  • 使用brew 安装下载工具便于后续安装程序
1
2
brew install wget 
brew install curl
阅读全文 »

财务管理

1.财报

财报的全称是财务报告,包括财务报表及附注说明,不仅仅是财务情况的披露,更能体现一个公司的整体经营情况及行业价值链网

  • 例如,财报中会披露公司的Top5业务、Top5客户及供应商等信息,我们就可以看出这个公司的主要业务是什么、收入来源是什么、主要客户及主要供应商是谁,进而分析该公司所在行业的整体经营环境及关联关系。
  • 报表分为凭证、账簿(总账、明细账、科目余额表)、财务三表(资产负债表、现金流量表、利润表)
    • 凭证:业务凭证、损益凭证
    • 帐薄:总帐、明细账
    • 会计报表:资产负债表、利润表、现金流表。

资产负债表

  • 它反映在特定时间点上公司的财务财富状况(类似数据库中的快照)。它告诉你有多少钱可以用于投资,有多少债务要偿还,以及你作为所有者,你的资产值多少钱。查看资产负债表了解更多。它分为3个部分:资产,负债和所有者权益
  • 资产是在当前有一定价值或在未来能提供价值的东西。一般分为流动资产和固定资产两类:
    • 流动资产 包括现金以及其他打算在一年内使用或出售的东西,比如账上的现金或货架上的商品
    • 固定资产 是可以使用一年以上的实物资产,比如车辆,机器或者房产
  • 负债是你的企业欠别人或别的企业的钱,分为:
    • 流动负债 是你在一年内必须付清的债务,比如税费、采购账单、员工薪酬。它也可以包括一年内到期需支付的贷款和租金
    • 长期负债 指一年期以上的债务,它可以包括未偿还的剩余贷款或需支付的租金
    • 资产负债表是的所有者权益表示的是扣除公司负债后归属于公司股东的那部分资产以及其使用去向。
  • 所有者权益由以下构成:
    • 普通股/股本:股份制企业的所有者持有这家公司的股份。非股份制的小微企业所有者可能不持有股票,但享有所有权。在资产负债表上,这一项表示公司的所有者能够主张权利的资金。
    • 未分配利润:当公司赚钱了,它可以把钱分配给股东,也可以留存这些钱 (即保留这些利润)用来增值资产或偿还负债。当公司保留利润的时候,这部分钱应该列示在资产负债表上的所有者权益项下。

损益表

  • 损益表则让你洞察公司在一段时间里的业绩表现类似一定周期内的数据指标);因此可以用损益表来判断在某一期间是盈利或是亏损,也可以构建覆盖不同时段的损益表,比如一个月,一个季度,一年,或者几年。它告诉你公司有哪些开销,为什么赚钱或者亏损。查看损益表篇了解更多。
  • 损益表的公式是:利润(也叫净利润)= 利得(也叫收入)- 费用

现金流量表

  • 现金流是用来度量流进和流出公司的钱。现金流量表将现金流分为三个部分:经营性,投资性和筹资性。它呈现公司账上现金流入和流出的时间点,可以帮助你量入为出。查看现金流量表篇了解更多。
    • 现金流入,即进入你公司的现金,比如销售收入,收到的贷款和投资款等。
    • 现金流出,即离开你公司的现金,比如采购支出,归还贷款,支付工资等。
  • 可以用现金流公式来计算未来某一时点上(或过去某一时点上)
    • 当期现金余额 = 期初现金余额 + 现金流入 – 现金流出
  • 存在透支的情况,就是余额为负数。比如:月初有1000元。这个月中,付了1500元费用,卖了300元的产品并收到现金,另外还有1200元的赊销收入,买方要2个月后才支付。下个月初使用权责发生制的会计计量方法,资产负债表将显示公司的总价值仍为1000元,这是由1000-1500费用 + 300收入 + 1200应收账款得出。余额为-200元。
    阅读全文 »

会计基础

1. 权责发生制和收付实现制

  • 权责发生制和收付实现制是两种相对应的核算制度,由于权责发生制相较于收付实现制可以更好地反映企业实际经营情况,我国要求企业必须使用权责发生制进行核算。

权责发生制

  • 又称应收应付制。凡在本期发生应从本期收入中获得补偿的费用,不论是否在本期已实际支付或未付的货币资金,均应作为本期的费用处理;凡在本期发生应归属于本期的收入,不论是否在本期已实际收到或未收到的货币资金,均应作为本期的收入处理。
  • 简单解释:只要交易行为发生,记账周期内不管有没有收到钱,都确认记账。

收付实现制

  • 凡在本期内实际收到或付出的一切款项,无论其发生时间早晚或是否应该由本期承担,均作为本期的收益和费用处理。

  • 简单解释:只有收到钱了才确认记账,不管这笔交易实际上是发生在哪个周期。

2. 单式记账法和复式记账法

单式记账法和复式记账法是两种不同的记账方法。

  • 单式记账法:我们日常所说的流水账,只记录收入支出的流水,而没有记录流水与账户的对应关系。
  • 复式记账法:要求每一笔流水都记录在两个以上的账簿中,用于反映流水与账户的对应关系,并能够更清晰地看到每个账户的余额,我国企业所用的借贷记账法即是复式记账法的一种。
    • 记账规则:有借必有贷、借贷必相等。

3.资产 = 负债+ 所有者权益

  • 这条等式被称为会计恒等式,是一切会计对应关系和核算的基础。在我们的日常观念中,这一条等式其实是很反人类的,为什么资产会由负债组成?

  • 其实举一个简单的栗子就可以理解,正如贷款购房,房产总价 1000 万,我首付 400 万,剩余 600 万我贷款,那么在这个场景中,我已经购买了房子,1000 万就是我的资产,但这又不完全都是我自己的,只有 400 万才真正是我自己的,剩下的 600 万其实是我的负债,我还需要把负债还清了,因此,所有者权益又被称为净资产。

4. 记账方式

  • 记账方式就是把复式记账法+ 会计恒等式结合在一起,并写出会计的分录,举一些的例子:

    用现金花了100 块买衣服:

    • 借:衣服 100
    • 贷:现金 100

    用花呗花了 100块买衣服:

    • 借:衣服 100
    • 贷:花呗 100

    用花呗花了10块钱吃饭:

    • 借:吃饭 10
    • 贷:花呗 10

    「借」反映的是资产的增加、负债和所有者权益的减少,而「贷」反映的是资产的减少、负债和所有者权益的增加

阅读全文 »

1970年,诺贝尔经济学奖得主弗里德曼(Friedman)提出“企业从事旨在提高利润的活动”,这种“股东至上”主义在很长一段时间被认为是美国企业的使命。1997年,由美国近200家最著名企业的首席执行官组成的协会——商业圆桌会议(Business Round Table,以下简称BRT),他们这样定义企业的使命(Mission):管理层和董事会的首要职责是对企业股东负责,而其他利益相关者是对股东责任的派生物。
2019年8月19日,BRT 发布了一份新的企业使命宣言,其中强调企业要“为客户创造价值、投资于员工、公平且合乎道德地与供应商打交道、支持我们的社区、保护环境”。这样的使命宣言,更加强调企业的社会责任(Social Responsibility),即企业股东利益最大化可以,但是有条件。
由此得出企业存在的意义就是盈利,通过各类经济活动获得利润,并向股东分红;同时为了扩大经营,又会不断获取新的投资。

一、什么是财务

财务是一个很泛的概念,可理解为跟公司资金流动相关的一切活动及关系,按照财务管理的定义,一般会包括筹资、投资、日常管理及利润分配四部分。公司里只要是跟钱相关的,都需要有财务的介入,而当业务进行到一定体量时,财务会深入业务流程以控制成本、提高收益率,同时财务还会负责公司的经营风险评估和控制,影响公司的经营决策。

  • 筹资即是筹措资金的动作,包括外部融资和内部融资两种方式,所谓有钱才能办事,筹资是一切经济活动开展的基础
  • 投资即是把筹到的资金进行合理使用,这里的投资不仅仅包括我们平时常见的对外投资,还包括对内投资,即是将资金用于扩大内部生产经营
  • 日常管理则是财务的日常工作,包括预算、应收应付管理、存货管理、成本控制等等一系列细致而繁杂的工作
  • 利润分配就是大家喜闻乐见的分钱环节,辛辛苦苦一整年,就盼着最后分点钱
  • 对企业日常经济活动进行记录、衡量、出报表的过程。
    • 会计主体:设定会计范围、公司主体范围
    • 持续经营:没倒闭,理论上无限期。
    • 分期:月报、季报、半年报告、年报。
    • 货币计量:设定记账本的货币,本国货币:人民币。
    • 全责发生制:以收取款项的权力,和支付款项的义务为标志来确定本期收入和费用会计核算基础。

财务相关的知识领域

国内“注册会计师”的六大学科。

  • 《会计学》主要对应“对经济事项的记录、分类和汇总,输出财务报表”这一过程所适用的会计准则和执行规范;
  • 《财务管理》主要对应站在甲方企业的视角,进行资本管理、投融资管理、收入成本管理、盈余管理、预算管理和财务分析等活动;
  • 《公司战略与风险管理》主要对应企业的战略分析、制定和管理,以及风险管理等活动;
  • 《审计学》主要对应审计的一般程序、内部控制、职业道德等内容;
  • 《经济法》和《税法》主要对应我国商业相关法律法规的框架构建、制度要求和执行规范。

岗位划分

常见的财务活动如,财务规划、收入核算、总账与报表、固定资产管理、员工薪酬、税务等

  • 按照岗位划分的话,财务可以被划分为会计、出纳、审计、财务管理等。
  • 除此之外,财务工作和岗位还包括内部控制、风险管理、税务筹划、信息披露、上市筹备等。除去这些基础业务岗位,很多集团型公司尤其是上市公司还会单独设置信用会计、成本会计、资金专员、税务专员、预算专员、财务BP等细分岗位,以满足更为细致的数据出具和财务管理要求。

财务软件

  • 一家集团型公司尤其是上市公司,其财务核算、财报编制、财务管理、税务管理、经营内控等制度要求都是非常严格、标准和精细化的。当一家公司的财务信息化建设到达一定规模时,其财务管理相关的IT投入会逐渐发生边际成本递减,而这一切成本集约化的前提,便是构建一套符合公司业务场景、流程的现状与未来,能够准确进行数据输出并辅助管理决策的自研财务产品体系。

  • 正常情况下,业务系统通常只会记录流水,正确的记录业务流水。通过会计账单引擎进行转换,转换成财务需要的凭证格式。

阅读全文 »

前言

幸得领导信任,负责BOI项目资料整理申报;第一次做跨国项目申报,资料多次修改后最终申请通过,历经4个月申请排队;终于在2023-04得到BOI批准。

集团直接受益

相关企业连续8年企业所得税减免,可购买泰国土地。

BOI是什么?为何泰国和外国投资者想在BOI 开展业务?

与其他国家/地区相比,有很多泰国和外国投资者更注重在泰国做生意。因为泰国有很多优势,无论是气候,地理资源,位子适合作为东盟的中心。尤其是陆上,水上和空中的运输,有很多专业的劳动力,具有数量和质量潜力的农业原料,有各种各样的农产品,例如:大米,橡胶,甘蔗,蔬菜和新鲜水果。所有这些都足以为投资者创造利润和回报。因此,政府建立了投资促进计划(BOI),以支持和鼓励希望在泰国做生意的投资者,并为外国投资者增加投资的吸引力。

BOI 是什么?

  • 泰国投资促进委员会(BOI)是主管投资的部门,或者更准确地说是泰国政府负责制定投资奖励优惠政策并为投资者提供协助服务的组织。主要职责是促进泰国的投资事业、制定投资奖励优惠政策及相关的指导政策、向投资者提供奖励并为投资者提供相关的服务,包括刺激经济计划和可持续发展国家,包括吸引更多的外国投资者在该国投资,可以加入BOI的公司必须通过标准和符合BOI的条件。

在BOI 的业务会得到哪些好处?

1. 税收方面的优惠

  • 免征企业所得税,最长不超过13年(取决于业务类型和条件)
  • 减免50%的所得税 5年(仅适用于投资促进区)
  • 免/减免机器进口税
  • 免/减免原材料进口税
  • 免开发用品进口税

2. 与税收无关的优惠

  • 允许外国人持有100%的股份(具有其他特定法律的公司除外)。
  • 允许土地所有权
  • 允许熟练的工匠/专家的外国人来泰国工作
  • 允许家庭跟随外国雇员进入到泰国(父母,配偶,子女)
  • 允许外国人可以寄钱或汇款到国外

批准要求投资促进有什么标准?

  1. 发展各部门的竞争力农业,工业和服务业
  2. 预防对环境质量的影响
  3. 有最低的投资和项目可行性

其实,将公司进入BOI并不困难,但是需要仔细和周到地准备文件,检查业务是否符合BOI设定的条件,
如果完全符合BOI的要求,并且文件完整则可以申请。向BOI请求支持将帮助您会获得各种好处,对您的业务对有利。

BOI的业务有以下8种类型:

种类 行业类别 例子业务
1 农业及农产品加工业 生产加工淀粉、生产医疗食品、生物肥料等.
2 矿物、陶瓷和基础金属 矿产勘探、生产玻璃或陶瓷制品、生产钢铁上中下游业务等
3 轻工业 生产医疗器械或零件、生产家具、生产玩具、生产纺织品等
4 金属产品、机械设备和运输工具 机械制造、配件、发动机、交通工具部件、摩托车等
5 电子与电器业 生产电器及部件、硬盘驱动器、微电子物质、数码科技等
6 化工产品、塑料及造纸 药品、印刷品、工业化工产品、塑胶包装制品、纸制品等
7 服务业和公用事业 公用行业和基本服务、大众货物运输业务、医疗服务、旅游业等
8 发展科技创新 发展生物技术、纳米技术、先进材料、数字技术等

OI申请流程共有8个步骤

1. 研究咨询基本信息资料

  • BOI申请人可以通过以下网站 www.boi.go.th 或 BOI中央、BOI区域 、外交部研究BOI的信息。

2. 提交投资促进请求(仅在线提交)

  • BOI申请人可以通过 www.boi.go.th 电子投资促进系统提交请求。

3. 项目说明

  • BOI申请人预约负责该项目的BOI官员,在提交请求之日起的10个工作日内澄清项目。

4. 项目分析

  • BOI官员进行分析项目,考虑时间是根据投资规模。

5. 审批结果通知

  • BOI官员将在确认会议决议后7天内通知审批结果。

6. 接受投资审批结果

  • BOI申请人在接受投资委员通知书的1个月内,要通过以下两种方式对投资促进决议做出回应:通过电子投资促进申请系统(e-Investment Promotion )或填写纸质的项目审批结果确认表(表格F GA CT 07)

7. 办理领取投资促进证

  • BOI接收者,要去申请 领取 “投资促进证 “,并向 BOI 提交相关证据。在回复投资决议后6个月内通过纸质形式或者电子投资申请系统(e-Investment )填写递交领取投资促进证申请表(表格F GA CT 08)以及其他相关文件。

8. 颁布投资促进证

  • 在收到促销证书和完整证据的 10 天内,BOI 官员将颁布”投资促进证 “。

故障管理

故障永远只是表面现象,其背后技术和管理上的问题才是根因。技术和管理上的问题,积累到一定量通过故障的形式爆发出来,所以故障是现象,是在给我们严重提醒。在日常运营中,无论什么原因,产品出现服务中断、服务品质下降,导致用户体验下降的情况,都称为故障(故障不包括用户方环境引发的场景)。

  • 在日常运营中,无论什么原因,产品出现服务中断、服务品质下降,导致用户体验下降的情况,都称为故障(故障不包括用户方环境引发的场景)。
  • 为什么会频繁出故障?
  • 为什么一个小问题或者某个部件失效,会导致全站宕机or服务不可用?
  • 为什么发生了故障没法快速知道并且快速恢复?

故障管理规划

  1. 紧急联系人清单:建立一份紧急联系人清单,列出技术团队成员、管理层、供应商以及其他关键利益相关者的联系信息。确保所有人都知道如何联系到这些人,并在必要时可以迅速响应。
  2. 故障分类与级别划分:建立一份故障分类与级别划分表,将故障划分为不同的级别,例如紧急、高、中、低等级别。定义每个级别的响应时间和解决时间,以及分配给哪些人员和团队进行处理。
  3. 值班制度:建立一份值班制度,确保团队可以在任何时间响应故障。值班制度应该包含轮值制度、联系人信息、响应流程和注意事项等方面的细节。
  4. 故障报告和跟踪:建立一份故障报告和跟踪系统,以便团队可以及时记录故障、跟踪解决进度、追踪根本原因,并确保所有人都可以访问这些信息。故障报告和跟踪系统可以是一个内部的工具,也可以是一个第三方工具,如Jira或ServiceNow等。
  5. 预防措施和持续改进:故障管理不仅仅是应急响应,还需要预防措施和持续改进。团队应该分析故障原因,识别重复出现的故障,并采取措施防止它们再次发生。同时,团队应该不断优化流程,提高响应速度和解决效率。
  6. 培训和知识共享:建立一份培训和知识共享计划,确保团队成员具备必要的技能和知识。团队应该定期组织培训,分享最佳实践和经验,并建立一个知识库,以便所有人都可以访问有用的信息。

产研故障等级划分

  1. 一级故障P0:一级故障是指对业务或客户产生严重影响的故障,例如系统崩溃、数据丢失或业务无法正常运行等。一级故障需要立即处理,必须由最高级别的技术人员或高管介入处理,并且立即解决。
  2. 二级故障P1:二级故障是指对业务或客户产生较大影响的故障,例如某些业务功能无法使用或性能下降等。二级故障需要及时处理,由具备高级别技术经验的人员处理,并且需要在30分钟内解决。
  3. 三级故障P2:三级故障是指对业务或客户产生轻微影响的故障,例如某些功能无法正常使用,但业务可以继续运行等。三级故障需要尽快处理,由具备相关技术经验的人员处理,并且需要在2个小时内解决。
  4. 四级故障P3:四级故障是指对业务或客户影响不大的故障,例如某些功能异常或提示信息错误等。四级故障需要在合理时间内解决,由具备基本技术经验的人员处理,并且需要在8个小时内解决。
  5. 五级故障P4:五级故障是指对业务或客户影响较小的故障,例如一些次要功能无法使用或界面样式问题等。五级故障需要在适当的时间内解决,由具备一定技术知识的人员处理,并且需要在8个小时内解决。

产研故障来源分类

  1. 系统故障分类
    1. 基础设施故障:互联网公司的基础设施包括服务器、网络、存储、数据库等,故障可能会导致系统宕机、数据丢失等问题。这些故障通常需要进行设备维护、系统监控、灾备恢复等方式进行处理。
    2. 软件故障:软件故障是指由于软件设计缺陷、编码错误、系统兼容性问题等原因引起的故障。
      1. 集成错误:包括系统集成错误、组件集成错误等。这些错误通常是由于研发人员在系统或组件集成过程中出现的错误导致的,需要通过集成测试、回归测试等方式进行检查和修正。
      2. 性能问题:包括系统性能问题、代码性能问题等。这些问题通常是由于研发人员在编写代码或设计系统时未考虑到性能因素导致的,需要通过性能测试、优化等方式进行检查和修正。
      3. 安全问题:包括系统安全问题、数据安全问题等。这些问题通常是由于研发人员在设计或编写代码时未考虑到安全因素导致的,需要通过安全测试、漏洞扫描等方式进行检查和修正。
      4. 用户体验问题:包括界面设计不当、功能不完善等。这些问题通常是由于软件设计或编写时未考虑到用户需求导致的,需要通过用户反馈、用户调研等方式进行检查和修正。
      5. 界面故障问题:包括用户界面显示不正常、功能按钮无法点击、菜单无法弹出等问题。这类故障通常与用户交互相关,需要进行UI调试和界面优化。
      6. 功能故障问题:包括软件功能无法正常使用、程序崩溃、功能异常等问题。这类故障通常需要进行代码调试和功能重构。
    3. 人为因素:人为因素是指由于员工的失误、操作不当、意外或恶意行为等原因引起的故障。
      1. 编码和文档错误:包括代码错误、文档错误等。这些错误通常是由于研发人员在编写代码或文档时出现的错误导致的,需要通过代码审查、文档审查等方式进行检查和修正。
      2. 系统配置错误:包括系统配置错误、环境配置错误等。这些错误通常是由于研发人员在系统配置或环境配置时出现的错误导致的,需要通过系统配置检查、环境配置检查等方式进行检查和修正。
    4. 环境因素:环境因素是指由于自然灾害、供电故障、通信中断、网络异常等外部因素引起的故障。
    5. 第三方服务故障:第三方服务故障是指由于供应商服务故障、维护计划、升级等原因引起的故障。
  2. 时间分类:白天故障、夜晚故障、周末故障。
  3. 来源分类:用户报告、自动化告警、监视系统等。

故障来源

故障生命周期

故障生命周期流程

故障管理任务

故障管理任务分解

故障前

提前达成共识,上线运营前的问题统一称为bug,上线运营后的问题统一称为故障&事故。

故障预防

产研故障预防流程

处理预案

第一原则:优先恢复业务,而不是定位问题。(在故障组处理的第一原则优先考虑恢复方案)

  • 业务恢复预案
    • 信息通报(工单登记、邮件通知技术团队)。完成上述第一步后,通常会给相关技术和业务团队通报故障初步信息,包括登记、影响面、故障简述以及主要处理团队。
    • 确定故障影响面及等级。故障会通过监控、告警、业务反馈或用户投诉几个渠道反馈过来,这时技术支持会根据故障定级标准,快速做出初步判断,确认影响面,以及故障等级。
    • 组织故障会议。对于无法马上恢复或仍需要定位排查的故障,根据问题紧急程度就近处理。
  • 恢复系统预案
    • 重启;大多情况下适用多数情况,但是重启后容易出现脏数据。
    • 回滚;回滚的条件是,故障与最近发布有关。
    • 降级;暂停出问题的模块,需要与业务方沟通,暂时离线出问题的模块。
    • 限流、扩容;如果是系统扛不住业务流量,可以选择扩容服务。如果不能扩容,可以选择限流,按照一定百分比的流量限流。

故障中

故障应急流程由故障应急小组来主导。对外同步信息,包括大致原因,影响面和预估恢复时长,同时屏蔽各方对故障处理人员的干扰;对内组织协调各团队相关人员集中处理。

故障发现

  • 确认故障的有效性,登记故障缺陷。同步故障信息给对应的技术团队。

故障定位

故障发生后,一定要严肃对待。大多数情况下,会过渡盯着故障本身,而揪着相关责任人不放。进而形成一些负面影响。为此将注意力转到故障背后的技术和处理更为合适。

  • 评估大致原因,影响面和预估恢复时长。组织应急小组处理故障。
  • 在大多数情况下故障定级别都是在处理环境评估,为了提高整体效率,在需求评审和技术评审阶段就应该完成相关业务故障所带来的故障风险。将工作前置化处理,降低运营阶段处理周期。
  • 如果使用到了第三方的服务,如公有云的各类服务,包括 IaaS、PaaS、CDN 以及视频等等,原则就是默认第三方无责。

故障恢复

  • 确定故障处理方案
    • 包括:正常业务流程处理提交数据修改 / 修改配置 / 回滚 / 紧急版本发布
  • 协调推进故障处理
    • 避免扯皮推诿。避免争执不清,甚至出现诋毁攻击的情况。
    • 正视问题,严肃对待。找出自身不足,作为改进的主要责任者,来落地或推进改进措施。
  • 客户沟通
    • 与客户保持联系,

故障后

故障复盘

复盘的目的是为了从故障中学习,找到我们技术和管理上的不足,然后不断改进。

  • 主要针对故障发生时间点,故障影响面,恢复时长,主要处理人或团队做简要说明。

  • 故障处理时间线回顾。技术支持在故障处理过程中会简要记录处理过程,这个过程要求客观真实即可。业务恢复后,与处理人进行核对和补充。这个时间线的作用非常关键,它可以相对真实地再现整个故障处理过程。

  • 确定相关故障原因,故障根因的改进措施进行讨论;就事论事

    • 第一问:故障原因有哪些?
    • 第二问:如何避免再出出现类似故障?
    • 第三问:当时恢复业务方式?
    • 第四问:当前系统中是否存在类似的潜在风险?
  • 故障完结统计,故障完结报告的主要内容包括故障详细信息,如时间点、影响面、时间线、根因、责任团队(这里不暴露责任人)、后续改进措施,以及通过本次故障总结出来的共性问题和建议。这样做的主要目的是保证信息透明,同时引以为戒,期望团队也能够查漏补缺,不要犯同样的错误。

  • 定责的过程是找出跟因,针对不足找出改进措施。落实责任到人。定责的目标,是责任到人。并且让团队成员意识到自己的不足。对故障处理的坚决态度。

  • 高压线,类似酒后不开车,

    对于明知高压线依然触犯导致故障需要处罚。

    • 未经技术主管授权,私自变更线上代码和配置。
    • 未经技术主管授权,私自在业务高峰期进行网络配置变更。
    • 未经技术主管授权,私自在生产环境调试。
    • 未经技术主管授权,私自变更生产数据信息。
    • 未经技术主管授权,私自将未验证代码合并至主分支。

持续改进

无论是理论还是实践,均证明故障只要有发生的可能,它总会发生。所以为了保障业务稳定性,需提前发现、解决风险,及时发现、定位原因、快速恢复故障,同时要确保改进措施有效落地、避免故障重复发生,我们需要建立一个规范可遵循、闭环的故障管理体系。

  • 改进措施:基于复盘信息制定可验的证改进措施,完成时间点,负责人。如果改进措施无效,故障还会重复发生。

故障量化

SRE

Site Reliability Engineer 目前仅实施小部分关键内容,完成最小MVP。SRE-稳定性目标

  • 尽量减少系统故障或异常运行状态的发生,提升系统可用的运行时间占比。
  • 这里需要考虑三个因素:成本因素、业务容忍度、系统稳定程度
系统可用性 故障时间/年 故障时间/月 故障时间/周 故障时间/日
90% 36.5天 72小时 16.8小时 2.4小时
99% 3.65天 7.2小时 1.68小时 14.4分
99.9% 8.76小时 43.8分钟 10.1分钟 1.44分
99.99% 52.56分钟 4.38分钟 1.01分钟 8.66秒
99.999% 5.26分钟 25.9秒 6.05秒 0.86秒
  • NOC(Network Operation Center)或者叫技术支持 ,这个角色主要有两个职责:一是跟踪线上故障处理和组织故障复盘,二是制定故障定级定责标准,同时有权对故障做出定级和定责。

  • 要提高系统的稳定性,就要制定衡量系统稳定性的相关指标,系统的稳定性指标主要有以下两个:

    • MTBF,Mean Time Between Failure,平均故障时间间隔。
    • MTTR,Mean Time To Repair, 故障平均修复时间。
      • MTTI(Mean Time To Identify,平均故障发现时间;故障发现,故障发生到响应)
      • MTTK(Mean Time To Know,平均故障认知时间;故障定位,根因或是根因范围定位出来为止)
      • MTTF(Mean Time To Failure,平均失效前时间;故障恢复,采取措施恢复业务)
      • MTTV(Mean Time To Verify,平均故障修复验证时间;故障恢复验证,故障解决后验证业务恢复所用时间)
  • 核心目标

    • 提升 MTBF,也就是减少故障发生次数,提升故障发生间隔时长。
    • 降低 MTTR,故障不可避免,那就提升故障处理效率,减少故障影响时长。

SLI

SRE体系建设-可用性建设

  • 容量(Volume):服务承诺的最大容量是多少,从QPS、TPS、流量、连接数、吞吐量;
  • 可用性(Availability):服务是否正常,看HTTP状态码2xx的占比;
  • 延迟(Latency):服务响应速度是否够快,rt是否在预期范围内;
  • 错误率(Errors):错误率有多少,看HTTP状态码5xx的占比;
  • 人工介入(Tickets):是否需要人工介入处理,考虑人工修复。