这里是2022年第4期的 OneAuth《身份月报》—— 致力于成为对大家“有用”的 Highlight 看板——每月初通过公众号以及 EDM 邮件等渠道发布。也欢迎大家转发和反馈。
对于任何反馈(包括但不限于内容上、形式上)我们不胜感激、并有小惊喜回馈,例如你希望从“身份管理月报”中看到哪些内容;自己推荐的信源、话题、会议等;内容排版或呈现形式上有哪些可以改进的地方等,对与 OneAuth 的期望等等。我们欢迎更多的小伙伴参与“月刊”内容的共创,感兴趣的朋友请扫描文末的微信二维码联系我们,记得报暗号“ OneAuth 共创”。
希望此后的日子里,《身份管理月报》能与各位如期相见、偶尔启发。
下面分享 OneAuth 工程设计原则,并随着我们的实践和学习,不断进化,以及7月的新的发布。以下为月报正文:
01.让失败的代价更低
我们无法避免所有的错误,每个软件系统都会遇到故障,代码都有错误的时候。虽然,我们尽所有可能的减少代码错误的数量,但假设它们不会发生是不现实的。
因此,除了采取预防的措施之外,我们还需要尽可能的让失败的代价更低。
在开发时间线上,推进的越深入,失败的成本越高,付出的学费也昂贵。在需求收集和设计期间进行调整比在生产中发现问题要便宜得多。
以下是失败时间对应与付出成本的曲线:
失败成本曲线
02.从失败中获得启发
我们的第一次失败是这样发生的,从 APP、IAM 到代理网关,我们尝试满足来自客户的一切需求,为了满足不同的场景需要,定制了不同的版本,最终让整个产品体系难以维护。
当然,我们在亲身实践以前,无法预测我们会遇到的困难,但是,我们可以让失败的代价更低。
失败的启示:我们无法预测失败,但可以让失败的代价更低
1.采用第三方专业的服务永远胜过自己造轮子
采用专业的身份的服务商,会让身份管理更简单,而不用每个应用都去开发身份管理的模块
采用专业的邮件发送服务商,会让邮件的到达率会更高,而不是自己去实现邮件的服务
2.尽可能评估是否有开源的方案
在组件的选择上,尽可能选择成熟的组件,例如我们没有必要去自己实现API的网关,Kong和API Six可以满足我们足够的需求
3.最重要的一点,在开发的时间表中,尽早的发现失败
我们从敏捷和 XP(极限编程)中得到的一个基本原则是,在开发时间表中尽可能早地推动失败。如原则一中所述,我们与客户快速迭代,以避免因糟糕的需求收集而导致的失败。一旦我们开始设计和开发,我们就可以通过以下方式降低失败的成本:
在编写代码之前与利益相关者进行设计审查
TDD - 开发人员为他们的代码编写所有测试;测试不是与开发分开的阶段
保持 master 稳定 - 通过所有单元、功能和 UI 测试来控制对 master 的签入
开发者可以在任意主题分支上触发 CI;CI 在快速机器云上大规模并行化
在 OneAuth 我们的测试阶段需要在开发期间完成的,所以下一阶段是生产部署。在此阶段,我们通过以下方式降低故障成本:
在代码中的标志后面隐藏 beta 功能
增量部署首先测试帐户,然后分批客户
自动化部署流程
代码和基础设施向前和向后兼容,允许回滚
健康检查并自动移除宕机节点
根本没有返回降级/只读响应
下面让我们看线OneAuth 为大家带来了哪些令人愉悦的更新:
7月 OneAuth 产品更新如下产品更新如下:
1.对接云服务生态合作伙伴:北森 HRSaaS
北森是国内领先的 HRSaaS ,帮助企业实现从员工招聘、入职、管理到离职的全面数字化管理,快速提升企业的人才管理能力,提升人力资源管理效率,帮助员工快速成长,实现智慧联动。
本次对接新增以下功能的实现:
账号同步:增加新 IdP 北森,支持从北森 HRSaaS 同步组织结构和用户到 OneAuth
单点登录:应用市场中增加了新应用北森,支持由 OneAuth 单点登录北森的 Italent、招聘系统、闪电招聘、面试官工作台等子系统。
2.新增特性:任务中心
任务中心:优化了系统的性能,对于批量的操作进行性能的优化,执行较长的任务被放置到任务中心。
管理员可以在任务中心查看当前任务执行的状态,数据处理情况:包含输入,用户同步状态、更新用户状态、授权等异步批量的操作。
3.开发友好性优化
对核心的API开放,包含了用户、用户生命周期管理、组织和部门管理、组织和部门成员管理的API的开放,开发者可以通过Postman Fork Collection到本地环境进行调试。
4.应用市场更新
应用市场中增加了新的应用模版:阿里企业邮箱,北森