关于devops:极狐GitLab-154-四大专享更新更能打的CICD近-50-项更新全面来袭

因循月度公布的传统,明天带来了极狐GitLab 15.4。本文仅重点展现 47 项改良中的 8 个性能个性。若您想一览残缺性能更新文档,请滑至文末,点击最下方链接即可 get 47 项性能更新,enjoy~ 点击我 get 全副 47 项性能更新

September 29, 2022 · 1 min · jiezi

关于devops:IaC-存储最佳实践

往往一些胜利的软件公司在构建解决方案的时候非常重视其可重复性、可审计性、和简便性,而基础设施即代码(IaC)的呈现让开发人员可能将这些工夫利用于基础设施的调配。目前的存储 IaC 的实际有以下三种: IaC 与应用程序和性能代码一起存储IaC 独自存储在特定于应用程序的存储库中企业中所有应用程序的所有 IaC 代码存储于同一个存储库中本文将带你一起探讨这几种 IaC 存储解决方案之间的利弊,并摸索合乎企业需要的 IaC 存储最佳实际。 IaC 与性能代码一起存储存储 IaC 最简略间接的办法是将所有 IaC 代码保留在应用程序存储库中,该应用程序存储库将此 IaC 代码用作其 CI/CD 流水线的一部分。这样的存储形式易于设置,不须要简单的权限调配,并且对应用此代码库的开发人员齐全可见,这样就可能轻松检索上下文。这也就是为什么有一部分开发人员抉择总是将性能代码和 IaC 存储在同一个 repo 中的起因。然而将 IaC 代码于性能代码存储在一起存在许多问题。 软件开发最佳实际包含最小化冗余。IaC 不仅蕴含特定于应用程序的调配信息,还蕴含所有的底层基础设施(底层基础设施就是企业能够跨多个应用程序和生态系统共享的公共基础设施)。此类基础设施的例子包含 Kubernetes 集群和日志存储帐户。 此外,将 IaC 代码与特色代码一起存储会带来平安危险。容许开发人员以管理员级别拜访将代码投入生产所需的所有部署脚本违反了最小权限准则,并使设法劫持开发人员帐户的攻击者更容易横向挪动。 因为企业的部署过程有肯定水平的保密性,部署流水线及其配置也基于企业开发需要定制的,因而也让开发过程具备肯定安全性。然而将 IaC 与应用程序的性能代码存储在一起,让领有企业应用的服务映射的攻击者可能更轻松且胜利地发动软件供应链攻打。此外,将 IaC 与性能代码一起存储可能会使代码受到透露,同时泄露所有 CI/CD 配置,不仅会对相干应用程序产生微小影响,同时也给整个企业造成损失。 这样看来,将 IaC 与产品代码一起存储尽管更容易进行最后设置,但违反了最小特权准则和零信赖准则。这种存储代码的办法引入了不必要的平安危险。 所有 IaC 代码存储在一起并不可行因为将带有性能代码的 IaC 存储在公共存储库中并不是最佳解决方案,那么将所有 IaC 存储在专用 IaC 存储库中怎么样?这样既可能容许 DevOps 和平安团队施行精准的访问控制,也能让代码冗余易于辨认和预防。 但这样的存储办法同样会给企业带来一些麻烦。当所有 IaC 都存储在独自的共享存储库中时,很难将性能更改与 IaC 更改相匹配。这种状况会给开发过程许多问题,比方升高开发人员的开发效率,同时减少开发团队、DevOps 团队和平安团队之间的摩擦。 此外,当所有 IaC 被存储在一个公共存储库中,会造成开发人员没有方法管制影响其工作流程的平安决策但问题。在不足所有权和批改任何代码特定的部署脚本所需的额定步骤之间,将所有 IaC 存储在一起时,开发人员同样无奈疾速更改 IaC,有可能还会给企业造成其余不必要的麻烦。 IaC 的类别IaC 和其余 CI/CD 脚本最终分为两类:根底 IaC 和性能 IaC。 ...

September 28, 2022 · 1 min · jiezi

关于devops:DevOps|研发效能之技术治理技术治理架构师

最近很多公司专门设置了一个职位叫「技术治理架构师」,次要负责公司技术治理相干事宜。这是个十分有意思的职位。技术治理的活,之前咱们也是做的,只是没有提的这么明确,个别都是研发效力团队、PMO、架构团队、技术委员会一起协调做这些事件。当初专门设置这个岗位,证实大家曾经意识到了技术治理的重要性和必要性,这对咱们来说是件坏事。 技术治理&研发效力首先,咱们还是回顾下研发效力的定义和外围价值 研发效力是一个组织继续高效交付产品的能力,以及围绕进步这一能力所建设起来的由标准、流程、规范、工具、度量体系、实际等组成的系统工程体系。研发效力包含标准制订、流程优化、工具建设、研发度量和实际这五个方面。公众号:scmroad什么是研发效力?研发效力定义及外围价值从研发效力的外围价值咱们能够看到标准、流程、规范、工具、度量和实际等组成了研发效力的系统工程体系,而这正是技术治理波及的方面,比方制订相应的研发标准、梳理相干流程等。这些技术类标准须要各种平台的撑持,其中波及产研局部很大水平上须要研发效力团队的反对。 技术治理的目标梳理公司技术现状、制订技术治理方向协调制订技术选型、研发流程等技术类标准解决公司业务倒退过程中遇到的共性问题和技术挑战为不同业务场景提供全面的技术解决方案进行规章制度、标准、平台应用的宣传、培训、布道、配套工具推广等技术治理的指标作为业务方,对立对基础设施资源布局和治理做出反馈,同时提出业务诉求梳理公司各业务线的研发流程、发现薄弱环节、优化研发流程进步产研效率梳理业务线对根底平台侧的业务诉求,增强工具撑持对员工进行规章制度、标准、平台的培训,使员工疾速上手、高效工作收集业务侧对规章制度、标准、基础设施建设等的需要解决业务侧在应用公司底层基础设施建设中遇到的问题推动业务稳定性建设、架构优化、性能优化、品质建设等专项在具体业务选型上给出指引、把关技术治理的工夫节点越早做播种越大、阻力越小、根底越牢技术债的沉积会极大影响业务奔跑的速度技术治理的干系人架构团队技术委员会QA负责人PMO研发效力技术治理如何做制订相应的规章制度,局部制度兴许须要公司HR同学参加,比方参加代码评审的品质和数量 是否作为降职考核的参考因素等等。制订相应的技术规范,对标准制订的意义、办法、案例进行论述推动公司相应技术中台服务和能力的建设推动公司相应根底平台侧的建设针对某些迫切、重大的特定问题造成专项进行推动放弃对技术栈选型敏感,进行指引和把关对当初公司技术倒退的现状有粗浅的理解,同时洞察业界技术发展趋势对前沿技术放弃敏感动动小手,点赞转载,关注我,进「DevOps研发效力群」,理解最新研发效力倒退动向

September 28, 2022 · 1 min · jiezi

关于devops:IDC云效产品能力No1领跑中国DevOps市场

近日,寰球当先的业余市场考察机构国际数据公司(IDC)公布了《IDC MarketScape:中国 DevOps 平台市场厂商评估,2022》报告。此报告中对中国支流 DevOps 云厂商从策略(Strategies)、能力(Capabilities)两个维度进行了全面评估。阿里云云效凭借先进理念、技术服务、生态与市场的突出表现,在产品能力维度排名第一,继续领跑中国 DevOps 市场。 图源:IDC IDC 报告指出,阿里云云效 DevOps 具备以下4点外围劣势: 先进性理念:继续以先进理念BizDevOps打造产品和服务客户,通过单/多我的项目麻利合作、继续部署和交付、分级品质守护、云原生DevOps、场景化度量和改良等解决方案进行产品落地,帮忙企业疾速实现业务价值。 全链路数字化:建设基于价值流程图(VSM)的产研数字指标体系,全面笼罩团队、我的项目、迭代、需要、品质治理等多维度数据统计需要,面向效力治理各场景,提供效力决策依据。 一站式服务:性能笼罩产品研发全生命周期,在“需要—开发—测试—公布—运维—经营”各阶段都有高效工具撑持效率晋升,并与计算、存储、中间件、钉钉等泛滥阿里云产品和服务深度集成,深入全链路数字化研发协同平台价值,更好地赋能企业倒退。 安全性保障:依靠阿里云弱小的平安、存储和稳定性技术保障,实现多核心、去存储的运维监控及全面的自动化质量保证。通过了公安部网络安全等级爱护 2.0 三级认证、ISO 27001 信息安全管理体系规范认证、ISO 9001 品质管理体系认证,用户应用云效的数据在保密性、完整性、可用性和隐衷性失去独立第三方平安认证机构背书。 云效倒退历程2012年,阿里推动 DevOps 在阿里巴巴团体生态落地,2017年云效将阿里巴巴多年 DevOps 畛域实际与办法的积淀输送到业界,与"云"天生紧密结合,为云上开发者和企业提供我的项目合作、代码托管、流水线、在线IDE、测试治理、制品仓库、云原生利用交付、效力洞察等残缺的企业级一站式产研协同工具链,实现需求、开发、测试、公布、运维全链路买通,业务、产品、开发、测试、运维多角色在线高效协同。 通过10年的打磨,云效在产品易用性、数智化、安全性上失去全面晋升,提供多种智能化工具,如智能代码评审、平安扫描、缺点预测,辅助开发者更好用云;产品生态上无缝对接阿里云容器、EDAS、Serverless等云原生技术,并与钉钉买通,无效升高开发者应用云原生新技术老本,升高组织产品研发合作老本。 在服务客户的过程中,为企业组织提供先进的产研协同理念与实际办法积淀,其中BizDevOps、精益治理、麻利研发等先进理念始终是引领云效产品迭代的要害因素。先进理念积淀的产品计划和云效专家团生产的阿里巴巴研发效力三板斧系列课程,曾经服务金融、政府、证券、保险、制作、基金、批发、地产、能源、科技等不同行业数十万企业客户,真正让各行各业企业产品疾速翻新迭代,继续实现业务价值。 以后,企业数字化转型下的产研协同对 DevOps 提出了更高的要求,云效在新技术与新实际的翻新改革上一直冲破。 在帮忙企业应答业务复杂度和规模增长带来的挑战方面,云效“端到端的产研协同计划”胜利帮忙批发企业鲜丰水果晋升工程交付能力和交付品质,实现85%的需要两周内公布上线,线上问题数降落20% ,研发模式产生根本性转变,胜利实现研发流程的数字化转型。 通过实际“以利用为外围的继续交付”,云效 AppStack 利用交付平台很好地帮忙新核云等企业将不同的环境形象配置为 AppStack 资源池中的资源,做到在单平台中进行多环境部署管控,精确地对不同环境公布对应的版本,同时轻松监控不同环境上的部署和运行状况。 至今,云效已帮忙南京银行、上汽通用等泛滥企业胜利实现 DevOps 转型,帮忙鲜丰水果、商米科技、卡友地带等疾速倒退的企业实现了云原生 DevOps 落地,累计已有百万开发者享受云效带来的云原生技术红利,数十万翻新企业组织和数字化转型企业组织借助云效打造高效能组织。    将来瞻望将来,云效将更加深刻产业与行业,做好产研数字化同行者,联结产学研各界推动软件构建与交付形式的改革,在产品上致力于买通Biz(业务)、Dev(开发)、Ops(运维)全链路,继续落地 BizDevOps 理念与办法实际,让企业产研协同真正做到围绕业务指标开展,顺畅高质量地交付无效的业务价值,一直驱动业务翻新与倒退。 返回云效官网立刻体验云效 BizDevOps 全家桶,根底版收费应用。

September 27, 2022 · 1 min · jiezi

关于devops:Seal-软件供应链防火墙-v02-发布提供依赖项全局洞察

Seal 软件供应链防火墙 v0.2 已于近日公布。这款产品旨在为企业提供代码平安、构建平安、依赖项平安及运行环境平安等4大防护,通过全链路扫描、问题关联及危险组织的形式爱护企业软件供应链平安,升高企业安全漏洞修复老本。 通过 Seal 软件供应链防火墙,用户能够取得软件开发生命周期各个环节的可见性,进而以全局视角管理软件供应链。最新版本欠缺了 Seal 软件供应链防火墙的根底性能,包含依赖剖析加强、IaC扫描、插件式可扩大架以及破绽匹配规定优化等个性。 Seal 软件供应链防火墙架构图 产品文档地址: https://seal-io.github.io/docs/ 产品试用申请: https://seal.io/trial 具体的软件物料剖析据钻研显示,超过90%的企业曾经在应用程序的开发过程中引入第三方开源组件。因而,软件物料清单(SBOM)是保障软件供应链平安的重要一环。在这一版本中,Seal 软件供应链防火墙针对 SBOM 进行了加强。 依赖剖析加强古代应用程序通常建设在数百个甚至数千个第三方组件之上,这些被称为依赖组件。Seal 软件供应链防火墙针对单个我的项目或全局为用户提供依赖组件的具体洞察,包含: 反对查看和检索单个我的项目或全局的依赖组件反对查看依赖树和各组件的依赖门路提供依赖组件的发行信息、许可证、破绽状况、平安评分等信息反对导出软件物料清单(SBOM) 基于自研破绽库优化破绽匹配规定Seal 软件供应链防火墙 v0.2 开始启用 Seal 自研的聚合破绽数据库,该数据库基于上游 GitHub、GitLab、OSV 等破绽数据库进行数据聚合、荡涤及解决,优化了破绽匹配规定,并反对通过包名或者破绽名称查问破绽,从而理解破绽所影响的版本范畴及以后的修复状态。 后续 Seal 破绽数据库将继续整合各类上游破绽源并集成 Seal 平安团队的破绽钻研发现,晋升用户破绽检索体验。 灵便且弱小的平安扫描“平安左移”的理念早已成为业界共识,Seal 软件供应链防火墙基于“平安左移”的理念,在代码提交、依赖引入阶段开始进行平安扫描,确保企业用户能在开发晚期发现破绽以升高修复老本。 基础设施即代码(IaC)平安扫描与传统的IT基础架构相比,基础设施即代码(IaC)能够更高效地交付软件,同时随着企业应用云的形式愈发简单、云上基础设施的负荷一直减少,IaC的自动化配置对于泛滥企业来说具备弱小的吸引力,但同时也存在肯定的平安危险。Seal 软件供应链防火墙反对 IaC 平安扫描,能够检测包含 Dockerfile、Kubernetes 资源文件、Terraform 文件等基础设施代码中的平安问题,同时反对手动触发扫描和更灵便的定时扫描配置,并优化扫描速度。 开箱即用的第三方集成灵便可扩大架构随着软件供应链平安失去越来越多的组织器重,相干扫描工具愈发丰盛和成熟。在这一版本中,Seal 软件供应链防火墙实现了可扩大架构,用户能够依据本身应用习惯插件式集成原生或第三方解决方案,灵便扩大扫描能力,打造开箱即用的便捷体验。 集成 Jira CloudSeal 软件供应链防火墙曾经实现对 Jira Cloud 的集成,用户能够将发现的平安问题间接提交到 Jira 以便进行后续修复。 疾速上手 Seal 软件供应链防火墙本节将简略演示如何疾速部署 Seal 软件供应链防火墙,并应用 Seal 软件供应链防火墙在源码仓库和构建物仓库拦挡危险。 后期筹备一台至多4CPU,8Gi内存的Linux服务器至多50GB的空余磁盘空间服务器领有一个公网可拜访的地址,例如一个云服务商调配的私有IP地址,或者ngrok调配的代理地址(ngrok.com/)本地机器装置maven部署 Seal 软件供应链防火墙1、在 Linux 服务器上安装 Docker,具体指引参考Docker官网文档(docs.docker.com) ...

September 27, 2022 · 1 min · jiezi

关于devops:一站式DevOps真的能提速增效吗TVP吐槽大会邀您来验证

引言 随着数字化浪潮的不断深入,企业对灵便应求变动、疾速迭代交付的要求一直晋升。“提速增效”成为企业研发所越发关注的焦点。作为麻利开发理念的延长,DevOps 作为一种突破研发和运维隔膜,放慢交付流程,晋升交付品质的文化理念、最佳实际和工具办法风行至今。 近年来,一个显著的趋势是软件研发工具正从单个工具逐步转向一站式 DevOps 平台。那么,交融研发流程、协同治理、执行标准等多能力于一身的 DevOps 平台,是真正贴合需要,为不同企业“因地制宜”,还是“性能鸡肋”?可视化、透明化的效力度量,又是否能够“高深莫测”地晋升研发效力,助力团队转型?一站式 DevOps 平台到底能在多大程度上做到“提速增效”? CODING DevOps 作为腾讯云 CODING 推出的标准化、自动化、服务化、数据化的一站式 DevOps 平台,已领有超 300 万开发者和超 5 万家企业用户,当初,CODING 将登上 TVP 吐槽大会的舞台,承受业界大咖的深度体验与暴风吐槽? 当 7 位业界顶尖大咖与 CODING 产品掌舵人现场过招,会是唇枪舌剑,还是谈笑自若?当腾讯云 CODING 团队面对犀利吐槽,会是措手不及,还是见招拆招?9 月 24 日,CODING DevOps 专题 TVP 吐槽大会火爆开启,一起见证畛域大咖巅峰对决! 参会报名9 月 24 日(周六)下午 14:00-17:00,CODING DevOps 专题 TVP 吐槽大会火爆开启,限量凋谢观众见证席位,扫描「海报二维码」即可报名,看畛域大咖巅峰对决,选出你心中的 Talk King! 在会议过程中,还会有腾讯定制牛牛八音盒、太空鹅盲盒、牛牛公仔、CODING 洋葱猴公仔等多重好礼放送!报名胜利后,增加云小助微信:tvp1215,回复关键词:吐槽大会,可提前进入流动专属交换群参加互动,赢取精美礼品。 TVP吐槽大会为打造用户更为青睐的技术产品,TVP 独创技术圈的吐槽大会—— TVP 吐槽大会,为行业专家提供一个吐槽不设下限的平台,让产品团队以“槽”为镜,继续凝听实在用户心声,打磨精进产品和技术。技术玩真的,吐槽来狠的!这一次,CODING DevOps,筹备好面对疾风了吗?

September 21, 2022 · 1 min · jiezi

关于devops:互联网公司员工职级研发效能度量OKR与绩效考核

最近有两个点触动了我。第一个触动点是奈飞(netflix)做出了一个微小动作开始进行职级划分; 第二个触动点是「DevOps 研发效力群里」探讨的效力度量与绩效考核。两者之间的实质都是要给员工分出个三六九等,无论是招聘的时候还是考核的时候。我想把我察看到的一些景象分享给大家。 奈飞(Netflix)职级划分的根因 首先讲讲奈飞的职级划分。当初奈飞为啥没职级呢?以前 Netfilx 本人钱多舍得给员工。当然招聘的门槛也高,大家的技术水平有保障,平级都失常。当初为啥要进行有职级了呢?要缩减估算,要多招应届生和资格教训较浅的员工降低成本。《奈飞文化手册》重点强调了“进步人才密度”,当初要扭转了么?是的,人力老本太高,迫切希望「新人」退出。2022年注定是不平庸的一年(如同最近几年都不平庸)。 员工职级、势力与任务 员工职级一旦确定就意味着势力与任务的固定。也就是说,因为公司给予了你「高职级」(薪资待遇福利职位势力),那么具备高职级的人在各个方面都该当起到高职级人员应该承当的责任。同样,对于职级比拟低的人员,也该当起到「低职级」人员应该承当的责任。理论工作中,一旦职级划定,尤其是职级级别较多时,低级别人员的「积极主动」性都会受到打击,因为每次本人想做得更好的时候,如同都会有一个「高职级不干活」的影子在那里讥笑你。 一个特地有感触的场景就是散会,大家「肩膀」个别齐的时候,纷纷畅所欲言建言献策;忽然进来两个大佬,尤其是级别高很多(+2)的时候,大家就会不盲目地保持沉默,直到两个大佬在那讲完有了论断,积极主动的小伙伴无关痛痒的提个问题而后散会,其它人根本全程缄默。他们都感觉他俩职级高水平必定高决策必定也好,当然责任也他们来背,我为啥要发言?我不行的(我不背锅),职级(薪资待遇)不容许我发言。 另外一个特地有感触的场景是单干。A团队和B团队单干一件事,没有职级的时候,A负责人都是间接找B负责人,俩人聊完确认要单干后,个别都会指定两个团队上面的人理论执行。当有了职级,A团队负责人和B团队负责人差很多的时候,这时候两个团队想单干,个别A团队都会把本人这条线和B团队负责人对等的领导拉进来,兴许是+1级别,兴许是+2级别,或者+3级别。在沟通群里就会发现两个干活的你一言我一语在探讨,N多领导保持沉默。步兵须要炮火声援先去召唤排长、连长、营长、团长、师长、军长,再转到炮司,炮营,炮连。整个过程看似没故障,人人都在为过程负责,但没有一个人违心为后果负责,都不违心去承当结果,后果就是听失去炮火的人死去,阵地失落。让听得见炮声的人召唤炮火,让炮火间接被听得见炮声的人召唤。 研发效力度量、OKR与绩效考核 最近常常和一些业内大佬聊,大佬们很头疼的问题就是,老板拍板了要做研发效力度量,指标是掂量每个人的产出,研发效力度量的后果要在绩效考核上有所体现,即度量成果不好的扣工资。度量成果不好扣工资,OKR没超预期扣工资,KPI不达标扣工资,如同扣工资是咱们激发员工致力工作的惟一路径。 「年终奖」与「年中奖」 工资是公司依据与员工之间的约定,以货币模式对员工的劳动所领取的报酬。一旦很随便的克扣工资,员工的积极性就会受到打击,产出就会更受影响。所以当初互联网公司都是「低月薪+高年终奖」的模式。个别组成为12个月薪,外加2-5个月工资左右的年终奖。月薪不会克扣,然而年终奖会浮动变动。因为年终奖在支出中占比很大,所以大家都在致力工作,争取年初有个好收成。有的公司制订政策的人脑袋抽了开始放心拿了年终奖又跑路,所以把「年终奖」变成了「年中奖」。年中来发「年终奖」,错过了求职黄金季。 「OKR」与绩效考核 在互联网公司,咱们个别应用OKR来布局指标。指标的达成与否与绩效考核相干么?至多公司政策那帮人说是不相干的。而绩效除了考核达成的后果(这部分和OKR的指标是重合的),还要有价值观的考核。一个人的工作除了OKR中列的指标,日常还会有很多工作要做。而能在研发效力指标中体现进去的仅仅是其中一小部分。所以用研发效力度量来间接和绩效考核挂钩是相当不好的。 三者是有分割的,但不是齐全蕴含。如果咱们肯定「硬要」建立联系,可能就会变成上面这个样子。这是咱们须要的么? 研发度量与绩效考核 尽管很多公司不抵赖,然而确实是上图这个样子,比方千行代码缺陷率高于多少就扣钱。这谁敢抵赖?一旦抵赖了通过一些研发效力指标来扣工资,员工都跑了,HR 也招不到人了。 目前国内 OKR 存在的最大的问题就是 OKR 激励大家设置有挑战性的指标谋求卓越;然而这些挑战性的指标和谋求卓越的良心和掂量本人工资的绩效考核是两码事。你把本人的OKR指标设置的很高,最初成了给本人加戏。你指标设置得再完满最初还是一句话的事且很难扭转。而后又有人说如果员工把的所有工作都和绩效进行关联,行不行?这里也有很多问题。 1)首先把每天的日常工作都和绩效指标关联是一项十分耗时的工作。原本工作很多还要把一部分精力用在关联。相当于效率没进步还升高了。2)并不是所有的工作都能够量化。有很多行政类,协调类工作,不容易评估3)如果对立,那么OKR也就是KPI了。软件研发搞成 KPI 就成了看钱写代码。KPI低了大家都称心;KPI 高了很多人就走了。OKR变味。4)把日常工作和绩效关联的这件事也须要平台撑持。目前还没有比拟好的产品,只能自研。5)如果都关联好了,前期绩效后果不如员工预期,会对员工和下级、HR都是挑战。举个例子: 如果员工设置好了OKR,单方都确认了,掂量后果也显示都实现了,后果老板最初给的绩效不行咋办? 这就会对整个考核体系造成挑战。 看钱写代码也会对效力产生各种副作用。 举个例子: 软件是一个齐全非标品,无奈精确度量。一个产品的登录页面,A用了规范组件,破费了几分钟10行代码解决问题零缺点;B本人手工撸了一遍,耗时两天几百行代码,一测试各种问题。咱们能说B比A强么? 所以不能简略地靠代码量来掂量效力,更不能来做绩效考核的规范。 初心难守 员工职级、OKR和绩效评审都是很难做的事件。想通过研发效力度量做绩效考核的想法是十分不靠谱的。规劝那些想通过研发效力度量扣工资的人还是省省吧,做集体吧。人人皆把「不忘初心」放在嘴边,可是「初心」如果那么容易坚守,也不至于都要把「不忘」放在前边揭示世人。 已经在某一家公司,13薪都是阳历12月底随着工资一起发放。后果那一年公司的财务经理发了一个布告,思考到大家圣诞节有生产的激动,咱们往年的13薪会在圣诞夜一起发放。提前祝大家圣诞快乐。我到当初都仍然记得那个财务经理的名字。

September 19, 2022 · 1 min · jiezi

关于devops:前端在-DevOps-演进中的基建实战团队转型

前端在团队进行 DevOps 转型的期间,须要进行一些什么样子的根底建设呢? 概述本系列整顿了一下从传统的瀑布模式开发到 DevOps 研发运维一体化的整个演进过程。内容很多,但对于正在进行 DevOps 转型的团队能起到不小的帮忙,请急躁看完本系列。 DevOps(Development + Operations)是一组过程、办法与零碎的统称,用于促成开发(应用程序/软件工程)、技术经营和品质保障(QA)部门之间的沟通、合作与整合。 随着 DevOps 的衰亡,呈现了继续集成(Continuous Integration)、继续交付(Continuous Delivery) 、继续部署(Continuous Deployment) 的新办法。传统的软件开发和交付办法变得过期,“小步快跑”才是支流。在瀑布模式下,大多数公司会每月,每季度甚至每年公布新版本。现如今,在 DevOps 时代,每周,每天,甚至一天屡次是常态。当 PaaS 正在霸占世界时,咱们能够轻松地动静更新应用程序,而无需强制客户下载新组件。 团队转型建设疾速麻利团队未转型前的团队构造和零碎架构,个别分为七大部门:产品布局经理、视觉设计师、前端工程师、后端工程师、测试工程师、运维工程师、DBA等。各部门之间人造的造成了沟通阻碍墙,相互之间次要以邮件和会议的模式沟通,效率低下、需要变更艰难、很难疾速响应市场变动和继续交付高品质的产品,如下图: 于是,咱们对团队和架构进行一个调整:依照业务性能划分个性小组(Scrum 团队),设置产品负责人(一个布局人员)、Scrum Master(个别由技术专家级别负责)和开发者团队(前端工程师、后端工程师、测试);这些团队负责本人的微服务同时要负责人员的治理。转型之后的组织构造和零碎架构,如下图所示: 这是组织构造变动的局部,接下来讲一下前端架构的变动。 微服务架构降级将原先的传统我的项目团队划分为多个 Scrum 小组并行开发,多小组同时公布的分支解决和代码抵触之类的问题频繁呈现,前端公布简直成为业务疾速公布版本的阻塞点。目前,咱们开发和保护代码的现状: 一个仓库蕴含了所有的业务组的前端代码;只能一起构建出一个整包,小组性能也无奈独自部署;后端已实现微服务的拆分。如上所述,尽管个别场景通过 git 多分支治理能解决【独立开发】和【公布】的问题,然而遇到【多团队同时公布】的场景就让人头疼了: 须要拉上各个团队的负责人,重复确认当天是否失常上线;上线分支排列组合(release-a、release-b、release-ab )预防某一个团队突发问题不上线;测试工作量减少:本来只有验收一个代码包,当初还要验证多个代码包性能(> 1)。既然梳理了已有问题,为了解决这些问题,咱们意识到和后端一样将整个我的项目拆分成若干的子利用,将它们也变成微服务,不就能够解决目前的窘境了吗?自然而然咱们就想到了“微前端”的概念。有指标,就好发力了,咱们参考了业务优良计划,同时联合了本身理论状况,最终决定用webpack5 module federation 个性来进行微前端的实际与落地。 架构解耦制订了整个前端微服务计划后,咱们的我的项目整体的架构变成了如下图展现的样子: 前端侧的代码依照小组个性拆分成若干个子利用: 每个子利用只领有本人相干的代码,基座利用能够看成比拟非凡的子利用,它提供工程能力,最好不要有业务代码;将利用代码划分到 packages/apps文件下, 通过 monorepo + pnpm 进行治理依赖;所有的文件夹进行独自的打包构建,搭配 Docker + Kubernetes 构建成独自的容器(红色局部内所有的子利用都是独自的容器)变成真正的微服务。以上的变动,让拆分进去的子利用可能独立开发 - 保护 - 公布之外,还使得咱们前端利用降级时的 灰度 - 部署 - 回滚 操作变得更加简略、疾速。 构建解耦各个小组的前端代码寄存在 packages/* 下,前端代码仓库目录: ...

September 12, 2022 · 1 min · jiezi

关于devops:如何在-Jenkins-CICD-流水线中保护密钥

CI/CD 流水线是 DevOps 团队软件交付过程的根本组成部分。该流水线利用自动化和继续监控来实现软件的无缝交付。通过继续自动化,确保 CI/CD 流水线每一步的安全性十分重要。在流水线的各个阶段,通常须要拜访凭据等敏感信息。爱护这些信息对于放弃弱小的平安态势至关重要。本文将带你理解如何在 Jenkins CI/CD 流水线中爱护密钥(Secrets)。 转自 SEAL平安在 CI/CD 流水线中应用 Secrets如前所述,CI/CD 流水线通常须要拜访敏感信息,如明码和 API 密钥。以明文对它们进行硬编码会产生重大的平安危险,并且违反了大多数合规框架中的审计准则。应用这些凭证而不在非必要的状况下公开它们的机制,对于自动化软件交付很重要。 用于平安存储、治理和拜访上述凭证的工具和技术的汇合称为密钥治理(Secrets Management)。Secrets 宽泛用于 IT、DevOps 和云环境。 Secrets 包含: 应用程序生成的明码零碎到零碎的明码API 密钥公有加密密钥一次性明码证书特权账户凭证CI/CD 流水线集成了多个配置管理平台,须要 secrets 来启用服务到服务的通信。这些平台还须要 secrets 来验证申请拜访 SSH 服务器、数据库、HTTP 服务和其余资源的实体。 CI/CD 中 Secrets 的用处Secrets 用于治理 CI/CD 流水线中的拜访权限。一些用例包含源代码管制治理、基础设施连贯、合作提供者和验证。让咱们更具体地探讨这些用例中的每一个。 1. 源代码管制治理版本控制系统,如 Git,便于多人团队之间的合作。这些零碎通过治理和存储来自多个开发人员的代码奉献,来帮忙保护应用程序的开发。因为源代码可能蕴含一些组织最有价值的资产,因而正确验证和治理 Git 存储库的拜访权限至关重要。 密钥管理系统对爱护用于将贡献者的主机连贯到存储库的凭据十分重要。为了防止歹意攻击者利用 secrets 发动平安攻打,因而 secrets 并不存储在版本控制,而是存储在非凡的敏感文件中(当然这些敏感文件会被排除在存储库和日志之外)。 2. 基础设施连贯CI/CD 流水线通常由在多个主机上的不同服务组成,这些主机散布在不同的基础设施上。随着这些主机一直地互相通信,通过 API 调用与服务通信,从而实现所需的应用程序性能。API 密钥和零碎到零碎(system-to-system)明码等 secrets 可能反对在基础设施之间建设平安的连贯,从而连贯多租户和多云 CI/CD 流水线。 3. 跨团队合作CI/CD 流水线蕴含跨多个开发、经营和质量保证环境的合作流动。这些团队依附多种工具和框架来合作和共享信息。应用 secrets 进行合作有助于团队确保安全通信并在单方之间提供一层信赖和平安保障。 4. 验证身份验证是 CI/CD 和应用程序平安的要害因素。通过将应用程序连贯到身份和拜访治理 (IAM)解决方案,secrets 用于确保 CI/CD 流水线的安全性和隐衷性。这些解决方案提供了用户角色和权限的内部数据库,让用户无需在 CI/CD 流水线中裸露其凭据即可登录应用程序。 ...

September 7, 2022 · 2 min · jiezi

关于devops:GOPS现场-对话龙智技术顾问分享DevOps观察与心得

2022GOPS寰球运维大会·深圳站,咱们对话了龙智技术顾问吴锦涛。作为龙智专家团队骨干,他服务过泛滥不同行业的出名客户,有很多心得体会。本次采访中,他就日常DevOps实际的挑战与需要、DevOps平台建设计划引入以及运维工具链搭配等方面论述了本人的独到见解。https://www.bilibili.com/vide... 视频文字实录Q:您好!此次您全程参加了GOPS大会,依据您的沟通与察看,参会者有什么样的特色? A: 要分两大类人群,一类是运维,一类是开发测试。运维这块,对我的项目整体的治理,更偏向于Jira和Confluence这样的产品。这两款产品在业内的知名度较高,所以他们对这两款产品的问题也较多。 第二是测试和代码,他们对版本治理、动态剖析扫描以及平安这块比拟关注。这个畛域的话咱们公司的像SonarQube、CloudBees,属于刚引进国内,知名度不是很高,所以对它们的介绍会更具体。 Q: 在日常的DevOps实际中,他们面临着哪些挑战,有哪些需要? A: 每家企业的需要都不太一样。需要治理这一块,有的公司对基线治理会比拟器重,因为需要最大的痛点是需要变更,一旦变更了,就须要追溯历史版本、历史记录、历史版本之间差别比拟等,所以需要更偏重基线、版本这块。 项目管理对灵便配置的要求会特地高。Jira平台的劣势同时也是他们的痛点,他们心愿在一个Jira平台外面治理测试,治理需要。当然这个是Jira劣势,能够通过插件去扩大性能,很好的解决痛点。 运维的需要次要是集中在运维治理方面,可能更偏向于报表查看,能够看到整个零碎的运行状况,生成图表、生成数据、监测数据,一些友商也比拟偏重数据监控。 Q: 您平时服务得比拟多的是哪些行业? 还是比拟多的。金融行业有XX银行、XX证券等。车企方面,无论是传统车企,还是新兴互联网车企,咱们都在为其提供服务。以及游戏、芯片等其余行业都有波及。 Q: 不同的行业,关注点也会不一样吧? A: 首先,金融行业对数据安全这块比拟器重。包含一些国企单位,对数据机密性要求比拟高。所以他们更侧重于部署形式,是不是反对公有部署,他们要部署在本人的服务器下面,这是金融行业的一个特点,机密性要求高。 第二个是汽车、芯片、游戏行业,他们的特点是代码量十分大。包含设计图、UI设计等, 所以更关注代码版本治理的效率,就是这两个特点。 Q:在DevOps的平台建设方面,企业应该引入一整套的解决方案,还是集成式引入不同的工具或计划? A: 分两种状况。一种是企业刚开始着手DevOps生命周期,零碎还没那么成熟。那么,他须要龙智提供一个整套、残缺的DevOps生命周期解决方案。在这种状况下,咱们会举荐在生命周期的每个环节中,最靠谱或效率最高的产品。像Jira、Confluence、Jira Service Management这样的产品举荐给他。 另一种状况是企业曾经运行了一段时间,企业外部曾经存在了某个其余厂商的产品。在这种状况下,咱们会做产品之间的集成。像方才提到的Jira,能够跟前端需要治理的产品,后端代码测试、代码评审之类的产品集成。 有些公司应用自研产品,Jira须要和自研产品做二次开发的集成;有些公司可能用其余厂商正规的商业产品,也须要做商业产品之间的集成对接。 Q: 运维工具链的搭建,您有什么倡议? A: 集体认为JSM搭配原厂的Jira、Confluence应用更有效率,因为集成度更高,能够将作用施展到最大。所以,如果咱们举荐用户应用JSM,前提是客户曾经在应用Jira、Confluence,或是他心愿搭建一个ITSM平台,咱们会举荐Jira和JSM的搭配。 Q: 龙智与其余Atlassian代理相比,有何不同? A: 最大的不同次要是两方面。 一方面,和其余几家比照,技术必定是更业余。因为龙智作为Atlassian中国代理,深耕了很长时间,也领有很多客户。 一方面是开发,龙智针对Atlassian产品的开发教训十分丰盛,包含龙智自主开发了一系列自研插件,丰盛Atlassian生态圈。因为Atlassian有一个插件市场,咱们会在插件市场上公布国内用户实用,或者针对需求量较大的性能,研发一系列插件。 Q: 请介绍一下您一天的工作。 A: 我的工作分几大类。第一类是后期的售前,给客户做产品介绍、售前演示各个产品的性能。第二类是施行,客户购买了产品,咱们会把客户的环境搭建起来。第三类是技术支持,客户在应用咱们的产品或是其余公司产品时,遇到的一些问题,我也会帮助解决。还有培训服务,次要针对龙智代理的产品,做性能上的培训,这几个局部占比拟大。

September 5, 2022 · 1 min · jiezi

关于devops:GOPS现场-对话某科技公司DevOps工程师从用户角度探讨DevOps工具链

2022GOPS寰球运维大会·深圳站,咱们对话了某科技公司DevOps工程师。这位工程师分享了本身善于的畛域,站在用户角度,为大家带来构建DevOps工具链的倡议,以及举例说明如何判断一个工具的好坏。https://www.bilibili.com/vide... 视频文字实录Q: 您好,请介绍下您平时关注和善于的畛域。 A: 我比拟关注继续交付畛域,也就是研发工具链,在研发流程外面须要用到的工具。比如说需要治理、缺点治理、文档编辑、代码托管平台等这些研发工具。 Q: 以您的业余意识,您感觉企业构建DevOps工具链时须要留神什么? A: 对于工具链而言,重要是生态。一个工具再好,然而和研发工具链中的其余工具无奈集成,或集成难度十分高,那么企业也会审慎引进。因为当一个软件到公司落地,它须要定制化适配。如果有一个好的生态,那么适配的老本就会非常低,引进落地也会非常容易。所以对于一个软件、一个研发工具链的工具来讲,生态是很重要的。 Q: 您还会从哪些方面来判断一个工具是不是好的工具? A: 对于工具而言,我认为应该秉承两个规范。第一是常识供应商的常识是否到位,就是供应商的常识程度如何。第二个是工具所给出的接口、文档是否满足要求,而不会呈现文档比拟难找、文档网站常常崩等问题。还有文档的API接口写得是否正当,次要是这两点。 当然,判断一个软件工具好不好用其实还有很多方面,比方,商业化软件是否曾经具备应用性以及界面UI等好看性,这样比拟合乎对用户对美感的谋求。另外,这个软件的确做得好才会引进。从软件工程的角度,这个软件在操作措施上的封装,以及用户行为上优化得比拟好,所以咱们把这个软件定义为可能晋升研发效力的软件,因而才会引进。 Q: 有一些例子能够阐明吗? A: 比方Jira跟Bitbucket在文档方面比拟OK,毕竟Atlassian有本人的社区,社区里有比拟齐备的问题解决和跟进文档,还有API接口文档等,这些对于做企业定制化、须要二次开发的人来说比拟敌对。其次是供应商。Atlassian其实没有给到原厂反对,这可能会引起一个问题,就是当对工具理解得越来越深刻时,可能会遇到非原厂无奈解决的问题,须要去和供应商沟通。在这个状况,代理商起到了十分重要的角色。代理商的反应速度、反馈速度、问题解决的速度,会间接影响到用户对于产品的体验。 Q: 在您的工具链打造过程中,是一步步引进工具,逐步完善,还是一步到位地引入? A: 一步一步引进。咱们最开始应用Atlassian平台时,是应用Confluence和Jira作为文档治理平台以及需要治理平台,由此接触到了(Atlassian)全家桶。咱们预研这些全家桶后,发现它对空间集成有着人造的劣势。因而咱们引进了相似于代码托管平台Bitbucket,以及构建平台Bamboo,这些在我司都有实际。 从用户的角度来说,首先,软件工具链的集成是十分重要的。用户在各种不同的工具链之间跳转,在Atlassian平台里,首先格调对立,用户不会感觉零碎割裂。其次各种链接上的跳转十分不便,所以应用性失去保障。第三,相较于开源软件,商业化软件在权限治理、内部资源管控上都比开源软件要好。所以不论是从管理者还是用户的角度,都会偏向于引进这种能够高度集成的软件全家桶。

September 5, 2022 · 1 min · jiezi

关于devops:DevOps-团队如何防御-API-攻击

在过来,勒索软件是 DevOps 团队经常放心的次要平安威逼。只管当初勒索软件攻打仍在产生,但随着企业平安防护能力与意识加强,勒索软件造成的平安威逼已不如从前。然而,依据 Gartner 考察显示,API 安全漏洞在2021年增量高达 600%,逐步成为歹意攻击者发动攻打的次要媒介。 DevOps 强化 API 安全性火烧眉毛。 本文将概述当今 API 平安状态,并在扩大 DevOps 现有勒索软件进攻技术以爱护 API 方面提供一些思路和技巧。 API 的劣势API 次要用于特定类型的应用程序、B2B 或基础设施集成。当转向微服务和分布式架构时,外部 API 就成为将应用程序环节联合在一起并在应用程序的组件和微组件之间传递信息(有时是敏感信息)的粘合剂。当初,公布公共 API 曾经成为所有软件产品企业的基本操作,据统计目前公共 API 大概有 22000 个。 随着公共 API 的数量减少,其相关联的应用程序和服务受到攻打的危险也随之减少。越来越多的歹意攻击者开始专一于利用 API 来获取敏感信息的拜访权。 从勒索软件保护到 API 爱护大部分人可能过认为爱护 API 须要全新的平安工具与实际。但实际上,缓解勒索软件危险和加重 API 平安危险之间存在着相似之处。DevOps 团队能够通过拓展现有的勒索软件进攻技术来爱护 API 平安,以下是供 DevOps 团队参考的一些策略和办法。 阻止横向挪动与勒索软件一样,歹意攻击者通过利用缺点和破绽横向从端点流传到端点,API 破绽利用通常也横向流传到整个环境中。 这就意味着,尽管无奈阻止所有 API (或勒索软件)攻打侵入边界,但 DevOps 团队能够采取措施阻止破绽持续扩充。通过尽早检测环境中的歹意流动,DevOps 团队能够阻止威逼的横向流传,防止大规模入侵。 关注数据安全勒索软件攻打和 API 攻打都专一于敏感数据。勒索软件攻击者通过毁坏数据威逼来勒索赎金。而 API 攻击者通过透露数据(或抛售数据),例如,歹意攻击者从受感化的 Peloton 账户上窃取敏信息,以及毁坏 LinkedIn 的API 来窃取约7亿用户的数据,从而给企业名誉造成重大负面影响。 因而,升高勒索软件危险和 API 平安危险能够落在爱护数据安全上。 通过对外部和公共 API 的性能施行弱小的访问控制和分段,能够升高因为 API 安全漏洞导致的数据泄露危险。 ...

September 2, 2022 · 1 min · jiezi

关于devops:DevSecOps-安全即代码基础指南

在过来十年里咱们见证了越来越多的企业开始或曾经采纳云技术,这也意味着云平安的重要性也越来越高。当谈及平安威逼,McKinsey 的一篇文章表明,云上大多数破绽都是因为配置谬误导致而非内部攻打造成底层云基础设施损坏。因而,从开发初期就领有正确平安配置比构建一个平安独立的零碎更靠谱、更无效。而实现这的最好形式就是平安即代码(Security as Code)。 什么是平安即代码 (SaC)平安即代码(SaC)就是在软件开发的晚期阶段将平安融入 DevOps 工具中,使其成为工作流程的重要组成部分。这可能帮忙开发人员更早辨认代码中易受攻击的局部,并引入相应的安全措施来躲避相应平安危险。因为平安即代码在开发工作开始时曾经在流程中发挥作用,因而企业无需将开发和平安拆散,这也有助于企业进步开发效率。因为将平安融入到开发过程中,从而产生了 DevSecOps。 SaC 与继续交付继续交付(Continuous Delivery)是在短时间内将所有对软件所做的更改交付给用户的能力。因而,将平安嵌入此过程是十分必要的。施行 SaC 有很多益处,次要体现在以下三个方面: 高效: SaC 通过打消人工干预造成的问题改良了软件开发过程,它进一步放慢了流程,因为平安已嵌入开发过程中,实现了无缝的平安工作流程。升高危险: 因为软件开发是一个宽泛的过程,因而安全控制是整个软件开发生命周期 (SLDC) 要思考的一个非常重要且相当艰难的问题。这就是为什么通过 SaC 将平安嵌入开发阶段能够升高泄露危险的起因。业务反对: 云架构是大多数企业及其经营的外围。良好的云平安是减速软件和部署过程的外围。这就是 SaC 的用武之地,它能够帮忙企业在不影响安全性的状况下无效地将其应用程序推向市场。为什么 SaC 对 DevSecOps 很重要SaC 的目标是为了让平安人员和开发人员达成同频共识。开发人员可能在开发过程中展现开发后果,同时也容许他们在开发过程中纠正问题,这种交换有助于造成一个继续的反馈循环。 通过 SaC,开发人员能够在平安和低影响故障的环境中测试所有新的代码,还能够将自动化平安扫描和测试集成在开发过程中,以便前期在所有我的项目中重复使用。通过将平安扫描集成到开发人员现有的工具和流程中,把平安注入开发过程,可能无效升高部署工夫且保障开发过程不会中断。此外,SaC 还可能帮忙开发人员辨认破绽。须要留神的是,开发人员须要承受相应的平安培训和教育才可能在发现破绽后进行相应的修复工作。 SaC 的 7 个因素DevOps 的指标是在不影响安全性的状况下尽快实现利用程序开发并交付,而通过 DevSecOps 将平安嵌入流程中能帮忙实现平安开发高效交付。让咱们看看在施行 SaC 时要留神的 7 个因素。 1. 定义平安要求在开发开始时有预约义的平安要求(predefined security requirements)非常重要。比方 OWASP (Open Web Application Security Project)被动管制这样的平安模型应该在开发阶段施行,开发人员就能在开发过程中有标准的平安实际进行参照。 2. 查看代码依赖在开发和构建应用程序时,代码之间必然会有盘根错节的依赖关系。依赖关系图(dependency graph)可能帮忙开发人员深刻理解代码库的每个局部,以及不同组件如何协同工作,帮忙开发人员更好地辨认和修复相应问题。 3. 为代码抉择正确的平安工具将平安工具集成到 SLDC 时须要思考两个问题:平安工具集成到开发流水线的难易水平是怎么的? 这些工具如何能最好地帮忙开发和平安团队无缝合作?平安工具的集成和性能必须是自动化的,这样开发人员就不须要破费额定的工夫来启动扫描并验证其发现。平安工具还必须提供速度和准确性,确保不会呈现误报。最初,平安工具应该可能实时辨认、修复和进攻破绽,同时也可能解决开源中的危险。 4. 建设 DevSecOps 文化因为开发和平安都是业务驱动,因而单方必须在建设和保护 DevSecOps 文化的同时承当独特的责任。建设良好的 DevSecOps 文化最重要的局部是相互尊重。平安和开发必须尊重彼此的工作,并群策群力无缝工作。平安工具必须也是开发工具,并应依据必要的目标和要求进行集成。 ...

August 30, 2022 · 1 min · jiezi

关于devops:vivo-基于-JaCoCo-的测试覆盖率设计与实践

作者:vivo 互联网服务器团队- Xu Shen本文次要介绍vivo外部研发平台应用JaCoCo实现测试覆盖率的实际,包含JaCoCo原理介绍以及在实际过程中遇到的新增代码覆盖率统计问题和频繁公布导致覆盖率失落问题的解决办法。 一、为什么须要测试覆盖率1.1 在日常研发过程中,常常发现一些问题测试案例的设计凭教训,当研发一个新性能时,常常对测试场景估计不足,到上线后发现bug;开发常常做一些需要之外的代码变更(代码小范畴内重构或在开发过程中发现小缺点顺手改掉),导致测试工作无奈测试到对应的场景,引起线上问题;对测试成果无奈量化考核,导致测试工作的品质无奈进一步晋升。1.2. 有没有技术手段可能尽可能的防止下面的问题呢?在业内曾经在广泛应用代码覆盖率来晋升测试品质,那什么是代码覆盖率? 代码覆盖率是软件测试中的一种度量,形容程序中源代码被测试的比例和水平,所得比例称为代码覆盖率 。 代码覆盖率指标通常蕴含上面几类: 函数/办法覆盖率:函数/办法中有多少被调用到分支覆盖率:有多少控制结构的分支(例如if语句)被执行条件覆盖率:有多少布尔子表达式被测试为真值和假值行覆盖率:有多少行的源代码被测试过1.3 在应用测试覆盖率的过程中,常常发现的场景if/else语句中,if{}内的代码被笼罩到,else{}内的代码没有被笼罩到,能够得出局部分支场景没有测试到;try/catch语句中,try{}内的代码被笼罩到,catch{}内的代码没有被笼罩到,能够得出异样场景没有测试到;if (条件1 || 条件2 || 条件3)语句中,条件1被笼罩到,条件2和条件3没有被笼罩到,能够得出局部条件场景没有测试到; 测试人员对代码覆盖率的指标正确应用,能无效晋升测试的品质,进而晋升版本的上线品质。 二、JaCoCo在测试覆盖率场景中的应用2.1  JaCoCo介绍以后支流的代码覆盖率工具:    C/C++→Gcov ,Java→JaCoCo,JavaScript→ Istanbul。思考到服务器端次要是Java语言,所以CICD平台优先应用JaCoCo来反对 Java 语言的代码覆盖率统计能力。 通过JaCoCo官网,咱们能够看到JaCoCo的使命是为Java VM 的环境中的代码笼罩剖析提供规范技术。重点是提供一个轻量级、灵便且有据可查的库,用于与各种构建和开发工具集成。 2.2 JaCoCo长处JaCoCo反对指令(C0)、分支(C1)、行、办法、类和圈复杂度等多维度的笼罩剖析;基于 Java 字节码,也能够在没有源文件的状况下工作;性能良好,运行时开销很小,尤其是对于大型项目;比拟残缺的API,很不便与其余工具进行集成;近程协定和 JMX 管制可在任何工夫点从代理申请执行数据下载。2.3 JaCoCo原理次要来自于JaCoCo官方网站JaCoCo反对几种不同的办法来收集笼罩信息,对于每种办法,由不同技术实现的,下图橙色门路局部是JaCoCo 举荐应用的形式,即通过On-The-Fly形式收集覆盖率信息: 通过上图咱们晓得,JaCoCo 是通过对Java字节码(Byte Code)插入探针的形式来收集覆盖率信息的,探针是能够插入现有指令之间的附加指令。它们不会扭转办法的行为,但会记录它们已被执行的事实。 上面以一段简略的  程序为例进行阐明: 这段代码通过Java编译当前转化为以下字节码: 因为Java 字节码指令的线性序列,控制流是通过条件或无条件指令实现跳转的,跳转指标在技术上是绝对于指标指令的偏移量。这个跟大学学习的汇编指令的跳转形式相似,为了更好的可读性,应用符号标签 (L1,L2 ) 代替理论的指令地址。 上图中橙色的局部为插入的探针,实践上咱们能够在控制流图的每个边缘插入一个探针,因为探针实现自身须要一些字节码指令,这将会使类文件的大小减少数倍;侥幸的是,这不是必须的,实际上咱们只须要依据办法的控制流为每个办法插入几个探针。例如,没有任何分支的办法只须要一个探针。 如果曾经执行了探测,咱们就晓得相应的边曾经被拜访过。从这条边咱们能够得出结论到其余后面的节点和边: 如果一条边被拜访过,咱们就晓得这条边的源节点曾经被执行了;如果一个节点曾经被执行并且该节点是只有一条边的指标,咱们晓得这条边曾经被拜访过。如果咱们在正确的地位有探针,递归地利用这些规定能够确定办法的所有指令的执行状态,探针只是须要在控制流边缘插入的一小段附加指令。 三、CICD平台对于测试覆盖率的解决方案通过上面对JaCoCo原理的介绍,联合咱们公司外部的研发流程,在CICD平台对代码覆盖率性能的设计如下: 从下面 CICD 平台对测试覆盖率的设计图,大略能够看进去,整个过程蕴含三个阶段 3.1 测试前测试前由测试人员(开发人员/运维人员)在流水线上开启测试覆盖率性能,在流水线执行公布时,会在测试环境上下载JaCoCo Agent包,并在Java过程启动时配置JavaAgent参数; 在过程启动过程或启动之后,有class文件被加载时被Agent拦挡,对class文件进行插桩解决,在必要的门路下插入探针(插入探针的原理在上一节曾经介绍)。 3.2 测试中在测试过程中,测试人员在测试环境执行测试案例(手动执行或自动化脚本),被调用到的代码会被探针记录下来,探针数据保留在Java过程的内存中。 3.3  测试后测试人员能够屡次公布测试环境,针对同一个分支的代码,能够合并屡次测试的后果数据,造成全量的覆盖率数据; 在测试完结后,CICD平台通过JaCoCo的API,手动/主动下载(dump)覆盖率数据,合并(merge)历史覆盖率数据,生成测试覆盖率报告; 测试人员依据测试覆盖率报告的后果,查看测试脱漏的场景,进行补充测试,预先总结脱漏的起因,进步测试效率。 四、在实际过程中遇到的问题及解决办法测试覆盖率在上线运行一段时间后,在实际过程中发现了一些问题,总结为以下几点: 4.1 在不同机器编译会导致classid不统一的问题在实际过程中,常常遇到这样一个问题,用户反馈并确认案例曾经失常执行,然而生成的报告显示未笼罩,通过考察发现在测试环境中的class和生成报告时的class不统一导致的。 ...

August 29, 2022 · 1 min · jiezi

关于devops:企业实践|基于软件研运一体化DevOps平台的应用解析

业务现状剖析典型软件开发趋势:瀑布模型和麻利模型共存(稳态敏态)企业在倒退过程中会面临诸多的问题与挑战,传统企业的典型零碎级产品开发和我的项目以瀑布模型和改良V模型为主,开发周期长,变更老本高。随着企业数字化转型,产品开发和我的项目逐步演变为以业务为导向,通过拆解细化业务问题,疾速进行摸索和验证,缩小工夫及老本节约的同时,也能疾速找到业务前进方向。以上定位于企业专业化产品能力继续晋升,逐渐晋升企业行业内的外围竞争力。 传统企业建设现状研发工具扩散,治理要求与工具软件未对立平台,数据孤岛多各阶段的数据未买通:项目管理、需要治理与测试治理脱节,数据追溯不便;治理要求与工具软件未联合:管理软件与工具软件拆散,度量数据采集剖析艰难。研发环境难以满足制度要求,研发过程不足组织视角代码托管扩散:没有对立的代码托管服务;短少常识积攒;公布上线无管制:多路径自在公布,危险扩充;品质要求落实不力;研发过程不继续:多环节没有买通,工具性太强;没有对立平台;源码不可追溯:无平台撑持公布版本与源码的对应关系保护;综上,以致企业各个团队都有本人的做法和工具,难以执行的对立的流程、标准和规范。 自动化集成水平不高,手工作业影响工作效率和我的项目品质大部分流动依赖人工,节约大量工夫,依赖集体教训,影响交付品质。软件研发过程面临次要问题需要变更后,需要影响剖析和跟踪依赖手工统计;研发周期缓和,研发资源有余,不足资源监控伎俩;品质合规要求高,文档手工编写工作量大;我的项目的成绩积攒扩散,各部门大量反复性能开发;内部开发与外部开发并行,代码合并易出错;零碎耦合性高,降级保护不不便,容易造成版本凌乱;产品开发和系统资源扩散,运维人员不足,监控艰难。引进BizDevOpsBizDevOps旨在对立业务、开发和运维的一种软件工程文化和实际。其核心理念包含:价值、文化、自动化、精益、度量、共享,最终目标是将软件开发的所有环节进行自动化和全面监控。次要蕴含以下性能特点: 价值导向,需要溯源需要结构化,变更可剖析业务测试,继续验证细粒度需要、微服务设计频繁提交代码、疾速反馈缺点每日集成与构建品质关卡、自动测试高频、低危险公布高频、主动部署疾速故障探测与复原全面监测、可视化工作过程 进步研发流动的自动化程度企业研发一体化实现目标次要是为应答易变、不确定、简单、含糊的研发新常态,满足用户对产品疾速价值交付要求,引入业界优良实际,基于继续交付流水线平台,逐渐实现软件的自动化编译构建、自动化部署、自动化测试、自动化监测、自动化数据采集与研发效力态势感知。实现从手动构建变为自动化构建;从集中发现缺点到全过程内建品质;从测试制度化到测试自动化。总体来讲就是实现继续疾速交付高质量,以及有价值的产品及服务。 晋升软件工程生产力的模型:DevOps寰球状态报告现如今,大部分互联网厂商均在引入研运一体的概念,包含但不限于金融行业以及各个运营商。通过Gartner报告剖析可知,DevOps在以下几方面的确进步了研发效率与品质: 可用、易用的工具外部和内部搜寻缩小技术债权,伎俩包含:晋升代码可维护性、解耦的架构、监控心理平安的文化 软件研运一体化平台利用实际建设指标建设集项目管理、需要治理、代码仓库、继续集成、自动化测试、继续部署及度量采集剖析的自动化、标准化、数字化软件研发平台。 零碎思维对于大型企业来讲,除了工具下面的配套,服务的方面配套所需更多。因而在研运一体我的项目的施行过程当中,云智慧通过制度、平台、培训三者联合,即增强论证,分而治之,晋升效力的麻利形式来解决企业业务需要繁多且简单场景需要。整个零碎建设是通过统一规划散布建设的形式,来撑持企业从传统瀑布型至矩阵式麻利研发新形态的转变。 品质思维云智慧通过以下三方面内容,实现了企业研运一体的品质内建: 定义对立质量指标,造成指标体系和比拟基准;建设组合的品质治理内控要求,固化到研发平台;借助工具实现自动化的品质管控。软件研发业务流程示例下图为软件研发业务流程示例图。对于配备制造业来讲,整个研发生命周期会包含需要剖析、软件设计、编码测试。与传统金融及互联网企业不同,配备制造业会在联试后再进行验收交付和售后服务,这是配备制造业的一个典型特点。 下图为业务流程图示例,云智慧依据企业研发组织人员数量对企业进行了分级。 底层团队级:通过需要的屡次迭代实现研发过程。上层组织级:是多产品、多团队的。行将多层级的 CICD 或者是需要设计造成一种关联的研发关系。组织级比在团队级上线之前多波及一个联试过程。 软件研运一体化平台开发流程是从业务需要部门或者需要订单开始,随后需要进到开发核心,开发核心完结之后交到运维核心做运维保护,随后通过迭代开发的形式实现整个开发过程,最初实现投产验证。 研运一体化平台业务架构下图为研运一体化平台业务架构,蕴含根底层、服务层和应用层。根底层和服务层是底层能力,设计的思维为平台加利用。应用层蕴含实现需求开发、测试治理、援用公布等性能。 下图为客户典型实例场景介绍。从我的项目开始,负责人通过软件研运一体化平台创立我的项目,随后开发人员通过环境治理来进行环境筹备,如所需服务器、配置等进行申报。我的项目负责人我的项目创立完之后,进行我的项目的派发和拆解。随后以工作为核心,串联整个研发流程。上述过程的外围指标便是在开发过程跑通所有的CI/CD。 技术架构软件研运一体化平台的基础架构采纳的是微服务架构,包含注册治理、服务监控、对立认证、链路追踪、音讯队列、日志剖析等性能。 流水线调度引擎(可集成工具链)云智慧软件研运一体化平台除了可集成云减速外部产品外,还可通过流水线调度引擎集成其余产品,如JIRA、Jfrog等热门产品。无需 hard coding,通过利落拽的形式即可进行数据的集成,买通整体开发流水线。 平台部署架构(容器平台+物理机)软件研运一体化平台部署架构包含通过容器、平台和物理机进行部署,此外,也能够通过云部署以及反对虚拟机的形式去部署。那最小的配置与企业用户数相干,目前最低配需至多要有 4 台以上的服务器。 研发一体化平台特点自主可控流水线引擎,标准接口 简略易用:可视化拖拽设计流水线原子级脚本:丰盛可扩大的流水线脚本,定制接入新工具全环节反对:继续集成、继续部署各环节极致体验:面向不同角色的应用设计,良好的用户体验全面的代码查看,晋升代码品质 语言反对:Java、C/C++、JavaScript等支流语言反对代码扫描:集成商用、自研、开源扫描工具安全检查:JAR包黑名单、资源文件白名单、groupid和version标准、禁止快照上线等智能提醒:依据扫描后果给出智能修复提醒和样例服务团队合作、管控和改良 合作平台:让所有团队合作的项目管理平台品质关卡:晋升公布软件品质和品质管控力度度量报表:为继续改良提供根据,落地研发我的项目度量标准弱小的研发平台,扩大资源能力 编译减速:多种技术晋升代码编译30%-80%资源交付:虚拟化、容器等资源自动化部署业务胜利:全面撑持Biz/Dev/Ops一体化国产化适配:适配国产化操作系统平台建设收益实用于多种交付模式(整包、批次、按需),实现交付价值。品质内嵌,通过自动化伎俩进步交付品质。开发协同,问题/需要反馈更及时,进步交付速率。被动发现研发过程潜在危险,升高交付老本。承载工程师文化,加强团队胜利交付信念,晋升团队交付能力。多维度指标主动采集剖析展现,反对研发效力继续改良。FlyFish开源福利云智慧已开源数据可视化编排平台 FlyFish 。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现合乎本人业务需要的炫酷可视化大屏。 同时,飞鱼也提供了灵便的拓展能力,反对组件开发、自定义函数与全局事件等配置, 面向简单需要场景可能保障高效开发与交付。 点击下方地址链接,欢送大家给 FlyFish 点赞送 Star。参加组件开发,更有万元现金等你来拿。 GitHub 地址: https://github.com/CloudWise-... Gitee 地址:https://gitee.com/CloudWise/f...

August 17, 2022 · 1 min · jiezi

关于devops:DevOps落地实践点滴和踩坑记录2-聊聊平台建设

很久没有写文章记录了,上一篇文章像流水账一样,把所见所闻一个个记录下来。这次专门聊聊DevOps平台的建设吧,有些新的领会和思考,心愿给正在做这个事件的同学们一些启发吧。DevOps落地实际点滴和踩坑记录-(1) 企业落地DevOps该买商用还是本人研发呢?很多团队刚开始都会问这个问题,我的答复如下 如果团队人数少,技术栈或者技术债权不是很多,历史包袱不重,领导急于看到成绩,能够应用devops商业产品。前提还是看商业产品是否满足你们目前场景。自建工具链,分成简略工具搭建 和 更上一层的二次开发做平台,看你们须要哪种。 前者绝对容易点,比方常见的gitlab+jenkins+harbor/nexus+kubernetes等这样的组合后者 后期须要投入老本,还是看 你们指标是什么,解决什么问题。以终为始,看指标,找适合的计划,是比拟适合的。平台可大可小,性能也可大可小,解决的问题也可大可小,看看目前的问题是什么? 有哪些好用的DevOps价值流交付平台举荐?国外 Azure DevOps国内 Coding蓝鲸JD行云阿里云效简略云ezone华为DevCloud国内很多,以上这些都算是整合各个环节比拟综合的,其余像禅道、Ones等这些项目管理类平台尽管号称DevOps平台,然而他们更善于垂直畛域,不是综合性平台。 有哪些好用的DevOps VSDP(DevOps价值流交付平台)举荐? - 知乎 自研DevOps平台面临的问题下面说的平台都很好,然而面对上千规模的研发团队,往往会有“心有余力有余”,“杀鸡用牛刀,然而还杀不了鸡”的感觉。说白了,就是买了还是做二次开发,并且往往还不是简略二次开发这么简略。听我细细道来 1. 企业外部各平台泥沙俱下对于中小型企业,你能够通过洽购内部DevOps平台服务的形式,疾速造成战斗力。然而对于肯定规模的企业,并不是一穷二白,而是各种平台曾经存在了。这是一个企业的案例,很显著管需要的在OA, 管工单在一个零碎,项目管理在另外一个零碎。那我买了里面的平台(个别都是全家桶的解决方案),到底和我外部零碎怎么交融呢? 举个例子,如果公司曾经用了JIRA, 里面大部分DevOps平台都自带同类性能的模块,你让我把JIRA干掉,买你的产品,只管JIRA国内有点水土不服,然而这须要管理者做出抉择,哪怕是数据迁徙也是须要老本和工夫的。 2. 自研平台实质还是“企业的数字化转型”对于传统软件企业,他们要的平台不仅仅是一个跑CI/CD,做部署的平台,更重要的是可能度量外部改革成绩的平台。提到度量,就意味着你要买通整个研发过程所有环节,从内部客户需要,到外部研发环节,到对外公布,再到产品反馈,造成闭环。能够设想,改革过程会遇到多少不同的角色,不同的平台,所以研发打造本人平台的过程也是企业外部自我改革的过程,这个过程会很漫长,也会很痛。 对于互联网企业,他们必须拥抱变动,疾速抢占市场,所以从基础设施到人员素质,肯定水平上比传统软件企业会好很多,数字化水平会好很多,他们关注更多其实是线上的疾速公布,回滚,试错,监控告警。技术栈上,绝对容易对立,个性化定制会很少,个别都是骨干开发骨干公布,或者骨干开发分支公布。可是,对于传统企业,他们的特点是产品线丰盛,客户定制化需要多,重产品定制(轻运维),他们更须要规范化的治理和规定限度。然而往往他们的技术设施(容器化,环境疾速生成)比较落后,研发人员不太器重工程化伎俩解决问题,技术栈没有很好对立,工具各个团队各自为政,因而整合工具链条就变得更艰巨。所以自研平台实质还是企业自我的改革和信心,如果把传统软件企业比作工厂,通过自研平台进行性能和数据的整合,就是心愿构建一个真正的“数字化“工厂,让信息流动和共享。 3. 自研平台建设离不开部门间的拉通对齐如下图所示,DevOps波及诸多研发阶段和畛域 项目管理需要/缺点跟踪代码治理构建/部署/测试公布日志监控在企业外部刚起步阶段,可能不足业余的DevOps专家和人员,认为只是通过建设不同畛域的工具平台,不晓得如何拉通,为什么拉通,甚至可能不同的部门团队负责不同畛域的工具。不足最终目标的对齐和部门间拉通,可能导致如下问题 影响整体技术架构设计,可能导致很多返工部门间配合缺失,各自为政,不仅无奈造成合力,还可能互相掣肘,互相可能在做反复工作无奈制订久远平台演进布局数据拉通遥遥无期最终可能导致DevOps改革的失败,团队士气消沉,领导层看不到预期成果解决思路-组织构造 成立虚构的过程改良团队,蕴含组织级研效治理团队,平台工具建设团队,效力/工程教练团队,对业务研发团队进行撑持业务研发团队对效力进步负次要责任,每个月业务技术leader 汇报停顿;业务研发团队须要证实本人技术架构改良,解决成员的埋怨;须要对本人团队负责;杜绝“工具平台团队”对效力后果负责的场面,工具团队个别提供的是通用的性能,对于“北极星”指标(ps:产品胜利的要害指标)影响无限; 对技术负责,打包更快,上线工作流更好效力/工程教练团队要走进一线,和团队成员面谈,粗浅理解团队“痛点”,进行辅导组织级研效治理团队(个别是PMO组织),建设组织级标准进行公布;(PS: 理论状况中,该部门可能须要DevOps工具/教练团队的撑持,特地是工程技术方面,防止标准无奈落地)须要一位德高望重,技术能力权威都还能够的领导统领过程改良团队 (PS: 解决拉通过程的艰难,帮忙协调资源,敢于拍板) 4. 围绕“版本”和“关联”做文章,构建研发畛域模型”版本“ 记录了整个研发过程的演进,通过“版本”作为纽带,串联起来真个研发过程的元数据,再适合不过。”版本“的规范化,也是流程规范化的重要体现,只有“版本”规范化,过程才可能规范化。试想,如果你的组织连标准的版本号以及公布标准都没有,其余自动化伎俩就基本不必提“版本”关联元数据 - 在笔者看来,是整个DevOps平台的重要指标之一,如果没有做到这一点,必然影响价值流买通构建研发过程畛域模型,能够帮忙平台建设者理清业务实体之间的关系,领导平台的技术演进,串联起畛域实体也是整个DevOps平台的重要指标统一 5. 围绕组织内实在业务场景,防止照虎画猫在咱们本人建设DevOps平台过程中,往往会参考一些商用的平台,这个无可非议,然而要防止“机械模拟”。任何一家公司的DevOps演进都不是欲速不达,或多或少都有历史起因,模拟的同时要思考他们为什么要这样做,是不是真的适宜本人的场景,借鉴能够,然而要弄清楚为什么须要。举例说明 大部分私有云的DevOps平台基因里都或多或少都有互联网的基因,它们的对于继续部署公布(灰度,蓝绿)会分外器重,那么作为传统软件企业,你是否真的须要?再比方,这些平台的流水线编排都很灵便,然而在你的企业适度的灵便是否真的有用? 兴许开发团队只须要傻瓜式的,甚至无脑,严格控制的流程呢?相熟组织的软件研发流动,通过和业务研发团队座谈的形式,收集实在的痛点,在“灵便模式”和“死板模式”中需要均衡。性能做的再酷炫,不能解决理论问题,也是没有任何价值的。如图所示,能够通过绘制业务流程图的形式,将平台的业务流程和理论的业务场景联合,领导平台分阶段建设,业务与技术演进相结合。 总结下面我分享的几个问题,置信你都会遇到,这里仅供参考。每个组织想要的DevOps平台是齐全不一样的,他人的场景性能未必就适宜本人,次要还是以解决问题为目标。DevOps实际过程是漫长和艰巨的,平台能力是整个组织一起致力的后果,不要试图你的团队人多势众搞成这个事件,离不开你的“客户”(需要),离不开下层领导的反对(自上而下推动),离不开组织经营标准的牵引(流程标准)。

August 16, 2022 · 1 min · jiezi

关于devops:终于极狐GitLab-支持-ARM-啦

作为 ARM 用户,但无奈装置应用极狐GitLab?基于诸多用户的反馈与需要,极狐GitLab 已反对在 ARM 上应用啦! 您能够依据上面教程,在 ARM 上体验高效、平安、一体化的 DevOps 平台! 极狐GitLab 从 15.2.0 开始正式反对 ARM 了。目前反对的 OS 有: Ubuntu 20.04Debian 10/11AlmaLinux 8能够通过 apt/dnf/yum 的形式实现极狐GitLab 在 ARM 上的装置。上面演示用 apt 形式进行极狐GitLab 的装置。 环境信息 能够通过 uname -p 来查看 Processor Type: $ uname -paarch64上述配置仅为演示用,生产应用须要依据本身需要进行容量扩大,如果有任何问题能够通过下方链接间接分割极狐GitLab 反对团队。 https://gitlab.cn/company/contact/ 装置应用如下命令增加 gitlab-jh repo: $ curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash...太长,省略...==> Add apt repo file to /etc/apt/sources.list.d/gitlab-jh.listdeb https://packages.gitlab.cn/repository/ubuntu-focal/ focal main==> Running apt-get update...==> Successfully added gitlab-jh repo. To install JiHu GitLab, run "sudo apt-get install gitlab-jh".接着应用 apt-get 就能够进行装置: $ EXTERNAL_URL="https://jihulab.example.com" && apt-get install gitlab-jh装置胜利能够看到如下界面: 登录应用应用初始用户名和明码间接登陆以下网址:  http://jihulab.example.com 初始用户名和明码的获取以及 HTTPS 的配置能够查看极狐GitLab 装置配置指南。

August 15, 2022 · 1 min · jiezi

关于devops:阿里云杨红军应用管理云上资源DevOps最佳实践

摘要:2022 年 7 月 25 日,云上自动化运维 CloudOps 系列沙龙_第二弹正式开启!阿里云弹性计算技术专家杨红军带来了首个分享《利用治理:云上资源 DevOps 最佳实际》,以下是他的演讲内容整顿,本篇内容次要分为三个局部:    云上资源管理和运维的工具   利用分组维度资源的治理   利用分组维度资源的运维和监控01 云上资源管理和运维的工具 目前,围绕 ECS 的管控和运维呈现了五大问题。 第一,随着业务的倒退,企业云上资源数量和品种一直减少,对治理带来了挑战。第二,资源的应用方、财务方对依据治理视角分账,以及老本优化的诉求显著。第三,随着越来越多的业务方应用、如何平安的应用云账号和资源,对资源管理者带来了挑战。第四,随着资源规模的减少,如何高效的治理运维晋升效率,为运维人员带来挑战。第五,云资源管理、运维的入口过多,无奈找到最佳实际。 为了解决云上资源管控和运维的痛点,必须实现标准化、自动化、数据化、流程化。要实现分组分权治理,买通账号权限,放慢实现审批流程化。 在自动化方面,要进一步晋升效率,缩小人肉操作,保障定时告警运维,时刻留神资源的应用状况。 02 利用分组维度资源的治理 利用分组次要波及三个概念。 第一,利用分组的配置。在每个利用下,创立一些不同的分组们能够依据不同的环境或地区,创立不同的利用分组。从而实现多部署环境、多架构的分组。 第二,资源管理。反对在分组资源里,导入须要的资源,导入利用分组场景化、反对弹性扩缩容。 第三,资源运维。当在资源分组时,呈现破绽或平安危险,通过平安和风险管理,触发监控和事件机制。除此之外,还反对 CICD 代码的编译部署能力。 为了解决云资源数量多,品种多,治理难度大,管控入口不好找等问题。阿里云反对三十多种云资源的导入,对云资源进行对立治理。 为了解决泛滥产品割裂的问题,阿里云通过分组治理,把最佳实际放在一起,不便大家疾速应用这些能力。 为了解决资源分权、分账问题,阿里云通过标签能力,把所有的资源关联到一起。用户能够在账号的费用核心,查看你以后资源的费用散布状况,每月账单等。 以钉钉场景为例,把一部分 ECS 挂载到负载平衡上。通过利用分组,抉择钉钉利用,间接创立利用。在创立过程中,所有关联关系以资源站的模式,主动创立。而后,这些资源会主动导入到利用分组,不便用户后续的管控。 接下来,讲一讲弹性扩缩容。利用治理把弹性伸缩进行集成。每个利用分组能够间接关联一个弹性伸缩组。用户能够依据业务,制订弹性伸缩的规定。零碎会依照伸缩规定,进行扩缩容。 除此之外,弹性伸缩反对主动退出 RDS,主动关联 SLB/ALB,伸缩配置、生命周期挂钩。 03 利用分组维度资源的运维和监控 自动化运维反对分组级别的资源运维,可能关联资源事件和告警,用户能够任意编排运维工作,灵便可扩大。 在实例治理方面,罕用的运维工作有发送近程命令、上传文件、磁盘清理、启动实例、进行实例等。在镜像治理方面,次要反对更新镜像、删除镜像、创立镜像。 在 OOS 运维编排的自定义模板中,自动化运维反对定时开关机、带宽长期降级、定时执行任意模板。自动化运维反对 120 多种云产品阈值告警,40 多种云产品零碎事件告警。 接下来,讲一讲监控和事件。如果把某些资源,导入到利用分组,能够查看所有的监控,比方某分组下 CPU 的利用率,负载平衡指标等等。印象特深,用户还能够装备告警相干的能力,云监控能力等。 除此之外,事件运维集成了五个零碎事件。包含打算内运维事件、非预期运维事件、实例费用事件、实例安全事件,以及实例因底层降级需迁徙事件。 在平安风险管理中,次要包含破绽扫描,基线和云平台的配置检测。其中,破绽扫描会定期主动扫描 Linux 软件破绽,windows 软件破绽,利用破绽,以及应急破绽。 如上图所示,用户在代码构建时,须要绑定云效企业,新建流水线,受权公布 ECS,而后关联流水线,进行代码扫描、构建、部署、测试。最初,公布到 Kubornetes 集群,阿里云容器服务,阿里云 ECS 或自有主机。 ...

August 15, 2022 · 1 min · jiezi

关于devops:落地DevOps探索高效研发运营一体化解决方案

前言与概述随同着企业业务的疾速倒退,为了撑持业务倒退,进步IT对业务的撑持能力建设。在研发工程协同方面,心愿增强代码治理,实现继续构建、自动化测试、自动化部署、自动化运维,同时增强产品的平安和品质治理;在研发治理协同方面,心愿实现从需要提出、需要布局、需要设计需要设计、需要开发、需要测试、需要上线的端到端的治理,并反对瀑布模型和麻利模型的我的项目开发。 基于以上背景,企业更心愿借助研发经营一体化体系的建设和DevOps工具平台的建设赋能研发,进步质效。 什么是DevOpsDevOps(英文Development和Operations的组合)是一组过程、办法与零碎的统称。用于促成开发(应用程序/软件工程)、测试(QA)、技术经营之间的沟通、合作与整合通过高度自动化工具与流程,使得软件构建、测试、公布更加快捷、频繁和牢靠,从而疾速交付想法、尽快让客户尝试从而获取反馈、疾速响应客户反馈、晋升业务速度,或尽量升高经营老本和缩小节约。 研发经营一体化(devops)能力成熟度模型DevOps国内翻译为开发运维一体化,但目前人们更多关注的是在开发与测试域,运维域仅有自动化公布归属DevOps。DevOps作为最佳实际,旨在进步软件交付速度和品质,买通部门间壁垒,促成协同,做到了从需要到运维,端到端的流程买通和可视化。DevOps平台根底版包含代码配置管理、自动化编译打包、自动化部署/公布;高级版除根底版模块外,还包含需要治理、项目管理、开发治理、测试治理等协同性能。通过多年的倒退和演进,DevOps曾经造成了较为齐备的常识体系,那就是以精益治理为根底,麻利治理、继续交付、IT服务治理为支柱的常识体系。下图为研发经营一体化能力成熟度模型图,旨在帮忙企业更好地了解和标准 DevOps 的落地施行与利用。 研发经营面临的“四大”挑战业务压力:强烈的市场竞争对业务提出更高的要求,数字化转型成为产业降级的重要抓手,疾速、高效、高质量的交付业务价值。技术压力:云原生等新技术在带来便捷的同时,也减少了交付与保护的复杂度,对技术人员提出了更高的要求。效力压力:随着组织规模越来越大,多团队、多我的项目、多产品合作老本越来越高,单人效率日渐降落。老本压力:研发经营老本日益高企;复合型人才稀缺。信息化水平走高后,裸露的研发经营问题团队之间、不同角色之间协同效率低(信息离散难回溯,沟通老本高、效率低) 工作的调配、状态追踪须要人工(当面/邮件/会议等)反馈、跟踪;线下沟通,参加人员多,邮件多,会议多,沟通老本高;危险(比方提早开发、SIT、UAT)的反馈慢。研发过程割裂,不足研发经营一体化平台(IT资源管理老本高、无奈做过程优化) 多个团队都有本人的研发工具,反复造轮子;交付件、公布内容不足对立治理,没有版本标准,流程治理标准;工具互不关联,数据无奈集成,工作协调进度无奈集成。IT侧的响应跟不上市场竞争节奏(市场商机昙花一现、IT老本越堆越高) 业务迭代频率越来越高,当初的交付模式曾经成为瓶颈;公布过程简单及人工操作工夫久,公布波及不同零碎或数据库之间的前后公布依赖、局部简单的利用;前无奈实现自动化公布,手工公布的零碎比例较大。零碎可用性无奈保障(用户散失、业务流程阻塞) 公布实现后,仅能做简略验证服务启动胜利,对业务性能验证,并无好的办法;线上服务没有故障疾速发现,短少自动化运维能力(健康检查、弹性伸缩、 故障自复原等)。研发经营一体化建设思路价值流交付平台使企业组织可能简化 DevOps 交付流水线的构建和治理。它们最大限度地缩小了编排、集成和治理中波及的开销,从而通过为工作流程提供可见性、可追溯性和可察看性来最大化价值。 产品基于价值流治理的思维,引入DevOps价值流治理理念,通过建设迷信、标准、高效的一体化软件研发效力体系与平台,晋升组织级软件交付、运维效力,以实现对企业数字化转型及业务翻新的无力撑持和继续驱动,达到一体化、统一化、场景化、自动化、可视化的指标。 体系化:引入DevOps、ITIL体系框架,建设迷信的研发经营体系,实现企业的数字化转型和业务价值翻新。统一化:通过建设标准、高效的一体化研发经营平台,实现多角色、多维度、多视角线上化的高效合作。场景化:通过模板化、规则化等伎俩,实现多种研发交付场景下的治理与生产动作的联动,从而实现从左到右端到端的价值流动,实现部门协同治理。自动化:以软件交付工序为主线,集成专业化IT服务管理工具、配置管理等生产工具,晋升继续交付、继续经营的自动化能力。可视化:通过价值流可视化能力来剖析价值和节约,促成端到端的价值流疾速流动。解决方案研发经营一体化建设蓝图布局研发经营一体化平台,实现了企业从需要、布局、设计、开发、测试、公布、运维的端到端的治理。在需要全过程中波及到需要治理、我的项目合作、配置管理、测试治理、公布治理、运维治理以及研发效力度量等流动,典型场景如下: 业务人员提交动向需要,BA进行需要剖析,编写业务需要和软件需要,并将需要关联到相干我的项目。项目经理制订迭代打算,将需要调配到相干迭代打算,并将需要转化成工作,调配给开发人员。开发人员依照工作实现代码开发,并提交代码,配置管理人员依照分支合并源代码,并手工触发流水线执行,流水线主动实现构建、自动化部署、自动化测试等工作,待测试人员实现测试用例的执行和报告后,执行公布流水线,最终实现生产部署工作。 研发经营一体化平台利用架构研发经营一体化平台利用架构具体分为项目管理、产品治理、需要治理、测试治理、公布治理以及运维治理6大模块。将来平台将持续凋谢麻利治理、代码库治理、流水线以及制品治理等模块性能。 研发经营一体化平台技术架构云原生 服务化前后端拆散、基于Rest API 交互,后端基于DDD拆分微服务;前端采纳Vue+H5、后端采纳Spring Cloud开发框架。容器化反对利用容器化部署和治理,反对资源动静伸缩。DevOps通过IaC构建DevOps(GitOps)服务化 凋谢API便于三方集成及生态化倒退。集成HUB形象集成层、数据模型便于集成及映射。 场景案例场景一:高效合作,全流程解决方案 实现需求治理流程、项目管理流程、测试治理流程、公布治理流程、变更治理流程、事件治理流程的全流程买通。 场景二:多维度、多层次研发协同 实现业务人员、需要人员、产品经理、项目经理、开发人员、测试人员、部署人员、运维人员高效协同个信息共享。 场景三:需要端到端的治理 面向业务,实现从需要收集、需要剖析、需要布局、需要开发、构建和部署、需要测试、需要公布的端到端治理;反对需要的逐层合成(创意、史诗、个性、用户故事)和细化;反对需要的自动化跟踪和可视化治理。 场景四:我的项目全周期治理 实现我的项目从启动、打算、执行&管制、结项的全生命周期治理;反对瀑布模型和麻利模型的项目管理;反对我的项目迭代打算和里程碑打算治理。 场景五:对立软件配置管理 全生命周期:从布局到产品交付投产的端到端的企业级配置管理全生命周期的统一化、线上化反对;分层级分角色治理:辨别组织级、我的项目级角色;组织级能够关注在对立管控、反对领导方面;我的项目级角色能够进行日常的配置管理和环境治理的工作;多工具反对:企业内不同团队可依据须要自行抉择版本管理工具撑持开发。 场景六:测试全周期治理 依照测试工作,编写或者关联测试用例,执行测试用例,记录测试后果,并生成测试报告;建设对立测试用例库,测试工作从测试用例库提取测试用例。 场景七:自动化流水线 全链路工具链集成流水线编排和调度 场景八:运维服务流程和DevOps的集成场景 实现运维公布治理和公布流水线的自动化对接;实现制品元数据与CMDB信息的自动化同步。 场景九:基于服务端到端DevOps与CMDB的交融 CMDB为端到端的服务交付过程提供数据根底,提供部署环境信息。公布实现后,DevOps主动同步利用配置基线数据到CMDB 场景十:研发经营一体化价值度量 我的项目建设收益进步IT管理效率   通过对立平台、对立入口治理,管理者可能把握软件研发全过程的信息,对软件研发全过程进行可视化掌控,及时理解需要、设计、开发、配置、构建、测试、部署等状况,实现可视化、透明化治理。晋升IT工程效率   一键式部署,实现代码提取、分支合并、主动构建、自动化测试、自动化部署的全过程治理。全过程无需人工干预,升高相干人员的技术和工具要求,同时产品反对自动化撤版和回滚,升高运维生产事变和危险。加强零碎稳定性,进步我的项目品质   实现我的项目全过程的规范化治理,通过自动化流水线,升高出错的机率,通过集成平安、品质、自动化测试工具,实现对交付品质的自动化检测,进步交付品质。FlyFish开源福利云智慧已开源数据可视化编排平台 FlyFish 。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现合乎本人业务需要的炫酷可视化大屏。 同时,飞鱼也提供了灵便的拓展能力,反对组件开发、自定义函数与全局事件等配置, 面向简单需要场景可能保障高效开发与交付。 点击下方地址链接,欢送大家给 FlyFish 点赞送 Star。参加组件开发,更有万元现金等你来拿。 GitHub 地址: https://github.com/CloudWise-... Gitee 地址:https://gitee.com/CloudWise/f... 微信扫描辨认下方二维码,备注【飞鱼】退出AIOps社区飞鱼开发者交换群,与 FlyFish 我的项目 PMC 面对面交换~ ...

August 11, 2022 · 1 min · jiezi

关于devops:DevOps围炉夜话-Pilot-CNCF开源DevOps项目DevStream简介-feat-PMC成员胡涛

本文作者:aFlyBird0个人主页:https://blog.aflybird.cn/ 单刀直入这是《DevOps围炉夜话》系列节目的第一期。在这期首秀中,咱们邀请到了 DevStream 社区(CNCF 开源我的项目,国人主导)PMC成员胡涛,跟咱们一起聊聊对于 DevOps,DevStream,一站式平台,工作生存均衡,近程办公那些事。扫码关注嘉宾胡涛公众号:胡说云原生 - 专一于云计算畛域技术栈 音频版喜马拉雅:https://www.ximalaya.com/sound/558277589小宇宙:https://www.xiaoyuzhoufm.com/episode/62ec8532adbcb96cf7f767af视频版B站:https://www.bilibili.com/video/BV14S4y1s7fE 前因欢送来到《DevOps围炉夜话》,这是一款全新的音视频节目,由 DevStream 团队主持。节目会以 DevOps 为主题,讲一些所有跟软件开发、开源、DevOps 相干的内容。 你可能会问,如果我想理解 DevStream 的产品应用文档,能够去看 GitHub、官网、文档站点;如果我想向 DevStream 开源社区奉献代码,能够去看 贡献者指南;如果我想看看 DevOps 漫谈,看看 DevStream 团队的最佳实际的布道与分享,能够去看博客。 所以《DevOps围炉夜话》的意义何在呢?诚然,DevStream曾经尽全力产出各类文档,并且文字模式的材料的信息密度远大于音频和视频。但咱们仍想换个形式和大家聊聊,和开源贡献者们,和 DevOps 工程师们,和 CNCF 爱好者们更亲切而深刻地聊聊。 正如节目题目的“围炉”那样,这个节目从模式上来讲是更安逸的,更随便的。在当代快节奏的互联网生存下,忙完一天的工作已是身心俱疲,再正襟危坐浏览技术文档切实太无趣了。不如煮一杯咖啡,躺着也好,靠着也好,细细品味,品尝咖啡的香味,品尝播客的韵味。 亦如题目中的“围炉”那样,音视频更有”温度“。一是声音和画面自身就是有温度的,二是相比被”垄断“的博客站点,每个人都能够成为《DevOps围炉夜话》访谈的对象,每个人都能够是一期节目的配角。你违心来聊聊,那咱们就邀请你。 结果这是《DevOps围炉夜话》系列节目的第一期。在这期首秀中,咱们邀请到了 DevStream 社区(CNCF 开源我的项目,国人主导)PMC成员胡涛,跟咱们一起聊聊对于 DevOps,DevStream,一站式平台,工作生存均衡,近程办公那些事。 本次访谈话题一览:向观众敌人们简略介绍一下本人吧?在退出思码逸之前,你次要做过哪些工作?听你说当初做DevStream,那么简略给听众介绍下DevStream是啥?最近一个跳槽,据说你是在腾讯的 offer 和思码逸之间抉择了思码逸,能不能聊聊你为什么这样做,为什么抉择退出 DevStream 团队?接下来咱们探讨一些提前收集的DevStream用户的问题吧。说到 DevStream,有用户问到:DevStream 和 helm 的本质区别是什么?你刚说到 DevStream 的一些高大上的能力,然而有用户吐槽:DevStream 目前看起来仿佛只能简略地去部署一些工具,看起来没啥价值,你怎么看?如果我不差钱,我能够为云厂商提供的一站式 DevOps 平台付费,这时候我还有必要思考 DevStream 吗?结语心愿发问的听众敌人们,欢送大家留言,咱们会一一记录并在下期节目中探讨。 访谈中提到的链接胡涛网站DevStream 演示视频CNCF TOC 评审会议k8s-1.13版本源码剖析相干链接对于主持人:郭铁心网站GitHub: @ironcore对于嘉宾:胡涛网站GitHub: @daniel-hutao

August 10, 2022 · 1 min · jiezi

关于devops:6000字深度总结极狐GitLab-首次揭秘内部-DevOps-最佳实践

武让,极狐(GitLab) 高级解决方案架构师本文依据 “寰球互联网架构大会” 现场演讲内容整顿,约6000字。 1988年,微软高级主管 Paul Maritz 写过一封题为 “Eating our own Dogfood” 的邮件,向微软局域网管理工具我的项目的测试主管提出 “进步外部应用自家产品比重” 的挑战。从那时起,Dogfooding 作为一个专业术语,疾速流传开。 在向消费者推出之前,Dogfooding 容许员工应用并测试他们公司的产品,因而 Dogfooding 能够作为品质测试,它为开发人员提供了在产品公布之前,解决产品相干问题的机会。并且在开发人员应用本人公司产品进行软件开发的过程中,会对他们正在构建的软件有更深的了解,并能切身体会到产品的用户体验如何,这能极大改善创立技术产品的技术专家与产品最终用户脱节的问题。 极狐GitLab 提供开箱即用的开放式一体化平安 DevOps 平台,该平台笼罩了项目管理、源代码治理、集成、继续交付、平安扫描等诸多性能。极狐GitLab 正在踊跃实际着 Dogfooding 文化,首先,提倡公司各个岗位的人员都应用这个产品,不论是 HR、销售还是研发团队,在不同场景外面应用,笼罩足够多的性能。其次,咱们应用 GitLab 并且基于 handbook 来进行合作,将内容和流程都积淀成为 handbook,并把它公开出来。 从 DevOps 这个较大的维度来看,极狐GitLab 的开发人员从四个方面来进行 Dogfooding: 1. 极狐GitLab项目管理实际极狐GitLab 应用轻量、麻利、issue 驱动的形式来进行项目管理,并应用机器人辅助去做需要治理。 2. 极狐GitLab版本控制实际极狐GitLab 版本控制最佳实际五步走,高效治理代码,进行合作。 3. 极狐GitLab继续交付实际通过 CI/CD 去集成大量自动化工具帮忙实现测试,在高效率的同时保障产品的高质量和平安。 4. 极狐GitLab效力评估实际极狐GitLab 具备价值流剖析和效力剖析两项性能,辅助进行效力评估。 极狐GitLab项目管理实际以极狐GitLab 的研发团队举例来说,下图是它的残缺研发流程: 极狐GitLab 是月发版制,研发团队的产品迭代周期为一个月,从第一个月的月中到第二个月的月中,一个残缺的产品迭代周期分为四个局部: 从第一个月月中到第二个月第一个周一,这期间,团队专一于新版本的性能开发;第二个月的第一个周一到第一个周三,产品经理进行下一个迭代周期的打算,研发人员评估工作量;到了第二个月的周三,团队会开具体的需要讨论会,用来明确需要和打算,并给出明确公示进行评估;第二个月的第三个周一,残缺迭代周期进入了序幕,团队进行复盘,对值得发挥和须要改良的内容进行剖析。更多详细信息,参见handbook产品:https://GitLab.cn/handbook/pr...研发:https://GitLab.cn/handbook/en... 1. 极狐GitLab 的麻利开发管理体系那么整个产品迭代我的项目是如何进行治理的呢?极狐GitLab 反对麻利开发管理体系,它用群组、子群组和我的项目来别离对应我的项目和子项目,通过施行 epic、子 epic 和 issue 来对应原始需要的工作、子工作,这项目管理的第一步。 产品经理创立原始需要后,和研发人员一起细化需要,并基于 invest 准则拆分需要。首先明确所有需要,撰写具体的 user story。撰写实现后,如果大家有其余意见,能够以评论的形式写在该 issue 下,而后进行探讨,直到需要明确。 ...

August 4, 2022 · 2 min · jiezi

关于devops:企业应当实施的5个云安全管理策略

你晓得吗?65%的企业都认为他们无奈同时兼顾平安和翻新,因为他们认为开发人员须要领有拜访所有资源的权限能力取得更大的开发自在。那么有没有方法既可能确保开发过程的安全性同时也能保留麻利所需的资源呢?在瞬息万变且日益简单的云计算生态中是否实现呢?是否同时也让 DevOps 团队便于管理呢?或者咱们能够从云平安治理中找到答案。 什么是云平安治理?云平安治理是一个多步骤流程,目标在于被动应答潜在的安全漏洞。它须要逾越整个组织的云依赖关系,从会议、电子邮件和客户治理服务到开发团队应用的 PaaS(平台即服务)。 云资产的平安治理还须要包含数据加密、爱护员工应用的各种设施以及治理用户凭据。最重要的是,云平安治理是一个继续的过程。因而,须要定期更新和保护。 为何 DevOps 应该关怀云平安治理?大部分人会天经地义的认为云平安治理是平安团队的工作。但实际上,云平安应该是每个人的责任。IT 安全策略有时无奈满足开发人员的需要,尤其是在工作负载平衡 docker 和容器方面。这就是 DevOps,或者更精确地说,是 DevSecOps 和 CloudOps 的作用所在。 往往企业认为不间断的开发节奏会更加高效,因而偏向于将平安放在软件开发周期的最初。但这样的做法通常导致齐全相同的后果。因为在 DevOps 周期开端时的平安评估往往会指出不合规问题,而解决这些问题会导致产品无奈按时面市。而因为开发周期曾经完结,有些企业的高管有时会冒着没有适合平安预防措施的状况下将产品推向市场。 而在云平安方面,只有不到60%的企业为开发人员明确了安全策略,而这其中只有四分之一的企业认真执行了这些策略。应用云可能企业带来许多劣势,但其对应的平安危险也不容忽视。DevOps 必须在开发周期内制订明确的平安打算和指南,来防止或被动解决已知或潜在的平安问题。 企业该当施行的5个云平安管理策略与传统计算不同,云计算十分复杂。这是一个永无止境的平安和合规之旅。直白来说,每个解决云工具和环境的 DevOps 专业人士都应该理解一些云平安基本知识。 1. 应用第三方平安服务现在,大多数企业都采纳多云基础架构,和不止一个云基础架构提供商进行单干。每个平台都有一套本人的平安工具,来爱护特定云平台提供的服务平安。随着采纳的云提供商和解决方案数量的减少,多个日志中的警报和告诉也越来越多。因而企业须要确定报告的哪些危险和威逼实际上值得跟进和解决,这往往须要破费大量的工夫和老本,因为企业须要为这些危险和威逼开发对应的威逼建模办法。 除了平台自带的平安工具,能够抉择内部业余平安服务。这些服务可能帮忙企业节俭治理多个仪表盘和监控零碎的工夫和精力。内部平安服务提供商的指标是与所有云服务和平台集成,以接触最宽泛的客户群体,这也内部平安服务成为集中式云平安治理的现实解决方案。 2. 爱护云凭据敏感信息如果被(无意或无心)放在谬误的中央将会导致灾难性事件。因为安全漏洞,敏感信息被上传到代码存储库,Uber 有5700万条信息被泄露。 DevOps 和开发人员在设计流水线时关注速度和效率,而安全性是信息安全团队和 IT 部门常常关怀的问题。开发时,企业的注意力经常放在产品和客户端的安全性上,而不是云工具的安全性上。这可能导致云凭据失落、泄露、裸露和滥用。 因而,企业非常有必要增强员工的爱护云凭据的意识,同时在外部进行平安宣教,教育员工如何辨认网络钓鱼。一旦员工无意识爱护凭据信息,企业则更容易执行安全策略。同时企业能够施行密钥和明码轮换,并确保密钥/明码安全性高且不易被暴力破解。 Gartner Inc. 钻研发现高达 95%的云数据泄露是人为谬误(例如配置谬误)造成的。为了爱护云凭据免受这些谬误的影响,DevOps 团队须要确保将凭据扫描工具集成到 CI/CD 流水线中。 3. 扫描 IaC、容器及镜像以查找谬误配置易受攻击的配置文件往往是和不足相应的专业知识挂钩,而遗记敞开公开拜访权限的事件也时常产生。事实上,在扫描的 CloudFormation (AWS IaC)配置文件中靠近一半存在谬误配置,这也表明谬误配置是普遍现象。 图片起源:Palo Alto Networks 有时开发人员须要设置一些公共读取权限,来查看某些内容是否失常运行,而预先遗记批改权限。为了防止配置出错,企业能够应用自动化工具来扫描配置文件。相比手动扫描配置文件,自动化工具可能高效且无效地扫描文档并查找谬误。 4. 施行最小拜访权限准则让每个人能够无限度地拜访所有内容,确实让开发过程更加通顺,但也让开发过程安全隐患重重。并不是每个人在此过程中都明确晓得本人做了什么,做错了什么。因而执行最小拜访权限准则(least access privilege principle)能够大大减少产生谬误的概率和区域。 以下是企业能够采取缩小拜访权限的措施: 勾销终端用户机器上的管理员权限爱护账户凭据监控特权拜访确保其正当应用限度授予开发人员对其特定需要的拜访权限限度对生产零碎的拜访权限拜访治理(Privilege Access Management, PAM)能够将上述措施的过程自动化,其中包含生命周期内特权拜访的监控、审计和强制合规。PAM 的施行能够让企业在开发过程中随时减少或勾销拜访权限,确保随着工夫的推移放弃最小拜访权限。 5. 在 CI/CD 流水线中实现继续的安全性在议论性能、产品设计或代码时,“Start now, optimize later” (先启动,再优化)并不是个坏的抉择。但波及平安时,“optimize later” 可能意味着微小的平安危险。在 CI/CD 中尽早施行安全策略有助于保护开发周期的安全性,还能极大地缩小合规和配置谬误的问题。 ...

August 4, 2022 · 1 min · jiezi

关于devops:什么是-DevOps看这一篇就够了

一、前因我是一个“DevOps 工程师”,于是总会遇到有人问我:“什么是 DevOps?” 这个问题看似特地根底,根底到很多人懒得答复。但其实沉着一秒,问本人一句“什么是 DevOps?”可能每个 DevOps 工程师都晓得“什么是 DevOps”,然而他们给出的答案不尽相同。 所以我会怎么答复这个呢?上面咱们开展来聊聊。 特别强调:本文仅代表我集体现阶段的浅显认知,本文观点不代表思码逸公司也不代表 DevStream 团队。二、记忆我第一次看到 DevOps 这个词,大略是在2016年的秋天。那时候我在 H3C 从事云计算研发相干工作。记得我接到的第一个工作是钻研 OpenStack 的一个 CICD 相干的组件,叫做 Solum,那是我第一次晓得什么是 CICD,第一次看到 DevOps 这个词。没错,只是看到 DevOps,然而我无奈记住 DevOps 的定义。或者说,过后我甚至没有找到一个清晰易懂的对于 DevOps 的定义。可能很多人和我当年一样,对 DevOps 的印象,就是 Dev + Ops。 2018年的夏天,我开始在太保成研任云平台 PaaS 组负责人,专任太保云 CMO(Configuration Management Officer) 一职。没错,我仍旧是一个“云平台研发工程师”,然而再一次与 DevOps 结缘。太保云的 CMO,简略说就是负责太保云平台的源码治理、研发合作流程、版本治理、CICD、制品治理、发版流程等等。这个时候我其实曾经开始钻研一些 DevOps 相干的工具了,比方 GitLab、Jenkins、禅道、Artifactory、Nexus 等等;同时也在主导一些 DevOps 文化层面的建设,比方怎么的模式或行为在团队里是被激励的,怎么的事件是被禁止的…… 不过我只是在制订规定,而没有意识到这是“文化”。总之,那几年我也算是投身于 DevOps,致力于晋升团队研发效率、交付效率与交付品质,然而同时我没有去认真思考过“什么是 DevOps?”这个问题,我也没有刻意去思考过本人是不是在玩 DevOps。 去年(2021年)年底,我退出了思码逸,我的 title 第一次从“xxx 云平台研发工程师”变成了“xxx DevOps 工程师”(xxx 示意高级、中级、高级等)。那天我开玩笑说:“以前,我在云原生畛域兼职玩 DevOps;当前,我在 DevOps 畛域兼职玩云原生”。 好吧,这会我是名正言顺的“xxx DevOps 工程师”了,我总该晓得“什么是 DevOps”吧! 三、他们说……咱们先来看一下几家典型的公司是如何定义他们眼中的 DevOps 的,包含: ...

August 4, 2022 · 3 min · jiezi

关于devops:什么是-DevOps看这一篇就够了

本文作者:Daniel Hu个人主页:https://www.danielhu.cn/ 一、前因我是一个“DevOps 工程师”,于是总会遇到有人问我:“什么是 DevOps?” 这个问题看似特地根底,根底到很多人懒得答复。但其实沉着一秒,问本人一句“什么是 DevOps?”可能每个 DevOps 工程师都晓得“什么是 DevOps”,然而他们给出的答案不尽相同。 所以我会怎么答复这个呢?上面咱们开展来聊聊。 特别强调:本文仅代表我集体现阶段的浅显认知,本文观点不代表思码逸公司也不代表 DevStream 团队。二、记忆我第一次看到 DevOps 这个词,大略是在2016年的秋天。那时候我在 H3C 从事云计算研发相干工作。记得我接到的第一个工作是钻研 OpenStack 的一个 CICD 相干的组件,叫做 Solum,那是我第一次晓得什么是 CICD,第一次看到 DevOps 这个词。没错,只是看到 DevOps,然而我无奈记住 DevOps 的定义。或者说,过后我甚至没有找到一个清晰易懂的对于 DevOps 的定义。可能很多人和我当年一样,对 DevOps 的印象,就是 Dev + Ops。 2018年的夏天,我开始在太保成研任云平台 PaaS 组负责人,专任太保云 CMO(Configuration Management Officer) 一职。没错,我仍旧是一个“云平台研发工程师”,然而再一次与 DevOps 结缘。太保云的 CMO,简略说就是负责太保云平台的源码治理、研发合作流程、版本治理、CICD、制品治理、发版流程等等。这个时候我其实曾经开始钻研一些 DevOps 相干的工具了,比方 GitLab、Jenkins、禅道、Artifactory、Nexus 等等;同时也在主导一些 DevOps 文化层面的建设,比方怎么的模式或行为在团队里是被激励的,怎么的事件是被禁止的…… 不过我只是在制订规定,而没有意识到这是“文化”。总之,那几年我也算是投身于 DevOps,致力于晋升团队研发效率、交付效率与交付品质,然而同时我没有去认真思考过“什么是 DevOps?”这个问题,我也没有刻意去思考过本人是不是在玩 DevOps。 去年(2021年)年底,我退出了思码逸,我的 title 第一次从“xxx 云平台研发工程师”变成了“xxx DevOps 工程师”(xxx 示意高级、中级、高级等)。那天我开玩笑说:“以前,我在云原生畛域兼职玩 DevOps;当前,我在 DevOps 畛域兼职玩云原生”。 好吧,这会我是名正言顺的“xxx DevOps 工程师”了,我总该晓得“什么是 DevOps”吧! ...

August 4, 2022 · 3 min · jiezi

关于devops:研发效能的道法术器

-从道法术器四个档次来拆解研发效力 「道、法、术、器」出自老子《道德经》,是道家传承强调的四个层面。起初很多人用「道法术器」形容对事物认知的不同层面。咱们对事物的认知也不能只停留在外表,要由表及里,由浅入深,把握其本质、法则,把握准则,理解办法和技术,以及相干的工具和环境。本文将「道法术器」的理念融入到研发效力,从「道法术器」四个档次来拆解研发效力,这样有助于咱们理解研发效力的外延和内涵,加深咱们对研发效力理解的深度,更有助于研发效力的落地。 道德经中的「道法术器」道:万物变迁循环中亘古不变的实质法则、底层原理、灵魂、方向、指导思想法:在探究「道」道过程中通过实际思考、演绎总结出的规定体系和办法准则术:在规定体系领导下的具体操作技术器:无形的物质或工具研发效力的「道法术器」研发效力的「道」 道是研发效力畛域的实质法则和底层原理。道是大家的共识、都认可的实质道是咱们后续工作的指导思想,指引着咱们后退的大方向对于研发效力这个垂直畛域来说,更具体一点就是咱们团队的使命研发效力的「道」,即研发效力的实质,是继续高质高效地交付产品价值。研发效力的「法」 研发效力的「法」是实现「道」的思路、方法论、门路、决策、也包含决策后制订的规章、制度等一旦咱们确立了咱们要实现的大指标,咱们的「使命」,联合目前公司的倒退阶段、资源配置、需要分级,咱们制订出公司研发效力畛域倒退的布局、实施的打算、制订各种「规章、制度、流程、标准、最佳实际」等,以及以及描绘出咱们的愿景,也就是将来的样子,这就是研发效力的法。研发效力的「法」会因为公司规模、阶段、产品状态等的不同,须要依据理论状况进行调整这里的「法」是方法论,是策略,不是指办法,具体的办法是「术」此局部比较复杂,既蕴含了咱们将来的愿景,也蕴含了实现愿景的门路。此局部尽管能够依据「教训」有一些最佳实际能够提供给大家参考,但对于具体「公司」是否匹配、如何使用、何时使用等环节是须要有专家进行把控的,不能简略的从国外复制到国内,从大厂复制到小厂。从而这也是最难的局部。以下的工程实际出自《百度工程能力白皮书》,演绎出的工程实际体系十分具体,可供参考。 研发效力的「术」 采取「法」的门路,实现「道」的指标,咱们应该具备的各种具体常识,教训和能力,具体到团队和集体就是工作的办法、技术、畛域认知和实际操作执行等就是研发效力的「术」研发效力的「术」会因为软件状态、语言、工具等因素的不同而不同。比方构建Java 利用和 JavaScript 利用的命令显著不同;从SVN 和 Git 服务器获取代码的形式差异也很大。研发效力的「术」波及产研协同的「需要-工作-代码-构建-测试-公布-经营」各个环节,波及「产品经理-项目经理-研发人员-测试人员-运维」各个职能角色,波及「需要治理-项目管理-源码治理-构建治理-品质治理-测试治理-运维治理」等多项工作,所以研发效力的「术」须要针对不同职能角色在常识、教训、能力、技能上离开说。这部分能够参考之前的文章《找到研发效力的人》和《互联网公司研发效力/工程效率团队建设和布局》研发效力的「器」 器,工具也。「工欲善其事,必先利其器」。为了能更充沛地施展咱们的「术」,高质高效地依照「法」的门路,实现「道」的指标,咱们须要更高效的工具、平台、产品。这些工具、平台和产品就是研发效力的「器」「器以成事」。长于应用更先进的工具能力事倍功半。而当初对于研发效力这个业余畛域来说,这也是最欠缺的局部。研发效力波及产品经理、项目经理、研发、测试、运维等多职能每个角色都别离有本人的业余畛域,每个畛域须要不同的工具来实现不同角色的人员采纳的工具组合在一起形成了一条很长的研发效力工具链。各个孤立的工具在一起加大了不同角色的协同难度不同的产品状态也会对人员角色、工具产生影响,比方挪动端和服务端端工具链差别很大道法术器分析法的有余道法术器与OKR 毛糙的「法」从下面看,道法术器和OKR相比,还是比拟毛糙的,尤其是「法」。「法」涵盖的内容波及了愿景、策略、指标、要害后果,也就是说「法」须要更细一步地拆解才好落地执行。这也是咱们在一家公司里须要重点关注的局部,「道」容易达成共识,「术」能够找人做,然而「法」却很含糊,不容易认清、寻找到、抓住。这也是团队的管理者、骨干、专家的价值所在。 全文总结道以明向,法以立本,术以立策、器以成事。「道」很简略,「器」很具体,「术」是理论执行状况,然而「法」波及的内容才是重中之重。只有设立符合实际的指标、具体的布局、正当的门路和正确决策,能力在「术」的环节执行好,否则初心易得,始终难守,慢慢会偏离了最后的「道」。 研发效力的「道」:继续高质高效地交付产品价值研发效力的「法」:实现研发效力「道」的思路、方法论、门路、决策研发效力的「术」:具体的常识,教训和能力,以及理论落地执行研发效力的「器」:撑持咱们实现工作的工具、平台、产品

July 28, 2022 · 1 min · jiezi

关于devops:敏捷开发与DevOps的对比

麻利开发与DevOps的区别麻利与 DevOps 之间的次要区别在于:麻利是对于如何开发和交付软件的哲学,而 DevOps 则形容了如何通过应用古代工具和自动化流程来继续部署代码。 麻利宣言如果软件开发人员是麻利的,他们的行为形式与麻利宣言中定义的价值观和准则相一致。 麻利宣言于 2001 年由软件开发领导者撰写并签订,它定义了麻利从业者必须遵循的十二项准则和四项根本价值观,包含: 个体和互动高于流程和工具工作的软件高于全面的文档客户单干高于合同会谈响应变动高于遵循打算尽管麻利宣言对软件开发社区的重要性显而易见,但它的篇幅却十分短。 总共不到500字。 除了保持将软件继续将会给客户是麻利的最高优先级之外,宣言并没有提供任何扼要的领导,也没有举荐任何能够遵循的具体流程。 这纯正是一种哲学练习。 如何定义 DevOps?与麻利相比,DevOps 有定义文档。 DevOps 没有广泛承受的定义。 咱们甚至不分明 DevOps 是什么时候进入公共词典的,只管许多人指出 John Allspaw 和 Paul Hammond 在 2009 年 Velocity 大会上的演讲《每天10+个部署:Flickr上的开发和运维单干》是它的开始。许多人也认为 Gene Kim 的《凤凰打算》一书也是 DevOps 遍及的一个推动因素。 比拟麻利开发DevOps启始工夫20012007创始人J约翰·克恩、马丁·福勒等人Flickr 的 John Allspaw 和 Paul Hammond 以及 Gene Kim 的凤凰打算最高优先级软件继续交付软件继续部署开创神器麻利宣言《每天10+个部署:Flickr上的开发与运维单干》施行框架Scrum、看板、ScrumBan、精益、XPCAMS, CALMS, DORA备选计划瀑布开发模型竖井模式的开发与部署团队规模由 10 人以下的小团队应用作为公司范畴内的策略施行范畴专一于单个应用程序的开发公司范畴内的软件部署办法在 2009 年的 Velocity 演示中,Allspaw 和 Hammond 形容了他们对的软件测试例程的信念怎么使得在开发和经营之间建设了诸多信赖,该公司甚至曾经施行了一个流程,能够每天将代码主动部署到生产环境中 10 次以上。自动化这样的事件在过后被认为是石破惊天的。 自 2009 年以来,软件开发行业产生了许多变动,但 DevOps 的基石依然是: 开发和运维团队之间的信赖和合作重大依赖全面的软件测试例程集成古代工具以简化开发和经营工作无需任何人工干预或检查点即可主动部署到生产中麻利和 DevOps 文化只管许多人争执 DevOps 到底是什么,但大多数定义都蕴含“文化”一词。这就引出了一个问题:什么是文化? ...

July 26, 2022 · 1 min · jiezi

关于devops:行话-用DevOps高效交付游戏是种什么体验

什么是行话「行话」,是极狐GitLab 近期推出的全新内容系列,探讨 Git 与 DevOps 在不同行业的实际场景与解决方案,心愿可能为不同行业的软件开发者带来一些全新的思考和输出。说行业,讲行话。第一期,咱们抉择了「游戏行业」,讲「游戏行话」。以下,enjoy。 程序员薅秃头发为哪般?1. 大量的二进制文件须要版本治理游戏开发不可避免地会有各种各样的二进制文件 —— 图形、动画、视频、音频等等不同格局的大文件。二进制文件在Git上进行存储管理是有限度,所以开发组常常将二进制文件资产存储在其余零碎中。 然而,这种拆散治理代码和二进制文件的模式并不现实,因为在游戏开发中,所有贡献者(尤其是设计师和开发者)之间的单干是须要十分严密,如果开发者在Git上保护代码,设计师在其余系统维护二进制文件资产,很有可能频繁呈现不对立的矛盾和问题。对于任何采纳麻利、继续交付或DevOps开发方法的游戏开发团队来说,领有一个“繁多信息源 Single Source of Truth”是最根本的要求。 2. 团队协同多,产品交付慢游戏行业有着简单的生态系统,除了游戏的设计、经营、公布外,还有游戏用户的身份治理等零碎。这些零碎的研发、运维波及到多个团队甚至是多个部门,不同部门应用不同的研发交付工具与流程,导致跨部门合作难、整体交付慢,无奈疾速向用户玩家交付最新游戏个性,无奈为游戏玩家提供极佳的游戏体验。 3. 私有化代码托管平台的缺失开源也是游戏倒退背地的微小推动力,很多驰名的游戏引擎都是开源的,诸如在 GitHub 上开源的 Unity, Arsenal Game Engine,GoDot Engine,Ursina Engine,Stride Game Engine,在 GitLab 上开源的 Arctic,Acid 等。游戏厂商会应用开源引擎来疾速构建本人的游戏,甚至在应用过程中会依据本身需要进行一些批改,而批改后的代码往往会本人托管,抉择一个适合的可私有化的代码托管平台也成了游戏厂商的首选。 如果你遇到过以上问题,那么「极狐GitLab 游戏行业白皮书」将会帮到你。滑至文末,领先获取《极狐GitLab 游戏行业白皮书》 DevOps:游戏软件交付减速的破局之道DevOps 通过了 13 年的倒退,曾经从实践摸索走到了全面落地实际的阶段。泛滥企业和组织也在踊跃拥抱 DevOps,用 DevOps 来晋升企业本身的软件研发效率。依据中国信通院公布的《中国 DevOps 现状考察(2021)》显示,中国企业 DevOps 落地实际成熟度在全面级持续扩大。考察显示,目前成熟度处于全面级的企业最多,为 35.40%,处于优良级的为 16.53,只有 0.87% 的企业处于卓越级。 游戏行业也不例外,DevOps 在帮忙企业减速游戏的研发上线,为游戏用户提供更多的游戏个性和更好的游戏体验。然而,游戏行业 DevOps 的实际过程中用到了很多工具链,这些工具往往是针对软件研发的某个阶段或者某几个阶段,无奈做到一个工具覆软件研发的所有阶段。多工具链会带来一系列问题,诸如多工具链的装置保护(降级、安全补丁等)、多种工具链之间的集成、搭建起的 DevOps 零碎与现有研发零碎、平安管理系统的交融等。这些问题会导致经营老本(人力、沟通等)的回升,无奈让企业更多的聚焦在业务交付与翻新上。 突破上述困局的办法就是抉择一个一体化的 DevOps 平台,企业只须要应用一体化 DevOps 提供的 DevOps 能力来赋能业务交付与翻新,而无需将更多精力破费在 DevOps 上。依据《中国 DevOps 现状调查报告(2021)》显示,具备平台化、服务化、可视化与度量驱动改良特点是优良级 DevOps 实际的规范,而这个数据仅仅为 16.53%,还有很大的倒退空间。 ...

July 25, 2022 · 1 min · jiezi

关于devops:阿里云技术专家邓青琳云上跨可用区容灾和异地多活最佳实践

2022 年 7 月 4 日,【可观测,才牢靠——云上自动化运维 CloudOps 系列沙龙_第一弹】正式推出,间断四天,四大主题分享,最初一位分享的讲师是阿里云弹性计算技术专家邓青琳,他带来的主题分享是《云上跨可用区容灾和异地多活》,以下是他的演讲内容整顿,供大家阅览: 01 零碎容灾 提到容灾,必然会关联到故障。常见的故障类型有变更、硬件故障、断电断网以及自然灾害,产生的频率顺次升高。但产生频率低并不意味着不重要,断电断网或自然灾害产生的故障往往是致命的。 2021 年 3 月 10 日,欧洲最大的云服务公司 OVH 位于法国的机房着火,导致数据中心被齐全烧毁,以致 350 万个网站下线,局部客户的数据永恒失落,无奈复原。OVH 公司 CEO 在推特上对于此次火灾的阐明中提醒客户启用本人的容灾计划。由此可见,即便利用部署在云上,也无奈防止市政方面的故障比方断电断网以及极其自然灾害引起的故障,因而也须要做好相应的容灾计划。 目前次要的容灾类型能够分为以下三类: ① 同城(跨可用区),次要分为同城灾备、同城双活以及同城多活。② 异地(跨地区),次要分为异地双读、异地利用双活以及异地双活。③ 其余类型,包含两地三核心、两地三活以及单元化。没有一套容灾计划能够实用于所有场景,咱们须要结合实际业务发展趋势、业务零碎的特色以及可能投入多少资源老本等方面综合评估,最终选出最适宜的容灾架构计划。 02 支流容灾架构 容灾能力次要有 RPO 和 RTO 两个评估指标。RPO 指应产生故障时能忍耐数据失落的最大水平。零碎越重要,要求 RPO 越小。如果做数据备份,RPO 越小意味着数据的备份频率更高,比方个别的零碎可能一天备份一次,十分重要的零碎可能一小时备份一次;如果做数据同步,RPO 越小意味着要求数据同步链路的可靠性更高或提早更低,对整个生产环境和网络的压力越大,须要的老本也更高。 RTO 指利用从呈现故障到故障复原能承受的最大工夫。零碎越重要,要求 RTO 越小。 上图右侧为国家信息委员会制订的劫难恢复能力等级,分为 1-6 六个等级。其中 6 为要求最严格的等级,RTO 要求为数分钟,RPO 要求为 0,意味着零碎数据不容许失落。 上图为目前四个支流容灾架构的比照。 1、同城灾备同一个城市至多部署两个机房,备机房平时不提供服务能力,次要作为主机房的备份,主备之间数据采纳单向同步的模式。 劣势为部署简略,将同一套架构齐全复制到另外机房即可,数据做单向同步,对业务的革新极少。 劣势为备数据中心存在资源节约的状况;关键时刻不敢切流,容易呈现版本、参数、操作系统不统一等状况;RTO 须要十分钟级。 同城灾备架构做容灾切换时,首先须要做数据库的主备切换。如果是冷备状态,还须要启动应用服务,最上层 DNS 也须要做解析的切换,整过程须要十几分钟。 2、同城双活两个机房同时对外提供服务。为了数据的一致性,备数据中心所有波及到数据层面的操作都会打回到主数据中心,因而两个数据中心的间隔要求小于 50km,RT 小于 2ms。如果申请落在备数据中心,则波及到跨机房操作。如果跨机房的 RT 十分大,数据申请在主、备数据中心的性能差别也会十分大,无奈提供很好的用户体验。此架构下数据采纳单向同步形式。 ...

July 25, 2022 · 2 min · jiezi

关于devops:大话DevOps监控团队如何选择监控工具

Hi!咱们是DevSecOps研发平安经营一体化解决方案提供商、Atlassian寰球白金合作伙伴——龙智。在过来的十多年间,传统软件研发模式发生巨变,从瀑布式开发到麻利再到DevOps,开发和运维之间已经明确的界线正在缓缓变得含糊。 DevOps因为可能促成开发、运维、测试等不同部门的沟通、合作与整合,正在悄悄成为软件研发经营支流趋势。倒退至今,DevOps也联合了新的流程,比方继续集成和继续部署来疾速交付价值。 如果您对DevOps还知之甚少,或是想要更深刻地理解DevOps工具链,请不要错过本系列文章。龙智将从DevOps的概念、DevOps工具链、CI及工具比照、DevOps监控、DevSecOps五个方面动手,让您从起源开始,逐渐深刻理解DevOps这个已风行数十年的方法论。 借助DevOps,⼈们冀望能实现更疾速的开发、更常态化的测试和更频繁的公布,同时还能提⾼产品质量和降低成本。为了帮忙实现这⼀⽬标,DevOps监控⼯具在整个开发生命周期(从打算制订、开发、集成、到测试、部署和经营)中提供执⾏流程的⾃动化、监测范畴的扩大以及可视化。 现在的软件开发⽣命周期⽐以往任何时候都快,多个开发和测试阶段同时发⽣。这催⽣了DevOps,使之前执⾏开发测试与经营治理彼此孤⽴的团队转化为了要执⾏所有性能并承受“⾃⼰构建,⾃⼰经营”(YBIYRI)的联结团队。 随着频繁的代码更迭变得司空⻅惯,开发团队须要DevOps监控,以提供对⽣产环境全⾯的实时的监管。 什么是DevOps监控? DevOps监控须要观测从打算制订、开发、集成到测试、部署和经营的整个开发过程。它波及对⽣产环境中应⽤程序、服务及基础架构状态等⽅⽅⾯⾯进⾏全面的、实时的查看。其中实时采集、历史回放和可视化等性能是应⽤程序和服务监控的要害组件。 DevOps监控使团队能疾速、⾃动地响应任何引起客户好感度降落的问题。更重要的是,它容许团队“左移”到开发的晚期阶段,并最⼤限度地缩小会导致⽣产中断的变更。例如:对软件进⾏更好地检测和及时响应谬误,既能够通过 “呼叫” ⼿动进⾏,也能够在可能的状况下⾃动进⾏。 DevOps监控与可观测性当您将⽆限循环的左侧视为产品开发⽅,将右侧视为经营⽅时,将新性能推⼊⽣产的产品经理会对项⽬如何合成为工作和⽤户故事感兴趣。 项⽬左侧的开发⼈员须要理解如何将性能转移到⽣产环境中,包含项⽬工单、⽤户故事和各种依赖关系。如果开发⼈员保持“⾃⼰构建,⾃已经营”的DevOps准则,他们也会对事件的补救措施感兴趣。再来看⽣命周期的经营⽅⾯,保障站点可靠性的⼯程师须要理解那些可供评测和监控的服务。如果呈现⼀个能够修复的问题,⽽您此时没有⼀个能将所有这些处理过程分割在⼀起的DevOps⼯具链,那么就将⾯临⼀个芜杂、⽆关联的、混沌的环境。但如果您有⼀个集成良好的⼯具链,则能够更好地理解正在发⽣的事件。 DevOps监控的重要性DevOps⽅法将继续监控的对象扩大到模仿 (Staging)、测试 (Testing) 甚⾄开发 (Devlopment) 环境。这其中有多个起因。 频繁的代码更改须要可视化 继续集成和继续部署驱使着代码更迭的频率一直减少,这也使得⽣产环境变得越来越简单。随着微服务和微前端的应⽤进⼊当初的云原⽣环境,在⽣产中会产⽣数百甚⾄上千种不同的服务的⼯作负载,每种⼯作负载对规模、提早、冗余和安全性都有不同的环境要求。 这推动了对可视化更⾼的需要。团队不仅须要疾速侦测到并响应存在客户体验降落的性能,还须要在限定工夫内实现修复。 您能够以Jira为根底,来实现代码更改的可视化。Jira云版很轻易就能对Pipeline过程可视化,在Developer Dashboard中的界面能间接看到Bitbucket数据。 如果您应用的是本地部署版的Jira,能够将其与Bitbucket和Bamboo集成,达到在Jira中一览代码与部署状态的目标。集成后,您能够间接在Jira 中查看正在解决的代码,查看CI/CD部署信息和预布局公布,以及能够在事务中实时查看开发状态更新信息。 合作⾃动化 DevOps要求团队中的开发、经营和业务这些性能组之间实现更严密的合作。然⽽,⼯具之间如果不足集成性就可能会妨碍此类合作,并在协调不同性能组时形成的挑战,这是Atlassian DevOps调研得出的⼀个要害论断。 您能够通过诸如在编辑器中内嵌开发Pipeline的残缺视图等性能来实际⾃动化合作。还有就是,设置⾃动化规定⽤于侦听代码的提交或拉取申请,而后更新相干的Jira问题的状态并将音讯发送给团队的Slack Channel。还能够利⽤Insights插件来提供扫描、测试和剖析的报告。 Jira作为DevOps中治理和监控整个DevOps⽣命周期的⼯具,其Server/DC版的合作⾃动化是通过⼯作流的Trigger性能实现的,在构建和CI/CD过程中,Bitbucket,Fisheye/Crucible等⼯具能够在提交,分⽀创立,代码评审等多个阶段实现Jira⼯作流的⾃动化。 试验 在个性化和优化转换程序的推动下,为响应客户需要导致了须要进⾏⼤量的产品优化试验。⽣产环境能够运⾏数百个试验和性能标记,这使得监控零碎很难精确传播导致⽤户好感度降落的起因。 对于永恒在线服务和应⽤程序⽇益增⻓的需要,以及严格的SLA承诺可能会造成安全漏洞的减少。因而开发团队须要确保他们定义了监控和执⾏⽅⾯的服务⽔平⽬标 (SLO) 和服务⽔平指标 (SLI)。 变更治理 因为⼤少数⽣产零碎的停机都是由变更引起的,因而变更治理⾄关重要,尤其是对于执⾏关键性工作的应⽤程序,例如⾦融和医疗保健⾏业的应⽤程序。须要确定与变更相干的⻛险,并且须要依据变更的⻛险⾃动化审批流程。 解决这些复杂性须要全⾯的理解和监管策略。这须要有定义和驳回监控的实际,并领有⼀套能监控开发过程的丰盛、灵便和先进的监控⼯具。 相干零碎的监控 分布式系统曾经变得越来越遍及,它们通常是由许许多多跨公司的微服务组成。团队当初不仅须要监控他们构建的零碎,还须要监控和治理相干零碎的性能和可⽤性。Amazon Web Services (AWS) 提供超过175种产品和服务,包含计算、存储、⽹络、数据库、剖析、部署、治理、挪动和开发⼯具。如果您在AWS上构建应⽤程序,则须要确保抉择适宜您应⽤程序需要的服务。您还须要⼯具和策略来以分布式的⽅式跟踪谬误以及解决相干的故障。 DevOps监控的⼀些要害性能为了与DevOps传统放弃⼀致,开发和施行监控策略时还须要重视要害性能的实际和相应的⼯具。 左移测试 左移测试在⽣命周期晚期执⾏有助于提⾼品质、缩短测试周期以及缩小谬误的产⽣。对于DevOps团队来说,扩大左移测试⼯作以监控那些预⽣产环境的运⾏情况,这点⾮常重要。这样就能够确保监控的尽早且经常性地施行,以放弃⽣产的连续性,以及确保监控所发警报的品质。测试和监控应该⼀起进⾏,通过晚期监控有助于透过要害⽤户的流程和解决来评估应⽤程序的⾏为能⼒。同时这也有助于在⽣产部署之前理解应⽤程序的性能和可⽤性⽅⾯的认知偏差。 在Atlassian的DevOps解决⽅案中,咱们将过来在测试阶段才进⾏的局部监测左移到了构建阶段。例如,代码语法分析,动态测试,合规性检测等通过诸如SonarQube for Bitbucket,WhiteSource for Bitbucket等插件与这些内部⼯具相集成,实现 了构建阶段即实现这些⾮功能性测试的科⽬。 警报和事件治理 在云的原⽣世界⾥,事件就像代码中的谬误那样⼤量存在于事实⽣活中。这些事件包含硬件和⽹络故障、配置谬误、资源耗尽、数据不⼀致以及软件谬误等等。DevOps团队应该欣然接受这些事件并通过装备⾼品质的监控⼯具来应答。 ⼀些有助于应答事件的最佳实际是: 建⽴合作的⽂化,在开发过程中对个性/性能和⾃动化测试进⾏监控在开发过程中,在代码中内建适当的⾼品质的谬误警报信息,以最⼤限度地缩小均匀检测时间 (MTTD) 和均匀辨认/隔离工夫 (MTTI)为构建增加监控以确保相干服务按预期运⾏调配工夫来构建必要的仪表板并培训团队成员使⽤它们为服务制订“演习”打算,以确保监控⼯具能按预期运⾏并抓出生效的监控器在冲刺期间,为先前的的事件审核制订敞开操作,尤其是为构建过程中生效的监控器和⾃动化管制指定操作针对平安问题的构建侦测器(降级/补丁/滚动凭证)通过⾃动化规定确定对侦测到的警报的响应,造就“监测和监控⼀切”的⼼态在这里,不得不提到Statuspage和Opsgenie这两个SaaS⼯具。  对于Atlassian的⼤局部云产品,其服务的衰弱状态和性能的监控是通过 Statuspage来展现的。它能令管理员轻松地取得实时状态。并且,它能够与您喜爱的监控、警报、聊天和帮忙台⼯具集成,每次都能实现⾼效响应。 △  Statuspage站点监控界面 ...

July 25, 2022 · 1 min · jiezi

关于devops:阿里云技术专家杨泽强弹性计算云上可观测能力构建

2022 年 7 月 4 日,【可观测,才牢靠——云上自动化运维 CloudOps 系列沙龙_第一弹】正式推出。实现和保障系统的高可靠性和高稳定性,是上云后大家最关注的两项重要指标。如何通过云上的自动化 CloudOps 产品体系继续地进步可靠性和稳定性,是研发和运维须要共同努力的重要方向;继续晋升可观测性则是达成指标的最间接和最无力的伎俩之一。 阿里云弹性计算 CloudOps 系列沙龙也将“可观测性与可靠性”作为第一弹的主题。本次沙龙直播笼罩四天,首位分享的嘉宾是阿里云弹性计算 SRE 技术专家杨泽强,他带来的主题分享是 《弹性计算云上可观测性能力构建》,以下是他的演讲内容整顿,供大家阅览。 01 Why Observe? 可观测最早起源于农业时代气象观测,起初的电气时代、自动化时代都存在可观测性产品。管制实践中的可察看性指零碎能够由其内部输入推断其外部状态的水平,零碎的可察看性和可控制性是数学上的对偶概念。 以汽车为例,在驾驶过程咱们无奈间接感知到汽车零碎的外部状态,而通过仪表盘能够获知以后发动机的转速、速度、油量以及其余零碎的运行状态。 软件工程里,通过采集 logs、metrics 和 traces 三个维度来了解零碎外部状态,即为可观测性。 可观测性对于软件全生命周期有着极大价值。能够通过可观测性查看以后零碎负载、异样链路、异常情况以及报警等;能够基于可观测性做预警,再基于预警进行剖析,从而尽可能升高故障感知工夫和定位工夫,最终缩短故障 MTTR。 可观测性是软件系统稳定性保障的根底。而从软件工程整个视角看,可观测性可能提供的远不止稳定性保障。 软件工程最晚期的需要分析阶段,能够通过可观测性进行容量估算评估;CI 阶段能够进行研发品质管制,比方构建胜利、测试覆盖率等;交付过程中,能够通过可观测性对交付品质进行保障;同时老本和平安也能通过可观测性失去无效管制。从软件的整个生命周期来看,如何构建本人现实的可观测性模型并没有标准答案。然而从单体利用或分布式应用到微服务等典型的软件架构来看,能够形象出一个规范模型,如上图,由下至上分为 5 层: ⚫ 资源层:包含主机、存储、网络、Runtime 等。⚫ 平台层:包含 RPC、DB、音讯、缓存、调度等。⚫ 应用层:包含可用率、时延、谬误数、流量、饱和度、日志等。⚫ 产品层:包含订单量、订单成功率、生产成功率、生产耗时等。⚫ 客户层:包含业务延续性、SLA、拨测等。客户层是最容易被忽视但极具价值的一层。咱们须要更多关注到客户业务的连续性、从用户视角如何应用可观测能力等。 以后,可观测性技术体系的生态和产品曾经非常丰盛。Logging 侧有 Logstash、iLogtail、SLS 等,Metrics 侧有 Prometheus、Grafana、Kibana 等,Tracing 侧有 Elastic、Opentemeletry、Skywalking 等。 构建可观测性过程中如何选型没有标准答案,须要依据本人的理论需要来抉择。 02 Observability on Cloud 2011 年,弹性计算可观测性上云的最后阶段,可观测性体系缺失,次要为单体利用模式,只有几个监控预警;2016 年,预警接入阿里自研监控平台,次要实现形式是传统的监控零碎以及基于时序数据库的 metrics 采集和展现零碎;2019 年,阿里开始逐渐将 ECS 外围利用搬到云上,基于云构建体系,包含云监控和 SLS;2021 年,阿里开始了云原生革新,目前曾经实现 90%左右的革新。另外,咱们也整在云原生的根底上将技术体系改为开源的规范技术体系。 ...

July 21, 2022 · 2 min · jiezi

关于devops:研发效能生态完整图谱DevOps工具选型必看

本文次要梳理了研发效力畛域残缺的方向图谱以及支流工具,其中对少部分工具也做了一些点评。看了之后,大家能够对研发效力这个畛域有个整体意识,同时研发效力落地的时候也有对应的工具(黑话叫抓手)能够抉择。 我上传了一个高清大图,大家能够下载下来看。如果有问题,欢送留言或者微信间接纠正我。这是第一版,后续我会再更新。 文档治理举荐语雀。快手外部的docs 还是十分给力的,我十分喜爱用。腾讯文档也不错,有很多的模版。不过明天在我导入一个脑图的时候,竟然揭示我节点太多,须要付费能力增加节点,我示意十分的无奈。语雀十分的不错,我用得较多的性能就是文件共享、合作。我看有的人还把语雀当作集体博客在用,成果也很不错。 项目管理私有化部署首选还是「JIRA/禅道/Redmine」,SaaS化的产品就看大家的习惯和性能诉求了,腾讯系的很多公司都在用 Tapd,而这个工具对产研场景反对的也比其它几个合作工具反对的更多,性能更丰盛。简略的一些场景,前面的SaaS工具都是没问题,遇到深度定制化的诉求,这类SaaS化的产品都搞不定,就不要想了。快手外部有个项目管理工具 Team 做的不错,对外是「轻雀合作」,感兴趣的小伙伴能够去搜下。 源码治理国内公司用的比拟多的还是内网私有化部署一个 Gitlab/Subversion,这是支流;Gerrit的用户也有一些,其余像 Bitbucket、TFS、Mercurial、Perforce、ClearCase、StarTeam 应用的客户都太少了。把握支流的工具,不至于和这个行业或者这个岗位脱离太重大,当前换工作也不便 :-) 流水线国内除了几家自建流水线的大厂,很大一部分还在用Jenkins,小局部在用 Gitlab CI(内置就棘手用上了)。即使是自建流水线,有的公司也只是在 Jenkins 上封装了一层而已。从中可见,Jenkins 是如许的受欢迎。其它工具,我感觉本人用用还能够,大规模地上生产环境还是要认真地评估。都爱上 Jenkins了,您还记得那年大明湖畔的 Hudson 吗? 至于部署工具,鉴于当初是容器化的时代, k8s 在容器编排大战中曾经胜出,所以基于 k8s 的部署工具 helm/spinnaker等要重点关注下。 总结其它的工具大家视本人的工作内容和公司的业务特点进行取舍,切记业务倒退是第一位的,千万别把业务当作试验田。跟着技术倒退的大势,抉择支流的工具,别舍不得唤起本人学习的能力,一生学习,与时俱进,一直晋升本人。

July 13, 2022 · 1 min · jiezi

关于devops:软件开发中的DevOps

当今世界扭转的速度已与过来不同,每当经验一个颠覆性的技术反动时,都给这个世界带来了粗浅的变动,大数据、云计算、人工智能等新兴技术推动着世界不断前进,如何在这样一个VUCA时代下实现业务的疾速响应呢?devops的呈现很好的解决了这个问题,它可能响应市场的变动,更疾速地交付,更多地关注业务的改良与晋升,更好地适应这个时代。 DevOps的概念最早从2008-2009年就曾经提出,依据维基百科的定义:DevOps是一种器重“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通单干的文化、静止或常规。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、公布可能更加地快捷、频繁和牢靠。 随着互联网业务出现“井喷”倒退,业务复杂度增高、技术架构也逐渐向分布式或微服务架构倒退,团队人员也逐渐增多,团队与团队之间的合作开始变得频繁,开发合作模式也开始产生扭转,由原来的单体架构联合瀑布式推动向分布式应用架构联合麻利模式推动,再向微服务架构联合DevOps模式推动。 单体架构的利用往往比拟宏大,随着开发的推动和利用难以运维时,就须要拆解多个利用,追随的团队也相应拆解,服务器也由原来的一台逐渐增多。当团队发现每个利用都存在反复开发工作时,那些共用局部就可独自剥离出公共服务,以供各利用重复使用,部署时也能够独自部署。 DevOps 并不是让开发去做运维,而是使开发和运维通过一些机制有机联合、高效对立,成为一个整体,提倡“开发运维一体化”。通过运维工具的研发,使运维流程自动化和智能化,将一些日常重复性的运维工作通过自研工具自动化和智能化了,这就大大加重了运维人员的保护工作量,打消开发团队和运维团队之间的gap,无效晋升应用服务的研发和运维经营效率。这些工作不再靠“研发人员”,而是“运维本身”的能力来实现的。 这种模式能够看做是麻利开发模式的延长,将继续集成(CI)、继续部署、继续交付(CD)扩大到运维,买通开发与运维之间的壁垒,在整个生命周期中打消传统的孤岛,促成研发与运维的合作,从而缩短软件产品交付周期,进步软件服务质量。 它的呈现填补了开发端和运维端之间的信息鸿沟,买通软件产品交付过程中IT工具链,改善团队之间的协作关系,使得各个团队缩小工夫损耗,更加高效地协同工作。同时也让器重软件开发人员和运维人员的沟通单干,通过自动化流程来使得软件构建、测试、公布更加快捷、频繁和牢靠。 LeaRun以IT基础架构治理为依靠,用市面支流技术开发框架,同时整合优质第三方开源我的项目,建设了全生命周期主动部署、继续集成、自动化治理的运维流程,造成了残缺的IT一体化运维平台解决方案。 通过LeaRun运维一体化平台“更快、更频繁、更高质量”地晋升信息流的价值,造成数据回路,从而实现在IT组织外部能够在规模较小,修复老本较低时能修复问题,在业务组织外部能够在市场变动之前对产品性能进行调整,以“工夫换空间”的形式实现“可逆”的产品输入,让企业节能增效、进步经济效率,帮忙企业高效和可继续倒退。 更多产品及性能请返回www.learun.cn/Home/VerificationForm

July 13, 2022 · 1 min · jiezi

关于devops:如何将-DevSecOps-引入企业

前 言现如今,大部分企业曾经在外部实现了 DevOps 实际。DevOps 为团队提供了交付牢靠软件和疾速更新的方法论。这种办法让团队更专一于品质而不是将工夫节约在运维上。然而,后果是,平安实际往往被留在交付流水线末端的平安专家手中。而后,因为意外往往呈现在交付阶段的最初,所以使得特定的平安办法在交付过程中产生了不必要的收入。因而,团队没有足够的工夫修复代码,并重复开始雷同的流程,最终导致交付老本高且效率低。 随着大多数公司开始进行数字化转型,DevSecOps 曾经变得越来越重要。随着这些打算的施行,公司正在向云端转移。这使得本地基础设施逐步转移到私有云上。云服务提供商提供了具备老本效益、可扩大、高度可用和牢靠的解决方案。然而,这些劣势也随同着新的平安挑战。 DevSecOps 将平安纳入 DevOps,作为 SDLC 的一个组成部分,而不是在软件开发几近实现后才开始思考平安问题。它还将平安责任调配给团队成员,在于平安专家的合作中,团队能够实现一种“平安即代码(Security as code)”的文化,激励将平安与 SDLC 流水线中的其余组件放在同一地位看待。 什么是 DevSecOps ?DevSecOps 是全栈式的,横跨整个 IT栈,包含网络、主机、服务器、云、挪动端和利用平安。这些层都逐步被各类软件代替,因而利用平安成为 DevSecOps 的关注点。DevSecOps 横跨整个软件开发生命周期,包含开发和运维。在开发中,平安的重点是辨认和预防破绽,而在运维中,监控和进攻攻打是次要指标。 那么团队能够将 DevSecOps 实际和工具利用于非 DevOps 我的项目吗?答案是必定的。如果您的团队指标是以最具老本效益的形式生产高度平安的软件,那么 DevSecOps 就是后退的方向。 履行 DevSecOps 的企业曾经大受裨益。依据 Gartner 的数据,这些早起采纳者的平安测试跟上频繁的应用程序更新的可能性要高出2.6倍,并且修复破绽的工夫缩小了2倍。 借助 DevSecOps,开发、运维、测试和平安团队进行单干,并整合资源,以便在开发过程中尽早发现平安问题。开发也不会停滞不前,最终的后果是在更快、更无效的工作流程中创立更平安、更高质量的应用程序。 如果你是一名 IT 平安业余人员, DevSecOps 能够让你在谈判桌上领有一席之地。你的团队不再被看作是一个惨重的桎梏,你们的意见将在开发之初就失去器重,你的组织将把你看作是推动平安集成的牵头人。 如果你是一名开发人员,你也会从 DevSecOps 中受害良多。因为对软件的安全性要求是不会隐没的,如果只在最初一刻解决平安问题,那么只会连累你的进度。平安是当今软件品质的一个重要组成部分,在开发阶段就开始重视软件平安,你的客户会为此感激你。 DevSecOps 的5个因素1、合作合作的终点是在整个组织内建设一种平安责任共担的心态,同时失去领导层的反对。围绕着一个独特的指标,即在满足所有平安和合规要求的前提下,尽可能快地开发和公布高质量的产品,从而坚固单干。 平安团队从相熟 DevOps 实际开始做好本人的工作,并将其整合到平安中。例如,频繁提供平安性能,并尽可能将平安工作自动化。反过来,开发人员也应该学习平安的最佳实际,对安全性的要求、风险意识和平安工具等。 2、沟通开发人员和平安专家之间的沟通差距必须被弥合。平安专家须要用开发人员的术语来论述管制的必要性和合规的益处。例如,在探讨平安危险时,以我的项目提早和开发人员计划外的额定工作为例,将使解决这些危险的重要性深入人心。 开发人员应该分明地理解他们身上的平安责任,这样他们就能够齐全承受他们在一个更平安和合规的组织中的角色。这些责任包含意识到潜在的平安危险,并在编写代码时牢记平安的最佳实际。开发人员还应该筹备好在整个开发过程中进行破绽测试,以便在发现破绽时及时进行修复。 3、自动化自动化可能是一个胜利的 DevSecOps 打算中最要害的组成部分。它能够让安全措施嵌入到开发过程中,并确保安全不会成为平安团队的累赘。自动化的平安测试和剖析能够集成到整个 CI/CD 流水线中,在不连累翻新和开发工作流程的状况下提供平安的软件。当初,开发人员和平安团队都很称心。 自动化还能够实现有价值的安全控制,如中断构建。这种平安故障爱护机制是基于一个自动化的危险评分零碎,当危险超过预先确定的阈值时就会收回警报。而后,所有的构建过程都会被解冻,直到开发人员补救平安问题。一旦平安问题被修复,开发人员能够持续实现构建并交付应用程序。 4、工具与架构平安平安的软件始于平安的 DevOps 环境。爱护工具、拜访和架构在任何 DevOps 零碎中都是至关重要的。平安团队应该带头抉择和查看所有系统安全工具的配置,以确保在这些零碎被批准宽泛应用前曾经配置好适合的性能。 辨认和拜访治理应该被认真对待。平安团队应该管制对 DevOps 架构和数据的拜访权限,在整个开发流水线中爱护凭证的应用。多因素认证(MFA)、最低拜访权限以及对高级权限的长期拜访都是你能够利用的拜访控制策略。此外,CI/CD 流水线应该被隔离,以限度横向挪动,所有不必要的拜访 DevOps 工具的账户应该被打消。 ...

July 12, 2022 · 1 min · jiezi

关于devops:直播预告|如何借助自动化工具落地DevOps文末福利

马上预约:如何借助自动化工具落地DevOps 纵观行业倒退,自动化软件开发静止未然降临,DevOps 平台也正在集成各类自动化工具,尽可能减少客户的工作量,驱动行业翻新,提供一站式需要解决服务,这些工具让DevOps 得以从一个概念缓缓变成事实。 云智慧AIOps社区联结开源中国DevOps社区推出 D-Day系列直播第三期,本期直播咱们将以自动化工具为配角,介绍借助自动化工具落地DevOps的挑战和办法,以及低代码技术与DevOps的新摸索。 直播主题如何借助自动化工具落地DevOps 直播工夫2022年7月13日20:00-21:00 内容亮点DevOps与传统迭代比照 介绍传统迭代形式的弊病介绍DevOps迭代形式和长处如何借助自动化工具落地DevOps 罕用自动化工具介绍企业落地DevOps面临常见挑战如何把控落地DevOps关键环节低代码技术与DevOps的新摸索讲师介绍姓名:王海虎 职位:云智慧研发经理 简介:王海虎,AlOps 社区专家团成员。全栈工程师,低代码方向。开源我的项目 AntV 奉献 者,开源我的项目 FlyFish 我的项目负责人,清华大学 Thulab 的 DWF 我的项目开发者之一。 观看形式微信增加xiaoyuerwise或扫描下方二维码,回复 【0713】 ,获取直播链接。 精彩礼品欢送大家积极参与评论互动,本次还退出了“评论互动有奖”环节,在评论区的发问被讲师挑中,即可取得精美礼品!直播间还有更多乏味有奖的互动环节哦!

July 5, 2022 · 1 min · jiezi

关于devops:DevOps知识梳理DevOps应用企业文化

DevOps利用1. 企业文化graph TD A(DevOps四大组成部分) --> B[合作] A(DevOps四大组成部分) --> C[亲和性] A(DevOps四大组成部分) --> D[工具] A(DevOps四大组成部分) --> E[规模化]Collaboration 合作通过互相支持和多人协同来达成特定后果。业务价值通过合作实现。所有参加团队(包含开发和经营)之间的合作对于实现更高业务价值至关重要,通过减少交换、自动化和高质量软件。典型实际:结对编程、防止Super Star型员工、解决自有与外包团队的矛盾:确定团队间的共同任务。 Affinity 亲和性独特的组织指标,同理心和不同团队之间独特的组织指标,同理心和不同团队之间的互相学习。收益:缩短process工夫,缩小沟通老本,信赖、翻新。 Tools 工具工具可能带来减速成果和老本节约,但必须适宜采纳的工作办法。典型实际:自动化运维,版本控制,可视化,监控 Scaling 规模化随同组织的成长、成熟甚至是膨胀,DevOps应该都能够做适应性的变动。潜在收益:扩充客户群,利润增长,扩充我的项目以满足需要,比竞争对手成长的更快。 1.1 DevOps契约(组合)准则工作在一起,放弃沟通想法和遇到的问题,并作出动静调整,朝着独特指标致力。整个团队一起写我的项目范畴的最好理由——确保团队有独特指标,对胜利有独特定义。 撰写我的项目范畴的最好理由答:对胜利达成一致性定义。 任何采纳DevOps的团队都能够被形容为一种契约。什么准则最实用于做一个紧凑的工作?答:继续沟通。 合作是无效DevOps的四大支柱之一。为什么它如此重要?答:DevOps的业务价值是通过团队单干实现的。 1.2 DevOps思维形式缺失的情景剖析模式一:固定思维,认为能力和能力是天生的模式二:成长型思维,认为能力和能力能够通过实际习得和进步 应答:-从谬误中学习,不要指摘-踊跃,频繁建设性的反馈-沟通,聆听(沟通三要素 Ask, Listen, Learn) 常见问题不侧面沟通,背地埋怨,体现了哪种沟通形式?答:防止Avoidance 胜利和失败都属于团队而非集体,如何建设团队之间的互信和共鸣?答:召开团队会议,公开探讨隔膜 团队成员抵触,如何解决?答:激励造就合作。强制任何人做任何事都是不礼貌的。犯错能够承受,团队成员应独特合作以克服各种谬误或挑战。 “当某一构建受到毁坏且无人担责时,咱们该当找出造成毁坏的人并要求他们开展工作,以保障他们能修复这一构建。”这样做适合吗?答:No,DevOps中不存在追责。若共事不承担责任,不要强制他们。高效的DevOps环境中,建设巩固短暂关系的要害是——采纳无追责汇报体系来解决组织内的问题(留神:激励良性的抵触,而不是无条件解决抵触)。 是否不聘用新成员就施行DevOps?答:能够,如果原团队具备独特指标,并且可能为团队提供学习机会、创立无追责环境。 1.3 如何通过促成合作、DevOps思维模式和共鸣及信赖从一组人中创立一个团队

June 28, 2022 · 1 min · jiezi

关于devops:高能直播大咖云集邀你共启BizDevOps探索之路

简介:《开发者评测局》第二期特别节目——阿里云DevOps平台云效专场 阿里云、南京大学、Thoughtworks、InfoQ产学研6位领军人物共话产研数字化将来,开启立足于数字化转型浪潮下的BizDevOps摸索之路。数字经济时代,数字化转型已成为社会的广泛共识和口头,越来越多的业务运行在数字化基座之上,软件系统正成为业务的价值外围和翻新引擎。在这一趋势下,软件产业面临着许多新挑战和新机遇:一方面,万物互联下软件系统规模和复杂度持续增长;而另一方面,业务的疾速变动对软件交付效力的要求却一直晋升。软件构建和交付形式亟待改革。 6月29日,咱们特邀到阿里云、南京大学、Thoughtworks、InfoQ产学研界6位领军人物,独特探讨这场数字化转型浪潮下的技术变局,并寻找破局之道。 在本场直播中,你将理解到: 数字化转型对于产品研发的挑战与机会?为什么咱们须要从DevOps走向BizDevOps?BizDevOps 体系蕴含哪些办法与实际?如何真正利用并落地BizDevOps,晋升企业研发效力?举荐观看人群:企业CIO、CTO、CDO,以及关注研发效力和产研数字化建设的从业者。 直播预约通道:BizDevOps:数字化转型浪潮下的技术破局 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

June 28, 2022 · 1 min · jiezi

关于devops:2022-开源代码状态调查报告最受欢迎-5-大自动化和编排技术-Puppet-第一Kubespray-热度增幅最高

近年来,随着 DevOps 的继续炽热,越来越多的行业组织将其作为首选以一直推动开源 DevOps 软件凋敝。近日,Openlogic 就出炉了一组 “2022 年开源代码状态考察”数据,并对2022 “最受欢迎 5 大开源自动化和编排技术”做了总结。 据调查数据显示,2022 年最热门的 5 大凋谢源代码自动化和编排技术如下: 1、Puppet 据 2022 年的考察数据显示,在自动化和编排技术中,Puppet 是最受欢迎的技术,26.6% 的受访者应用该软件。与此前的考察相比增长了 10% 以上,其中 Puppet 取得了 16% 的收益,并被列为继 Ansible 和 Terraform 之后的第三大最受欢迎的自动化/配器技术。 2、Ansible 在 2022 年的考察数据中,Ansible 是第二大采纳自动化和编排技术的公司,24.8% 的受访者示意应用了该软件。与上一次的报告相比该数据处于持平状态,之前的报告显示应用 Ansible 的比例为 24%。 3、Chef 数据显示,23.4% 的人应用 Chef 作为他们抉择的自动化和编排工具。和 Puppet 一样,Chef 的使用率也呈现了两位数的增长,自上次考察以来,使用率增长了 10%。 4、Salt 与上次考察相比,第四个增长率第二高的是 Salt。Salt 从 7% 进步到了 21.9%,显示了这种开源自动化和编排技术的强劲增长轨迹。 5、Kubespray 与之前的数据相比,排名第五的是 Kubespray,增幅最高。在之前的考察中,仅 5% 的受访者抉择了 Kubespray ,2022 年这一数字增长到了 21.4%。 ...

June 28, 2022 · 1 min · jiezi

关于devops:可观测才可靠云上自动化运维CloudOps系列沙龙-第一弹

实现和保障系统的高可靠性和高稳定性,是上云后大家最关注的两项重要指标。如何通过云上的自动化CloudOps产品体系继续地进步可靠性和稳定性,是研发和运维须要共同努力的重要方向;继续晋升可观测性则是达成指标的最间接和最无力的伎俩之一。因而,阿里云弹性计算CloudOps系列沙龙,将以“可观测性与可靠性”作为第一周的主题,分享相干思考与实际。

June 27, 2022 · 1 min · jiezi

关于devops:简谈企业Power-BI-CICD实施框架

概述在企业场景中,BI报表更多地作为一项IT服务,而绝不仅是报表工具而已。同理,正如我此前屡次说明,Power BI是一套服务,也绝不仅是Power BI Desktop,它的开发,测试与部署,都须要失去无效的治理。因此,无论是基于合规性,还是合作效率等方面来考量,企业施行PBI继续集成与部署,百利而无一害。 然而,以后国内外的大小企业,曾经胜利施行PBI CI/CD的案例并不多,我虽无奈齐全理解他们的做法,但基于本身的教训和了解,我提出了两种施行思路,供读者参考。下文我会通过流程图和一些截图来帮忙读者了解这种思路,但具体的技术操作此处不会STEP-BY-STEP, 因为官网文档有的,本人轻易能摸索进去的,以及一些我在此前博客中讲过的,没有在这里反复的必要。 计划A这两种计划并不只是实践,他们在理论的技术施行上都是行得通的。其中第一种计划(Plan A)是我集体比拟举荐的计划,它应用OneDrive for business做版本控制,用Power Automate做继续部署,具体如下:这种计划无论是对于领有单个开发团队的中小型组织,还是多个开发团队的大型企业,都是实用的。对于继续集成的局部,其做法即是为开发团队创立一个共享OneDrive,在该OneDrive下能够创立不同的folder以供不同的PBI项目组应用,并将其配置到用于DEV环境的工作区:在该模式下,开发者无需将报表部署到工作区,而只须要将其上传到OneDrive即可,其益处如下: 应用OneDrive托管DEV环境中的PBI报表文件,任何版本变动均与该工作区同步有利于PBI开发团队的治理,分工,以及版本协同充分利用OneDrive自身具备的版本回退的性能个性,轻松实现PBI文件版本控制此外,读者也不用放心的是,此模式下PBI数据集与数据源的连贯以及刷新是不受影响的,此外,因为咱们仅需为DEV工作区配置OneDrive,故而待其后续公布到UAT或生产环境后,OneDrive中的任何版本变动都只会影响DEV环境,不会影响UAT和生产。 继续部署的局部,咱们恰好能够利用Power Automate的OneDrive或Sharepoint的触发器,这样,咱们能够实现每当一个新的版本上传到OneDrive后,主动触发后续的工作流: 因而在工作流的后续局部,咱们能够调用PBI REST API对Power BI内容进行操作,比方施行部署并刷新对应的数据集: 注:对于利用Power Automate调用Power BI REST API,可参考此文https://d-bi.gitee.io/pbi-res... 计划BPlan B相对而言则略麻烦一点,它应用GitHub或Bitbucket等相似平台 (下文以GitHub代称) 作为PBI文件的托管平台与版本管理工具,而应用Azure DevOps或Jenkins这种专用的 CI/CD 工具(下文以DevOps平台统称)进行继续部署。具体如下: 在该模式下,开发者将PBI文件Push到GitHub,并在DevOps平台建设管道运行具体的部署代码来实现CI/CD,其劣势如下: 可能利用DevOps平台丰盛的CI/CD性能可能与企业其余类型的开发我的项目在同一个CI/CD体系下进行治理可能与企业其余类型的CI/CD我的项目(比方一些ETL我的项目)进行集成但相比Plan A有余的点在于目前GitHub不能间接配置到Power BI工作区,无奈像计划A那样与DEV环境实时同步,因而多了一个部署到DEV的环节;另一方面则是该计划施行起来要略微麻烦些。下图是我应用Jenkins实现计划B的部署胜利截图 (我在应用Jenkins的测试过程中的确费了一点周折,但具体步骤不在本文领域内,若有机会另行赘诉)。 相比之下,应用Azure DevOps做部署的过程则顺利得多。下图T1和T2是我别离用两种不同办法实现Power BI主动部署的胜利记录,理论状况下,每当开发者将新版本的PBIX文件推送到GitHub,则DevOps管道主动被触发,将PBIX主动部署到PBI工作区并实现数据刷新。 总 结通常状况下,我更偏向于计划A的模式,它不便,扼要,高效,易于治理。但如果PBI的集成与部署须要合乎企业级框架下对立的部署标准,或者须要与ETL等其余我的项目进行集成的须要,那么计划B或者是惟一抉择。此外,IT团队理论施行此计划时,要思考的方面还很多,比方报错解决,版本回退,数据集与数据流间的依赖关系和部署秩序等等问题,而本文旨在抛砖引玉,具体的计划则肯定是须要团队根据理论状况做相应调整和欠缺。 微软最有价值专家(MVP) 微软最有价值专家是微软公司授予第三方技术专业人士的一个寰球奖项。29年来,世界各地的技术社区领导者,因其在线上和线下的技术社区中分享专业知识和教训而取得此奖项。 MVP是通过严格筛选的专家团队,他们代表着技术最精湛且最具智慧的人,是对社区投入极大的激情并乐于助人的专家。MVP致力于通过演讲、论坛问答、创立网站、撰写博客、分享视频、开源我的项目、组织会议等形式来帮忙别人,并最大水平地帮忙微软技术社区用户应用 Microsoft 技术。 更多详情请登录官方网站:https://mvp.microsoft.com/zh-cn 长按辨认二维码关注微软中国MSDN 点击退出微软MVP~

June 22, 2022 · 1 min · jiezi

关于devops:Apache-DevLake-兼容-PostgreSQL-踩坑小结

本文作者:仉良 个人主页:https://github.com/mindlesscloud Apache DevLake 是一个研发数据平台,能够收集和整合各类研发工具的数据,比方 Jira、Github、Gitlab、Jenkins。 本文并不打算对数据库兼容这个问题做全面的总结,只是对咱们理论遇到的问题做一个记录,心愿能对有类似需要的人提供一个参考。 1、数据类型差别PostgreSQL 不反对 uint 类型的数据类型type JenkinsBuild struct { common.NoPKModel JobName string `gorm:"primaryKey;type:varchar(255)"` Duration float64 // build time DisplayName string // "#7" EstimatedDuration float64 Number int64 `gorm:"primaryKey;type:INT(10) UNSIGNED NOT NULL"` Result string Timestamp int64 // start time StartTime time.Time // convered by timestamp CommitSha string}其中的JenkinsBuild.Number字段的gorm struct tag 应用了UNSIGNED会导致建表失败,须要去掉。 MySQL 没有 bool 型对于 model 里定义为 bool 型的字段,gorm 会把它映射成 MySQL 的 TINYINT 类型,在 SQL 里能够间接用 0 或者 1 查问,然而 PostgreSQL 里是有 bool 类型的,所以 gorm 会把它映射成 BOOL 类型,如果 SQL 里还是用的 0 或者 1 去查问就会报错。 ...

June 21, 2022 · 2 min · jiezi

关于devops:八大误区逐个击破3在云上变更和数据的管理都不足为虑

Hi!咱们是Atlassian寰球白金合作伙伴——龙智。咱们发现不少企业对是否要迁徙上云感到当机立断,少数状况下是因为尚未把握正确的信息,存在很多认知上的误区。咱们将Atlassian白皮书《突破迁徙上云的八个误区》的内容译制为易于浏览的中文系列文章,此篇文章是【八大误区,一一击破】系列文章第三篇,前两篇文章已公布,往期举荐中可点击跳转浏览。 本系列文章中,龙智将从平安与防备、云性能、云版vs.Server版应用程序(插件)、变更治理、云端数据管理、管理员角色和职责、Atlassian云产品的定制以及企业可扩展性八个方面,帮忙您深刻理解云产品的世界。 依据官方消息,Atlassian Server版产品(Jira, Confluence, Jira Service Management等)反对将于太平洋工夫 2024 年 2 月 15 日完结,但只有迁徙到云版或数据中心版产品,就能够持续取得反对。 对于心愿放弃自托管的企业客户来说,数据中心版是一个牢靠的、长期的抉择。 而对于全球化策略布局的公司,咱们建议您率先一步部署Atlassian云版产品,能够领先体验上云的各种劣势。 第四大误区变更治理在云上难以管制咱们常常遇到这样的状况,公司在思考上云的过程中,会因为变更治理问题而犹豫。 迁徙上云后,咱们是否可能管制变更、治理危险并保障数据安全?这是否又会对咱们的变更治理指标或终端用户造成危险?这些都是企业重视的问题。但好消息是,对于您的团队来说,云带来的更麻利的实际比轻便的传统变更治理更好、更平安。 为什么这么说?看了以下对于变更治理的三个误区您就能明确。 ● 管制能够进步性能 在传统办法中,企业试图通过变更治理委员会 (CAB) 和简短的审批流程来管制所有变更,从而达到他们的变更治理目标。这种逻辑仿佛是正当的:更多的审批意味着更平安的公布,即便它们会拖慢速度。然而,在这个速度至上的世界里,这种逻辑是经不起斟酌的。依据《2019年DevOps报告》所述,采纳较慢的传统变更治理流程的团队,体现不佳的可能性比起他们的麻利同行高出260%。这意味着高绩效者更有可能采取的是麻利开发——这对那些抉择更麻利模式的人来说是个好消息。 事实是,咱们大多数人并不真正须要六层审批流程和几个月来来回回的合规审批委员会……咱们真正须要的是一些简略的确认和均衡。”GUY HERBERT 危险预测者,Atlassian● SaaS公司在没有告诉的状况下,公布了太多新性能 的确,Atlassian始终在不停地改良、测试和公布新性能、安全更新和补丁。然而,在现在业务需要、平安最佳实际和用户冀望都一直变动的世界中,这是跟上时代步调的惟一办法。 迟缓的公布打算是有代价的。最显著的是,如果平安问题落后,您的企业将来可能会呈现劫难。仅在2019年上半年,数据泄露事件就裸露了41亿条记录。如果黑客攻击使您的业务下线呢?专家预计,停机老本每分钟会对企业造成均匀为5,600至9,000美元的损失。 另一个显著的代价是合规性。如果您的零碎不合乎所在地区或行业的法律要求,那就比拟苦楚了,因为这意味着合规性的更新须要和平安方面的更新进度统一。 同样显著的代价是,这会让您落后于翻新曲线。在这个速度能够发明利润的世界中,迟缓的公布时间表使竞争对手很容易超过您的团队。 一个绝对不太显著,但同样重要的代价,就是团队的工夫。小而频繁的更新让人很容易习惯,并且不会减慢团队的速度;而每年或每两年的更新,您的团队则须要面对一个可能是微小的新性能或界面更新,须要更长的学习曲线。更不用说那些大的更新可能会引入新的bug——如果没有频繁的修复,团队必须间断几个月都围绕着它们工作。 ● 本人管制更新能让用户/团队更轻松当咱们本人管制更新时,我的用户/团队会更轻松? 与您的外部团队一样,比起同时适应一堆大变动,用户定期适应小变动时麻烦会少很多。 当然这只是从逻辑上来说,小变动比学习一个全新的零碎更容易适应。对于本地零碎,管制更新通常意味着:以一大堆更改轰炸用户的状况每年会产生数次。然而,云版产品每次都只会有一些小的更新和变动。 更不用说,通过一直地提供疾速的谬误修复和改良,团队可能更好地实现他们的工作,并且能够将破费在这些工作上的工夫重新分配到更高价值的工作上。 自从咱们迁徙上云,咱们的外部IT工单缩小了50%。我次要听到的不是处理错误或治理申请,而是咱们的用户想要增加的新利用和性能,最终帮忙他们更好地实现工作,为咱们的客户提供更多的价值。"JAMES SEDDON 高级工具管理员,IGLOO软件第五大误区在云上,数据难以治理数据,当今商业世界的灵魂。 它使咱们有能力为客户提供良好的服务,并且,与所有势力一样,它也随同着相应的责任——对咱们的客户、员工以及咱们开展业务的国家/地区的法律负责。 因而,当咱们议论云时,数据安全和治理是企业最常关注的问题,这也是有情理的。 Atlassian将数据安全性和数据管理的便利性放在优先思考的地位。持续浏览,您将从新认知“云是否会带来数据危险”这个问题。 ● 我的数据在云中不平安 事实上,当初大部分企业 (94%) 示意他们的数据在云中更加平安。 这有很多起因。一个起因是48%的开发人员示意他们没有工夫花在平安上,这意味着如果你将其保留在外部,那它很可能会从优先级列表中隐没。另一个是云采纳的零信赖办法,这意味着数据通过屡次安全检查(而不是本地零碎的典型繁多安全检查)。 安全性是内置于Atlassian云版产品构造中的。他们采纳了多种控制措施来爱护您的数据,包含跨云服务传输和动态时的加密、内部破绽钻研(如Atlassian的 Bug Bounty打算)等。 几十年来,企业安全控制都是由繁多边界形成的,其目标是为了爱护大公司而构建。然而,自从基于边界的城堡和护城河(castle-and-moat)平安模型被开发进去后,企业的技术畛域就产生了巨大变化。 进入“零信赖”这个行业的专家曾经转向的新平安模式,能解决古代工作中日益增长的平安挑战。“零信赖”是一个框架,在这个框架中,企业放弃了一个大的边界,转而在每个端点和公司内为用户提供爱护。 ● 云不能让我控制数据的存储地位 Atlassian通常将您的数据存储在尽可能凑近大多数用户的地位。但如果你想要更多的控制权?新的Atlassian Cloud Enterprise打算可让您抉择数据驻留地。这意味着您能够依据本人的业务需要或法律要求,抉择数据子集(例如工单或页面)托管的地位。 如需具体理解云托管基础架构,或想应用Atlassian治理数据驻留,请分割Atlassian寰球白金合作伙伴——龙智,您将取得帮忙。 ● 我不能间接在云中查问我的数据库 尽管从技术层面来说,这是正确的,但它不会影响您实现工作。您能够通过Jira REST API 和Confluence REST API间接与您的工具交互。如果您依然不晓得该怎么做,请分割Atlassian寰球白金合作伙伴——龙智。 ...

June 17, 2022 · 1 min · jiezi

关于devops:IP核是什么有什么类型半导体IP核全攻略

近年来,随着半导体产业高速倒退,以及寰球对知识产权的器重,半导体IP核查整个行业来说更加重要。同时,强烈的竞争环境使得芯片开发周期缩短,团队不得不重复使用半导体IP,IP核的治理成为半导体行业面对的一个新课题。本篇文章从IP核的概念动手,剖析治理IP核时会面临的挑战,并最终给出了应答挑战的解决方案——十大半导体公司中有9家都在用Perforce公司的Methodics IPLM进行IP的治理,实现IP的可追溯性与安全性。在当今强烈的竞争环境中,芯片开发周期更加缩短,导致研发设计团队须要重复使用半导体IP,让他们能在竞争中占据领先地位。 然而,什么是半导体IP?浏览本文,您将理解到什么是IP核(其中包含IP软核和IP硬核),并把握能帮忙减速开发的最佳实际。 IP核是什么?IP核是由半导体芯片中所应用的逻辑或数据块所组成,它通常属于集体或企业的知识产权。IP核通常利用于现场可编程门阵列(FPGA)或特定集成电路(ASIC)的设计。 IC设计过程中会构建出IP核,并能够将其转换为组件以供重复使用。也能够购买第三方IP,将其利用到设计中。IP核有不同的类别,包含IP软核和IP硬核。 什么是IP软核? IP软核通常是可综合的RTL模型,基于SystemVerilog、VHDL等硬件描述语言开发,偶然也由门级网表形容。IP软核的劣势在于能够在物理设计阶段进行定制,并映射到任何工艺技术中。 什么是IP硬核? IP硬核是指同时具备逻辑实现与物理实现的IP。换句话说,IP硬核(hard macro-IP)的物理布局是在特定的工艺技术中实现和固定的。 治理IP核会面临的挑战要充分利用半导体IP,正确的治理至关重要。但对于许多企业来说,这是一个极其简单的工作。 无限的可见性 当IP核在设计中被创立并利用后,最终会到哪里?对于许多企业而言,它最终可能会被存档在某个服务器上。要拜访IP核,进行IP复用,团队须要依赖其合作方的技术,同时还需破费工夫钻研它的以后状态,以及它是如何演变到该状态的。 要将IP核正确纳入我的项目,团队首先须要找到它。因为团队与我的项目之间的可见性无限,要获悉可用的内容简直是不可能的。 简单的环境 理解一个IP核就须要理解它以后的状态及环境。利用过它的其余我的项目有哪些?在整个开发过程中发现了哪些bug?随着公司从以我的项目为核心的办法转移到以IP为核心的办法上,故而必须把握IP核的应用环境,这将有利于团队缩小用于搜寻或从头开始构建的工夫。 如果,所有都能够像IP一样治理?将IP作为设计组件中一个很小的子集来探讨,有可能会限度复用。这是因为除了IP软核或IP硬核之外,还有更多的数据进入芯片。 Methodics IPLM是首款在设计工作流以及整个企业中治理IP的工具。因为Methodics IPLM上,任何货色都能够成为一个IP!您能够将零碎设置为一个蕴含以下内容的IP: 工程环境/配置设计(WIP)IPPDKs和库应用状况跟踪扩大公布治理集成IP生成器还有更多!容许所有内容都能作为IP进行版本控制,是指用户领有一个元数据线索,能够在产品IP生命周期的每个组件中进行跟踪。您能够应用标签来表明供应商IP、特定的合规规范等,从而轻松地将其合并到其余我的项目中。在管理权限和设置事件方面,Methodics IPLM能够向下爱护到单个IP级别。您还能够创立权限来限度拜访和事件,以便在IP更改时收到告诉。 半导体IP的集中式物料清单领有一个独立于数据管理工具以外的半导体IP治理地方平台,可为您提供残缺的可追溯性,并加强IP应用形式的可见性。它创立了一个可用于发现和复用的IP生态系统,还可用于布局并执行IP物料清单(IP BoM)。 这是因为在Methodics IPLM中领有: 组件与IP BoM(CIPB)布局模块,可与您的企业风险管理(ERM)及以制造业为重点的产品生命周期治理(PLM)工具配合应用,提供合乎您需要的高级数据。它反对对所有IP(第三方和外部IP)进行分层布局,可在整个组织中得以利用。组件与IP BoM(CIPB)为您提供所有软件及硬件IP的整体视图,这有利于团队向制作部门交付繁多且对立的BoM。总之,这些将有利于您在整个半导体IP设计过程中放弃一致性。 改良半导体IP治理将您的IP核晋升到全新境界!借助Perforce提供的Methodics IPLM,您能够对IP核进行资格审查,晓得它是否已失去充沛审查及验证。Methodics IPLM会为您的团队创立一个IP库,提供灵便的工作流程,在促成翻新的同时确保信息安全。 十大半导体公司中有九家曾经在应用Methodics IPLM,它在帮忙企业的设计团队高效工作的同时,还可能实现IP治理中的齐全可追溯性和IP安全性——无论IP起源如何。

June 17, 2022 · 1 min · jiezi

关于devops:用户文章转载版本管理这件事没有偏执惟有极致

本文作者向华是资深游戏开发工程师,领有8年游戏测试开发教训。他是前原神我的项目P4 Admin,也是一名继续集成开发者。作为Perforce Helix Core的用户,他联合本身我的项目实践经验,带来对于VCS迁徙、公布版本的提交管制以及P4工具链的采纳准则等干货。 就在上个月,巨忙,我的项目上线了。有幸参加了我的项目的一部分版本管理工作,诸多总结和反思,遴选后与君分享。 对于 VCS 迁徙我的项目起初是用 Git 做版本控制的。起初发现了以下几个问题:单文件/目录版本回滚(rollback)艰巨。策动数据常常被冲表。分支满天飞,合并不可控。于是,与项目组共事一起,决定革新 VCS 工作流,做了一次从 Git 到 P4 的迁徙。这次迁徙属于修理者模式,也就是说 Git 还能用,逐渐将策动数据仓库、客户端仓库、服务端仓库迁徙至 P4,最终实现全迁。过程不再赘述,可有一点不得不提,Perforce 在从 Git 迁徙到 P4 的过程中仿佛尚无一个齐备的无损计划。市面上可能搜寻到的 git-p4(https://git-scm.com/docs/git-p4),还有官网提供的 Helix4Git,都是 Git 与 Perforce 共存的计划。而咱们想要的是全面迁徙至 P4。在修理过渡期,咱们做了一个 Git 的 Commit Hook 脚本,持续性地将Git 的提交记录 Submit 到 P4 仓库。 不言而喻,这种做法损失了过往的 Git 提交日志和不同分支间文件合并记录。衡量之后,项目组承受了此计划。最终用了 2 周工夫,我的项目胜利迁徙至 P4 工作流。 对于公布版本的提交管制我不记得是听哪位大佬讲过,只有国内的游戏团队才有周版本制度。我的项目起初是双周版本,开发节奏迟缓。借用一次 CE 测试的契机,推动我的项目切换为单周版本,放慢了开发节奏,迎接项目组首次内测曝光。与各大游戏公司的周版本模式相似,咱们给团队成员提出要求,周版本构建出最终稳固包体后,才能够个体上班。版本节奏的调整还是蛮有压力的,不论是来源于团队成员的认识,还是工作内容的爆炸式收缩。好在,大家风雨同舟,度过了这片工夫沼泽。感激团队中所有在关键时刻可能挺身而出的共事。对于周版本,甚至起初的线上版本,咱们采纳了通常的锁版本提交策略。通过 P4 Protection 的权限管制,将分支写入权限敞开,只将写入权限凋谢给固定的白名单组,谁提交谁进白名单组。 这个计划是早些年从网易游戏习得的,过后的前辈们集大成地将此计划谋求极致,现已有十分成熟的工具链。周版本的一直迭代,最终进化为线上公布版本,每一次迭代都是通向胜利上线的台阶,咱们每个人都很器重。好在每个版本咱们都按时实现交付。 对于P4工具链在原神,曾和我的项目的其余搭档们实现了 10+ 个工具链。而在当初的小团队,工具链的制作思路并不一定适宜。制作一套撑持我的项目运行的齐备工具链,须要消耗大量心力和团队的力量,在无限的软硬件资源下,咱们只能抉择与上线相干且必要的。另外,这里有弱小的中台团队作为撑持,很多基础设施间接可能复用,着实省了很多事。而本人依据我的项目的特点,非凡批改和挂接了一些合乎我的项目特点的小脚本,也能让效率失去不少晋升。总结一下,咱们工具链制作采纳的准则就是:抉择必要,业务必须的加上;复用现有,关注老本,快、稳是第一要务;就地取材,小范畴的调整也能有不错的成果。 写在最初每一段上线的旅程,都是一场博弈。整体下来,仍有太多不甚完满的中央,须要继续加强与各大业余团队的 CI 工具链同仁们交换。感激浏览。

June 17, 2022 · 1 min · jiezi

关于devops:DevStream-开源社区相识相知相爱

本文作者: aFlyBird0Blog 地址: https://blog.aflybird.cn/ 明天,我是来讲故事的,讲我和开源社区、和 DevStream 的故事。先讲点废话乏味的故事,总是有些背景的,我也想讲一些。 首先我想讲讲,我了解的开源是什么开源不是仅仅提供收费的软件,而是「一群有幻想的人,一起打造一件艺术品。」为什么写这篇文章我不是专门来给 DevStream 采购的,她没有因为我写这篇博客专门给我钱。 我想你在听了我的故事之后,除了明确我为什么抉择 DevStream,还能从中播种一些其余有用的货色。比方,如何抉择社区,如何参加一个社区。我还心愿你能从中播种一些高兴。 我写这篇博客不出于物质回报,仅仅只是想让我做的事件、我感觉有价值的货色被更多的人看到。而这正是开源、正是 DevStream 在做的事件。我喜爱技术的纯正,大家并不带着强烈的物质上的目标来参加,所以也不会被此所牵绊,想什么时候参加就什么时候参加,想写多少就写多少。 咱们只是感觉,本人在做一件极度酷爱且十分牛逼而且真的有用的事件。 这就是我写博客以及DevStream甚至所有开源我的项目贡献者的动机。相识红娘我和她相识于一场大型相亲流动——开源之夏。 这是一个双向利好的平台,各个开源社区能够报名吸引各大高校的学生人才参加社区,学生也能通过流动报名喜爱的社区/我的项目,提交申请书,从此走上开源的路线。 碎碎念我不想刻意隐去这个流动的名字,哪怕这篇文章公布在 DevStream 的博客平台上。正是它带我走进了开源的世界,我不能感恩戴德,不想当渣男。国内外相似的流动还有很多。正在听故事的你,能够直接参与 DevStream 作为第一个开源我的项目。如果不感兴趣也没关系,能够抉择通过这样的开源流动意识更多的姑娘。 相遇因为我的技术栈次要是 Go ,所以把偏爱会 Go 的男人的姑娘们都挑了进去。DevStream 也是其中之一,她还留了联系方式,贴了微信用户群二维码,我就加了进去。之后的一段日子里,我的项目还没公布,我就转去忙实验室的事件了。 她看起来很一般,见到她第一面的时候,她的官网还很奢侈,简直是素颜。star 也不多,只有几百个,别的社区都是几k,几十k的 star。 但我还是决定和她聊聊。相亲必然得先理解单方根本信息。她和我说,她是搞 DevOps 的,她想做一个开源的 DevOps 工具链管理器。 原因她说,当初的大厂有很多一站式 DevOps 解决方案,但这也意味着你须要深度依赖某些厂商,以及不不便得心应手拓展。成熟的计划也解放了小团队的创新能力:既然曾经花钱买了整套的工具,就别瞎搞了!这很不开源,这很不 open。 愿景她要做一个 DevOps 工具链管理器,让大家能自在地抉择每一个环节的工具,自在替换,自由组合。 她还说,当初大部分人的 DevOps 工具链都是随便、凌乱的,她想为每个工具总结几个 Best Practice,而后你用就行了,不必各种纠结和瞎摸索。说到这里,她的眼里泛起了光辉。 幻想她说,她想做的货色,就像 apt、yum 这样的包管理工具那样,只不过治理的是 DevOps 工具。她说,她甚至想成为 Linux 内核的一部分,你能够应用各种组件创立不同的发行版,让你始终能够为SDLC工作流程的每个局部提供最佳组件。我有点心动了。 相知进一步理解我偷偷地翻看她的官网,才发现,原来她3月初才开源 0.1 版本,我是4月20日意识她的。这是她的 诞生日记。 真是一个年老的姑娘。她的那些毛病仿佛变得都能容忍了,官网奢侈是因为关注于技术自身(当初也很难看了)。才开源一两个月能有几百个 star 也是属于十分优良的了。 年老,领有有限的可能,更是最大的长处。大的社区,可能各种合作形式、issue 模板十分欠缺,牛人也多,代码也很柔美,但咱们并不一定能深刻参加,找到下手的机会。 小的社区,尽管各种货色都在起步,然而内部联系更严密,对社区贡献者更激情、凋谢。可能代码并不欠缺,但这意味着咱们能有大展身手、深度参加的机会。甚至能成为 Member、Reviewer,领有更多的归属感。 她的家人自从加了群以来,她的家人群(微信用户群)始终在躁动。 ...

June 13, 2022 · 2 min · jiezi

关于devops:八大误区逐个击破2性能差应用程序少你对云的这些担心很多余

Hi!咱们是Atlassian寰球白金合作伙伴——龙智。咱们发现不少企业对是否要迁徙上云感到当机立断,少数状况下是因为尚未把握正确的信息,存在很多认知上的误区。咱们将Atlassian白皮书《突破迁徙上云的八个误区》的内容译制为易于浏览的中文系列文章,此篇文章是【八大误区,一一击破】系列文章第二篇。系列文章第一篇《八大误区,一一击破:担心平安防护与合规性?这可能是您对云最大的误会》已于5月31日发表。 本系列文章中,龙智将从平安与防备、云性能、云版vs.Server版应用程序、变更治理、云端数据管理、管理员角色和职责、Atlassian云产品的定制以及企业可扩展性八个方面,帮忙您深刻理解云产品的世界。 依据官方消息,Atlassian Server版产品(Jira, Confluence, Jira Service Management等)反对将于太平洋工夫 2024 年 2 月 15 日完结,但只有迁徙到云版或数据中心版产品,就能够持续取得反对。 对于心愿放弃自托管的企业客户来说,数据中心版是一个牢靠的、长期的抉择。 而对于全球化策略布局的公司,咱们建议您率先一步部署Atlassian云版产品,不仅能够领先体验上云的各种劣势,还能取得双重许可的优惠。 获取更多信息或最佳解决方案,立刻分割Atlassian寰球白金合作伙伴——龙智。 第二大误区:性能云如何比本地部署领有更高性能如果有什么货色能够决定企业的生产力,那就是工具的性能。如果它们变慢或瘫痪,就会使您付出微小的代价——损失生产力、IT工夫,有时甚至是客户的好感。 所以当公司开始思考迁徙到云时,性能成为首要关注点也就难能可贵了。 好消息是:对性能的担心是没有依据的。事实上,依据INAP的一项考察,网络性能目前是公司迁徙到云的第一大起因。因为有了失常运行工夫保障、主动扩大和主动性能降级,这就不是问题了。 那么,对于性能的误区是什么呢?请仔细阅读本篇文章,您能找到答案。 **云的性能误区 1云比本地部署慢** 并非所有云供应商都是一样的,当今一流的云工具通常比本地部署更快。事实上,76%的企业领导人示意,迁徙到云端能够进步IT服务的交付速度。 这是数据显示的,也是Atlassian在客户迁徙时从他们那里失去的反馈。 为什么Atlassian的云性能如此一流?首先,它托管在AWS上——这是一个始终名落孙山的云提供商。其次,Atlassian云产品提供99.9%-99.95%的失常运行工夫保障。Atlassian利用规模经济,为成千上万的客户带来最好的技术、最新的改良和深厚的专业知识。他们的寰球分布式数据中心更适宜寰球团队。 Atlassian的Statuspage会实时显示有对于零碎可用性和性能的最新更新,保障您永远不会感到信息滞后或缺失! **云的性能误区 2云的中断故障对团队来说将是一场噩梦** 停机工夫的确是一场噩梦,这是真的。它会使公司均匀每分钟破费5,600至9,000美元,除此之外,您还须要思考到技术人员随时待命产生的高压力、失眠和挫折感…… 然而,在Atlassian的Premium和Enterprise云打算中,有财务反对失常运行工夫保障以及稳固的跟踪记录,您能够在Atlassian云中居安思危。哪怕是您的零碎的确呈现故障,会有其他人来解决,而不是在中午叫醒您。 “有了Atlassian云,我不会因为数据中心的一个节点产生故障而在中午惊醒。这对我和我的客户来说是一个十分踊跃的方面,因为我能够确保最佳的SLA。”LAURENT BORDIER ATLASSIAN服务经理, LUCID MOTORS第三大误区:应用程序(插件)云版产品的应用程序不如Server版如果您当初应用的是Server版,那么您对迁徙到云版的最大担心之一是应用程序,这很失常。云版中有这些利用吗?它们能迁徙吗?有什么不同或相似之处? 这些都是咱们从Atlassian客户那里重复听到的问题。好消息是:云比您设想的更适宜应用程序。 作为通过认证的Atlassian寰球白金合作伙伴,龙智能够帮忙您解决对于应用程序(插件)迁徙的相干问题。 **云版应用程序误区 1云没有那么多的应用程序** 尽管“云没有那么多的应用程序”在几年前可能是正确的,但现实情况是,云计算的改良正在疾速倒退,而几年前的理论状况在明天相对不是实在的。事实上,Atlassian Marketplace为咱们的云产品提供了超过1,000个应用程序和集成,而且始终在减少。仅2019年,Atlassian就在其库中减少了250个应用程序。而在2020年的前六个月,Atlassian又推出了225个。 Atlassian中一些最受欢迎的Server版应用程序(包含Insight Asset Management、Jira Workflow Toolbox、JSU Automation for Jira、Structure 和 ConfiForms)曾经在云中可用。而且,随着市场的疾速倒退,当您迁徙时,您会有更多的抉择。 Atlassian还与许多用户最喜爱的SaaS工具(包含 Slack、Jenkins、Github 和 Zoom)建设了官网合作伙伴关系,并且每年都会减少更多的单干。这些集成由两家公司的开发团队提供反对,这意味着您能够取得更深层次的嵌入式性能、率先取得性能改良以及跨工具的无缝工作流,而无需切换屏幕或失落上下文。 **云版应用程序误区 2 我无奈迁徙我的应用程序** Atlassian迁徙工具(例如Jira云迁徙助手和Confluence云迁徙助手)简化了利用评估和迁徙。这个新性能能够显示您的团队正在应用哪些应用程序,以及云版有哪些可用的应用程序,这能够帮忙您布局您的迁徙,理解哪些须要优先解决,甚至可能对您的团队的工作流程有一两点启发。 “咱们不用思考当服务器放弃失常运行时、咱们须要更多空间或咱们须要工作时该怎么做。咱们能够专一于Homegate,因为不必思考所有的服务器和实例。”PETER GRUBE 软件工程师, HOMEGATE尽管有些应用程序须要您分割供应商来迁徙数据,但Atlassian正在开发一个自动化流程,将您的应用程序数据带到云上。 要开始这所有,请先与Atlassian寰球白金合作伙伴——龙智的专家交谈,咱们能够帮忙您评估应用程序并理解如何迁徙到可代替的云应用程序。 **云版应用程序误区 3与本地部署相比,云应用程序性能无限** 在超过1000个云应用程序的证据下,这基本不是真的。云版的应用程序与咱们在本地部署的应用程序不同吗?有时是的。但不同并不意味着更少。在某些状况下,您能够用现有的云应用程序复制您的工作流程。在其余状况下,您可能须要采纳一个不同的工作流程。在同样的其余状况下,Atlassian工具的外围性能可能是您实现工作流程所需的所有。而且,有时云中的利用性能会更好、更弱小。 云版反对的集成比Server版多50%,而且,Server版和云版都反对的许多集成在云中有额定的好处。 ...

June 12, 2022 · 1 min · jiezi

关于devops:提升管道效率你需要知道如何识别CICD管道中的主要障碍

许多企业已通过继续集成、交付和部署 (CI/CD) 来更频繁地公布产品。CI/CD管道减速了软件开发,但同时,也有存在妨碍其效率的因素。浏览本文,您将理解到如何判断妨碍管道运行效率的因素,找到它们的具体位置并解决它们。当妨碍管道运行效率的因素不复存在,您的CI/CD管道效率将继续进步,为公司节俭人力与财力。 任何对于CI/CD的问题或困惑,欢送征询DevSecOps解决方案提供商、CloudBees受权合作伙伴——龙智。 继续集成、开发和交付管道有助于放慢软件开发。一个很好的应用案例是,Autodesk采纳CI/CD之后进步了生产力。如果施行切当,管道能够缩短上市工夫,进步新性能和版本稳定性。 然而你晓得管道外部产生了什么状况吗?您是否辨认并革除妨碍其高效运行的阻碍吗?想要晓得是否存在妨碍因素以及它们的地位并非易事。 所以,很难判断妨碍因素是否存在,以及其具体位置,以及解决办法。本篇文章中,我将帮忙您确定可能遇到的一些次要阻碍,并针对一系列问题提出一套卓有成效的解决办法。 贵公司的CI/CD文化是什么?在深入探讨技术方面的问题之前,让咱们先理解一下贵公司的CI/CD文化。它是每名开发人员都积极参与并全身心投入的文化吗?他们是否意识到CI/CD对公司业绩和胜利的重要性?还是他们只是稍微意识到CI/CD的存在及其作用,以及其存在和发挥作用的原理? 与任何议题一样,人们对某个议题的参与度越高,他们就越有可能予以反对。当他们参加和反对时,他们能够更加享受深度参加该议题的胜利和喜悦之中,即CI/CD的胜利也能够被视为开发人员的胜利。 此外,当这种参加的积极性存在时,当您须要更多资源来对其进行改良时,您在利用CI/CD时遇到的妨碍因素就会少一些。出于这些起因,我强烈建议您思考贵公司的CI/CD文化。 以下是三个倡议: 发展小组教育课程,突出现有劣势。邀请内部专家探讨事实的胜利案例。定期举办网络研讨会或群聊探讨,对现存问题进行剖析并提供解决之道。这些只是少数几种办法。我置信你还能有其余解决办法。 您的管道指标是什么?当初让咱们思考更多的量化办法;毕竟,如果你不晓得问题出在哪里,你就不晓得从何处着手进行改良,从而实现须要达到的指标。 1、开发人员配置新环境的速度有多快? 无论开发人员是新退出公司、新退出部门还是新退出某个代码库,您都应该关注以下几点: 他们是否疾速配置新的开发环境?他们从零到进入工作的速度有多快?摈弃现有环境并从新开始是否可行?“CI和CD的次要劣势之一就是提供疾速开发的新性能。” 如果开发人员不能疾速配置新的开发环境,他们的工作效率就不会达到应有的程度。 配置新开发环境的过程是否由每个开发人员自行决定?他们是否须要手动查看清单、运行脚本和辨认依赖项?或者是否能够应用行业标准配置工具(如Ansible、Terraform或Docker)来主动配置环境? 2、测试的运行速度有多快? 您的整个测试套件须要多长时间能力运行?它会在短期内实现,还是会继续数小时甚至数日之久? 不存在均匀运行工夫之说,因为没有两个应用程序的性能是雷同的。我也不能确定是否存在规范的最小或最大执行工夫。但我要说的是,它们不能占用很长时间来运行。占用的工夫越长,开发人员就越有可能防止运行它们。 鉴于上述: 怎样才能进步它的性能?所有的测试都是必要的吗?是否写的测试没有测量任何有意义的货色?您能更无效地编写测试吗?您是否应该投入资源来进步开发团队的测试常识储备?审查以后的测试套件,包含单元测试、验收测试、集成测试和零碎测试等,思考如何改良它们,并思考在继续的测试教育中进一步投入资源。 3、您能多快地部署新性能? 精简的CI/CD管道能使您更具竞争力,因为您能够更快地公布修复和性能。 您的部署状况如何? 它们是有机地成长为一个整体,还是变成了盘根错节的烂摊子?新办法能使它们合理化或简化吗?是时候引进专业人士了吗? 是否存在遗留包袱,导致流程耗时过长,或者是因为软件较旧或性能过期? 4、您存在妨碍因素或瓶颈因素吗? 咱们曾经对运行工夫过长的单元测试或未运行的测试做过探讨。但这并非是惟一让您的管道陷入困境的因素。还有一些妨碍因素或瓶颈因素: Job之间的依赖关系是否过多?依赖关系是一种耦合模式,而严密耦合的Job是软弱的。它们很容易断裂,也很难重新组合。你有多少个Job流程?越简略越好。您的代码储存库是否过大?单体架构的大型存储库须要更长的工夫进行更新和签出,须要合成代码以简化管道。您的审查流程状况如何?CI/CD管道的查看不是一次性查看,须要在每次公布次要代码后安顿定期检查CI/CD管道,以及定期检查。 您的管道工具透明性有多高? 管道的建设和放弃透明性是两回事,它的透明性到底有多高?例如: 您是否将构建、集成和部署指标定位并公布在易于拜访的地位,例如开发人员办公室的计算机显示屏上?是否可能监测构建何时失败以及失败起因?每个人都能够拜访此信息吗?我提出的上述问题并不是狐疑您的企业存在不诚实的员工或其忠诚度存在疑点。我之所以这样说,是因为当能够疾速获取信息时,会带来以下几个显著的好处。 这些益处包含: 让人们承担责任的能力。团体意识到质量标准降落/晋升的状况。踊跃必定胜利的后果,例如提供新性能和修复性能。因而,我倡议,如果您还没有开始这样做,则应立即开始收集尽可能多的管道信息。而后尽最大致力让这些信息易于被拜访。然而,不要只显示原始数据。原始数据很好,但它们并不能通过给出适当的上下文或者显示随工夫变动的趋势,以便于咱们理解管道性能是在改善还是在降落,明确何时采取行动。 从创立到性能公布须要多长时间?当初,咱们曾经思考了一系列孤立的区域,让咱们后退一步,对管道进行更多的鸟瞰。从专题报道到专题公布须要多长时间? 这个过程是什么样的?它是一个精简、有据可查、定义明确且顺利的过程吗?还是更随便和横七竖八?通过这种查看形式,您能够更深刻、更彻底地理解它是如何联合在一起并发挥作用的。 在您审查完状况后,应思考以下问题: 您有规范编写模板吗?您是否有标准化的审查规定及审查流程?如何公布它们?从编写到性能施行(或放弃)须要多长时间?您写卡片的形式是否实用于企业中的开发人员?换句话说,这些卡片是否蕴含不必要的术语、缩略词或其余外部术语?它们是否过于简单、创立工夫过长或试图做得太多?从头到尾的报告流程是什么?是否无效且通明?论断尽管我所提出的问题并不是十分具体、技术性或明确性,但这些问题是帮忙晋升CI/CD管道效率的良好终点。假如您没有全面思考流程,也没有理解须要解决的要害畛域,就匆忙开始。在这种状况下,则存在一种危险, 即您付出大量精力财力却取得了最低收益。 如果您渴望晋升CI/CD管道的效率和有效性,心愿这篇文章能为您的钻研工作提供一个良好的开始。请把这些倡议作为一个出发点,一个能够激发您的想法和致力并随着工夫的推移而建设的终点。 这是一个粗浅而简单的畛域,无奈迅速或轻松地解决或加以改进。然而,继续改良CI/CD管道能够大大节俭精力财力。 如需理解更多对于CI/CD管道的性能、作用以及应用办法,欢送立刻分割咱们(CloudBees受权合作伙伴——龙智)。 文章起源:https://www.cloudbees.com/blo...

June 12, 2022 · 1 min · jiezi

关于devops:功能标记是什么一文了解它的作用以及它的最佳实践

性能标记是一种容许开发人员在软件开发生命周期中依据须要启用或敞开性能的技术,该技术开发团队在不扭转代码的状况下更改零碎行为。如果您打算在开发过程中一直地将性能集成到应用程序中,您可能要思考应用性能标记。那么,性能标记有哪些作用,应该如何应用,有哪些最佳实际?性能标记与性能分支应该如何取舍?本文将作出解答。理解如何利用版本控制系统来跟踪应用性能标记产生的变更代码信息,欢送征询DevSecOps解决方案提供商、Perforce受权合作伙伴——龙智,咱们专一于版本控制畛域十余年,将帮忙您利用Helix Core等解决方案更好地治理代码的可追溯性、减速开发。 通过利用性能标记将代码公布与代码部署拆散开来。您能够通过性能标记来抉择用户,在须要的时候还能够敞开该性能,并通过发展A/B测试以确定将来的产品方向。那么,什么是性能标记? 什么是性能标记?性能标记是一种容许开发人员在软件开发生命周期中依据须要启用或敞开性能的技术。该技术容许开发团队在不变更相应代码信息的状况下更改零碎行为。 性能标记是确定某些逻辑是否可用的一项前提条件。这些条件能够通过启用或敞开标记性能来实现,启用标记意味着该性能可用,敞开标记则示意绕过某些逻辑。性能标记也被称之为性能控件、性能切换和性能开关。 为什么应用性能标记?性能标记为开发团队提供了对测试和用户的额定管制,从而放慢代码部署周期。性能标记的一些应用案例次要包含以下几个方面: 简化的分支策略 性能标记和基于骨干的开发往往是相辅相成的,因为不同的开发人员可在同一个分支上开发不同的性能,并通过启用或敞开特定性能来避免出现抵触的变更。这种简化的分支策略可无效防止以下状况产生,即个别开发人员在独立的分支中工作,并且没有足够频繁地集成他们的更改,从而可能导致不必要的代码公布提早。它还容许您继续交付代码,因为开发团队能够轻松敞开不欠缺的性能,直至功能完善为止。 继续部署 通过应用性能标记,开发团队能够应用平安的形式更快捷地为用户部署软件。性能标记是继续部署流程的要害组件。代码公布与代码部署是离开进行的,也就是说,代码能够逐渐进行公布,如果发现缺点就立刻敞开性能标记,修复后再从新启用,从而确保不会影响代码部署周期。 升高危险 因为性能缺点造成问题?仅需敞开性能标记即可。这在测试期间很有帮忙,必要时,您能够通过疾速敞开性能标记来缩小该类问题所造成的影响。因为零碎性能造成问题?只需在一段时间内敞开不太重要的性能,直到该零碎性能问题失去解决。放心如何接管新性能或批改过的性能?只需为一小部分用户提供此类性能,并征求他们的反馈意见。 性能标记的最佳实际与任何其它模式的软件开发一样,您心愿遵循最佳实际来确保领有无缺点的洁净代码。这可能意味着在基于骨干的开发模式中应用性能标记,或者须要在基于分支的开发模式中应用性能标记,或者在基于骨干的开发模式和基于分支的开发模式中均应用性能标记。 以下是一些罕用的性能标记最佳实际: 建设命名规定 通过为您的标记制订标准化的命名规定来避免混同状况产生,从而缩小切换谬误标记的机会,确保更好的版本控制和可追溯性。 清理未应用的标记 创立一个标记很容易,但在实际操作中却很容易将其疏忽。如果曾经创立标记,或者不再须要某类标记,则必须停用该类标记,从而缩小代码库标记信息冗余,达到简化标记治理的目标。 用户监控 性能标记的一项劣势在于非技术团队成员也能够对其进行拜访。例如,产品开发团队能够帮助进行A/B测试。尽管如此,对有权拜访的人员及其拜访内容进行管制仍旧十分重要。您须要思考在生产环境中锁定更改,以及对记录性能标记变更信息的日志进行保护。 不要滥用性能标记 性能标记在某些状况下是有用的,但不是万能的。性能标记最适宜那些能够从代码中的少数几个点进行管制的个性。其余用例,比方重构,则很难通过性能标记进行管制。在这些状况下,须要思考应用性能分支。 性能标记和性能分支性能分支容许多个开发人员在其独立分支中单独解决更改。开发人员解决较小的代码块,在独立的分支中进行测试,而后将最终整合的信息存储在主代码库中。 性能标记和性能分支各有利弊。性能标记尽管适宜分段测试,但如果它们被滥用以及未进行良好的文档记录,或者在不被须要时未停用它们,就会导致代码无序状况产生。 在性能分支中,如果整合不够频繁,则会呈现问题。当主代码库的倒退速度快于性能分支时,未整合到主代码库中的性能分支可能会导致大量冲突性代码问题产生。然而,性能分支对于大型项目来说是现实的,它容许开发人员在与团队其余成员隔离的状况下专一于小范畴的代码变更。它还容许对进入代码库的代码进行更严格的管制,即如果没有明智地应用标记,这可能会成为性能标记的问题。 性能标记和性能分支能够联合应用,用于隔离测试并放弃对版本的管制。通过无效整合短期分支的选项,二者联合应用可升高主代码库中代码缺点的产生危险。 治理版本控制系统中的代码变更无论您的团队应用性能标记、性能分支抑或是两者组合,您均须要一个版本控制系统来跟踪变更代码信息。有了Perforce的版本控制系统工具Helix Core,软件分支最佳实际曾经内建。通过应用Perforce Streams,您能够施行借助功能强大的工作流来领导开发工作。您还能够在取得更高质量代码的同时放弃高效的开发速度。分割Perforce受权合作伙伴——龙智收费试用Perforce Helix Core,帮忙您治理代码的可追溯性并减速开发。 文章起源:https://bit.ly/3Mg4QnW

June 12, 2022 · 1 min · jiezi

关于devops:您编码我修复WhiteSource正式更名为Mend

近日,WhiteSource发表正式更名为Mend,以更好地反映公司的业务转型,以及在应用程序平安问题检测、主动修复和预防方面的专业性。同时,他们将公司独创的主动修复性能扩大到开源代码之外,在Mend应用程序平安平台中提供业界首个针对自定义代码平安问题的主动修复性能。Mend的联结创始人之一兼CEO拉米·萨斯(Rami Sass)针对其业务转型和更名作了具体阐明。 作为DevSecOps解决方案提供商、Mend受权合作伙伴,龙智长期关注代码平安畛域,欢送分割咱们,理解对于Mend应用程序平安平台以及代码平安的更多信息。 2011年,我(Rami Sass)与Azi Cohen、Ron Rymon一道创建了WhiteSource,公司使命是致力于在所有与开源软件的应用流程和平安相干的工作方面,可能实现主动运行。在软件成分剖析(SCA)市场呈现之前,咱们公司是该市场畛域的先驱者。通过数年的倒退与提高,咱们为客户发明的价值已远远超过公司初创时的企业宗旨要求。最近,咱们于2021年4月收买了Diffend,进入了供应链平安畛域,往年2月又收买了SAST初创公司Xanitizer和DefenseCode,现在,咱们致力于爱护企业的开源软件和专有代码的平安。 当初,咱们发表一个新的品牌形象诞生了,该品牌形象可能更好地反映咱们公司的业务转型,以及咱们在应用程序平安问题检测、主动修复和预防方面的专业性:WhiteSource正式更名为Mend。 除品牌演变之外,咱们发表将公司独创的主动修复性能扩大到开源代码之外,在Mend应用程序平安平台中提供业界首个针对自定义代码平安问题的主动修复性能。这些变动反映了咱们对以修复为主的应用程序安全性的不懈谋求:使企业可能通过主动修复形式,爱护其专有和开源代码的平安,从而使开发人员可能集中精力创始新型应用程序。 Mend应用程序平安平台让AppSec专一于提供修复性能应用程序平安行业现已陷入困境。 很多公司通过检测破绽以查看是否合规,并将其做为平安实际,该类问题之广泛往往让开发人员望而生畏。业界须要将重点放在升高危险和爱护重要数据上,而非仅仅满足最低限度的合规性。随着网络攻击变得越来越简单和频繁,将利用平安实际限度在以合规性为核心的思维形式上,危险也变得越来越大。Mend应用程序平安平台可对开源代码和自定义代码进行主动修复,该办法引领了上述理念的转变。 咱们为什么更名为Mend?很简略:这个名字最能阐明咱们所做的事件。 通过应用Mend应用程序平安平台,企业能够超过于检测范畴之外,以更高的效率主动发现并阻止应用程序安全漏洞。开发人员能够在其本地环境中实时理解如何修复代码,并帮忙所在公司在不影响严格开发期限的状况下,升高应用程序平安危险。须要强调的一点是,Mend应用程序平安平台有助于造就开发团队和平安团队之间的合作,帮忙这些常常存在一致的职能部门更好地交融。咱们产品的新名称和外观不仅仅是停留于表面层面,更重要的是,咱们如何使企业在修复应用程序平安的同时,兼顾外部团队之间的无效合作。 您编码,Mend修复。 作为一家公司,咱们十分重视产品的性能和产品受权,并将这种理念贯通于咱们带给寰球市场的产品中。咱们置信,当咱们打消妨碍翻新的壁垒时(例如,平安和速度是互相矛盾的概念),开发团队可能发明更好的问题。 Mend为Mend客户提供的将来瞻望:将AppSec推向新的高度通过为团队提供无缝修复破绽和爱护应用程序所需的资源,咱们领有胜利解决简单和大规模应用程序平安问题的良好记录。随着企业品牌的一直成长和倒退,咱们的主旨将始终如一,即打消应用程序平安的累赘,让开发人员能够更加轻松地爱护其所创立的内容。 咱们将持续为实现这一愿景而努力奋斗,即通过Mend应用程序平安平台主动修复SAST的安全漏洞,并将Mend Supply Chain Defender(前身为WhiteSource Differend)与其现有的JFrog Artifactory插件集成在一起。 Mend应用程序平安平台使企业不仅可能发现和修复开源代码中的平安问题,而且当初还能够主动修复自定义代码平安问题。Mend应用程序平安平台能够轻松地集成到开发人员的工作流中,为SCA和SAST提供主动修复性能,并间接出现在开发人员的存储库中。目前的SAST工具提供一些对于解决安全漏洞的培训内容,但这还远远不够。咱们是业内首家对自定义代码平安问题提供主动修复性能的公司。当初,开发人员和平安团队能够从检测和手动修复转换至主动修复整体代码库应用程序破绽。 通过集成Mend Supply Chain Defender(先前的WhiteSource Differend)与JFrog Artifactory的Mend平台插件,使那些将插件用作公有存储库管理器的企业级用户可能避免歹意开源软件进入其代码库,从而对企业提供进一步反对。应用Artifactory的用户只需装置一次供应链卫士(Supply Chain Defender),便能够使通过集中的策略施行和审核点确认所有波及Javascript或Ruby的我的项目均受到爱护,从而不受无害代码的影响。 咱们很快乐将咱们的主动修复扩大到SAST,并成为业内首家提供该翻新性能的公司。Mend致力于帮忙平安团队和软件开发人员实现疾速平安的次要指标。我很感激Mend团队的辛勤付出,尤其在过来一年中,咱们经验了产品供不应求的疾速增长期。我非常感谢咱们的1000余名客户的信赖和合作伙伴的反对,他们助力将Mend晋升至一个新的高度。 从当初开始,您将看到咱们所引入的产品新外观和公司新形象。如果您还没有找到,请在LinkedIn和Twitter上找到咱们,理解咱们的修复之旅。 请分割Mend受权合作伙伴——龙智,理解无关SAST和Mend Supply Chain Defender的主动修复的更多信息。 作者简介: 拉米·萨斯(RAMI SASS) 拉米·萨斯是Mend的联结创始人之一兼首席执行官,Mend是一家帮忙企业减速倒退的公司,致力于通过自动化工具帮忙组织减速安全软件的大规模开发,从而补救平安常识的有余。自2011年公司成立以来,拉米·萨斯曾经将Mend从一家以色列小型初创公司打造为一家全球性企业,在多个国家领有300余名员工和数千家企业客户,其中包含微软和IBM。 文章起源:https://www.mend.io/resources...

June 12, 2022 · 1 min · jiezi

关于devops:DevOps落地实践点滴和踩坑记录1

记录初衷自己始终在从事企业内DevOps落地实际的工作,走了不少弯路,也致力在想方法解决面临的问题,期间也经验过不少人和事件,最近忽然有想法把经验过的,不论好的不好的都记录下来,分享给和我一样的一线实践者。我会通过一个个典型故事或场景来叙述,不谈实践,不谈技术, 只谈遇到的人和事,我和我的团队搭档怎么解决实际中遇到的问题。 1)DevOps如同很火,咱们也来做个搞吧“DevOps如同大厂都在搞,据说能进步效力,咱们的我的项目常常延期,要不咱们也搞吧~”可能这是很多企业领导施行DevOps的初衷, 这个初衷本没有错,可是真的筹备好了吗?想分明做什么了吗?没关系,能够请内部专家讲下,听下来感觉就是一大堆工具的组合,不就是开发一个一体化平台吗?如果只是看到了他人的成绩,没有分明两头付出的艰苦和改良,没有好的方法论领导,很容易照猫画虎,外部的改良“走形”! 2) 买了你们的平台,多久能有成果进去?在企业DevOps实际初期,对于自研和内部洽购还存在一些犹豫,一方面感觉如果本人投入资源研发,周期比拟长,本人等不了,所以心愿可能尽快通过成熟的内部工具疾速达到本人的冀望的指标。于此同时,内部的DevOps平台厂商或者征询就会看到机会开始染指,对本人的产品和计划进行推广。对于内部的征询和厂商 ,领导常问的问题就是“我买了你们的平台,多久能出成果?”,或 “你们过来的案例个别须要多久?”,“是不是咱们买了你们的平台,团队能够马上用了”,诸如此类的问题往往令内部的征询和销售无法回答,因为真正做过落地实际的人都分明,不可能给出一个明确的答案。其实,这种景象也反映了组织内领导没有真正分明这个事件到底要怎么做,他们感觉工具能解决问题。这是对于DevOps的一个误区。 3)“DevOps”应该从管理层认可开始DevOps呈现之后,大家兴许已经提出或者听到过一个很要害却又广泛的问题——“DevOps转型应该从哪里开始?”工作中,并非所有人都信赖DevOps,通常遇到的第一个难题是失去管理层的认可与反对,因为DevOps的外围含意可能会掀起公司的大改革。然而即便有管理层反对,如果管理层没有懂DevOps的带头人,往往也会呈现“事倍功半”的状况,管理层基于失去后果,漠视了这是一次改革,不是某一个团队就能够进行的。 4)通过工具平台接入率来掂量改良成果?在领导的反对下,企业开始打造自研效力平台,然而怎么推广呢?往往会陷入一个误区,就是开发了,大家接入应用就好了,接入应用效力天然就进步了。可是真的这么简略粗犷吗?接入率能阐明什么呢?接入好坏成果怎么评估?什么算接入?创立一条流水线,跑通了整个流程就算接入了,就能进步效力了?企业为了推广本人的平台,让团队接入原本无可非议,可是办法错了,如果为了团队的KPI, 团队天然会投入人力接入,可能团队本人没有意识到这个事件的价值,只是因为领导须要咱们这么做。能够接入完了,团队持续依照本人过来的搞法玩,竹篮打水一场空。 5)找出问题比空喊口号更有用!-价值流剖析“你感觉你们团队能给团队带来哪些效力晋升?”有次和下层散会,领导的这个灵魂拷问让我历历在目,说切实的,作为深谙DevOps实践和实际的一线实践者居然不知如何答复。下来求教了很多行业内大咖,“找出问题就根本胜利一半了”,这是一个专家的答复。忽然我意识到,这不是就刚开始来找团队做的“价值流剖析”吗,找到问题所在,走着走着迷失了方向~尽管各家企业DevOps落地计划各不相同,然而有一个根本的共识就是到底要解决什么问题,只有真的弄清楚问题,能力想方法解决。在施行初期,咱们个别会抉择比拟有代表性的我的项目,进行调研和剖析。咱们会从需要治理、开发、代码治理、构建、测试、部署、公布这几个方面进行调研和剖析,判断我的项目是否适宜迁徙到DevOps平台,我的项目研发过程的某些环节是否须要进行改良和欠缺。 需要治理:需要管理工具、用户故事、工作、迭代等开发:开发语言、开发工具、技术框架、运行环境、组件划分及依赖关系等代码治理:代码及文档管理工具、代码库分支及用处、分支策略、代码品质检测工具及质量指标等构建:构建工具、构建过程及构建策略、构建介质策略、两头介质及最终介质治理等测试:用例和Bug治理、自动化测试工具、验收规范等部署:环境规划、环境配置、部署形式、依赖的中间件和公共组件等公布:上线交付物、公布流程、利用及数据备份形式、回滚形式等本阶段产出文档:调研问卷、晋升倡议和改良计划。 6) 寻找“反抗军”因为他们真的痛我的项目试点是十分重要的环节,也是后续是否进行推广的重要评判根据。通过后期的我的项目改良,以及流程标准的遍及推广,试点我的项目作出适当调整,试点我的项目的迁徙是对之前所有工作的一个重要测验。在试点阶段,一方面是要通过试点我的项目的规范化革新,打造同类我的项目的流程标准,造成可复制的流水线模式;另一方面看迁徙前后给试点我的项目带来哪些好的成果,是否合乎预期,是否还有须要改良的空间,平台能力是否须要晋升等等。我的项目试点阶段产出的文档和手册是后续推广的重要资源。当试点我的项目的迁徙达到预期成果,就能够进行DevOps平台的遍及推广但往往启动阶段,就会面临谁是第一个“吃螃蟹”的团队,这个时候寻找适合的“反抗军”是至关重要的,因为他们真的“很痛”,受研发效力底下困扰已久,他们迫切需要扭转。这个初心比任何的行政命令更无效,这是发自他们心田的!在和这些团队一起合作的时候,也须要次要投入产出比,上来不要找一些高大上的,不切实际的最佳实际。先让他们看到成果苦头,他们才违心投入资源进行革新。当然,过程中必要的沟通技巧,和团队leader的集体关系也要搞好。 7) 平台建设思路在DevOps施行过程中,工具链的买通必然波及各种工具的整合。除了DevOps平台自身曾经集成的Jira、Gitlab、Jenkins、Nexus、SonarQube等工具,比拟常见的是对客户已有工具等集成,如客户自建的项目管理平台、CMDB平台、自动化测试平台等等。对于用户自建工具的整合,首先须要去理清整合的真正目标是什么,能为用户带来哪些价值。比方,对项目管理平台的整合,DevOps平台能够对我的项目等迭代、需要、工作等信息进行收集和汇总,最终我的项目的进度、老本高深莫测。再比方,对CMDB的集成,对于CD过程中应用的资源(主机、容器),间接从CMDB拉取数据即可,无需在DevOps平台中重新配置一遍。 这里倡议,对已有工具的整合,整合的是数据,目标是让数据流转和汇总起来,而非做性能的整合。规范化、统一化我的项目迁徙到DevOps平台,各个我的项目能够在一个对立的DevOps平台进行CICD,无需各自搭建继续集成平台。通过制订正当的标准,不同的我的项目恪守统一的标准,防止了代码库、CICD流程的管理混乱和不标准。制订度量指标和标准,对软件开发成绩和开发过程的测量和剖析,帮忙对软件开发过程继续进行改良,无效进步软件交付品质和效率。 研发效力晋升可视化和可编排,无需编写pipeline脚本,一次配置,屡次执行。提交或合并代码登程、定时触发或手动一键执行构建和部署,进步研发人员效率。无效缩小零碎变更部署上线的工夫,疾速响应业务变动。 报表展现、可度量从效率、品质、进度三个维度展现工作、代码、构建、部署相干数据,联合我的项目看板、报表和度量指标,各环节干系人能够对进度、品质等进行判断和干涉。DevOps的建设是难以短期内实现的,须要进行总体规划,而后分阶段施行。无论是工具的整合,还是度量体系的施行,都须要循序渐进、循序渐进,逐渐实现建设,最终实现预期指标。 8) 以终为始,确立对立的指标,防止各自为政下面一点提到了工具的整合,在企业组织外部,工具可能会散布在不同的部门里,次要波及到项目管理,需要治理,代码治理,构建部署,测试等,DevOps效力平台的指标是拉通所有的工具,进行数据的整合。尽管说是工具的整合,其实不如说是工具背地部门间合作形式,和如何建设独特指标。过来一段时间,笔者经验过各工具背地的部门间思维没有对立,大家名义上都在为一个指标服务,然而不足无效的对立指标和计划,说白了各自为政,这给前期的平台度量整合带来很大的麻烦,有可能零碎要从新设计,各零碎间的数据模型须要花大力量去适配和调整。所以,其实在DevOps建设团队的外部也须要通过虚构的组织和明确的领导模式来单干,防止资源节约和抵触。一个明确的建设体系和组织,至关重要,本人都是涣散的,怎么整合数据,怎么压服研发团队? 9)标准在哪里?防止停留在“纸面上”的标准代码库标准:包含分支和标签命名标准、分支治理标准(治理流程、hotfix流程、分支策略)、代码提交标准。以分支开发、骨干公布为例,治理流程标准中会波及代码库筹备、开发集成、验收测试、公布环节,每个分支的用处,每个环节中波及的角色,角色的操作流程都有具体标准。 CICD流程标准:命名标准:组件、介质仓库、构建定义、构建产物别名、公布定义。流水线标准:开发流水线、用户验收测试流水线及回滚流水线、公布流水线及回滚流水线、hotfix流水线。通过制订流水线的标准,造成不同类型我的项目的CICD流程模版,能够作为组织级标准进行审计。 除了以上标准外,还包含项目管理标准,麻利开发标准,测试治理标准,平安标准,公布标准,版本号标准等等。有的组织可能之前有了相似的标准,然而大多都停留在“纸面上”,理论落地很难,除非在研发过程有严格的卡点审核,否则团队很难落地执行。另一方面,标准后行很有必要,否则自研平台的开发就会造成无水之源,无本之木。标准的建设,须要联合企业理论状况,须要流程制订部门和研发团队独特制订,并且基于能够落地的形式,而不是空口实践和动作,来到工具的规范,标准几乎就是“白纸一张”! 10) 基于现状进行自研平台的开发,防止脱离团队理论对于流水线的定义和设计,须要思考客户的环境规划和网络策略。个别状况下,会设计和定义开发测试流水线、用户验收测试流水线、公布流水线这些惯例流水线,对应开发测试环境、用户验收环境、生产环境。开发测试流水线通过屡次执行,业务零碎造成稳固版本,交付到用户验收测试流水线,通过用户验收测试之后,再转到公布流水线进行公布上线;这个过程也设计到代码分支和标签的保护。 有的客户,阶段交付物是某个版本的工件介质,并且介质库能够多环境共享或者同步,这种状况下须要在开发测试流水线中设计构建环节和部署环节,在用户验收流水线和公布流水线不须要构建环节,因为交付介质像下一个环境同步即可。流水线设计如下:有的客户阶段交付物是代码,且各个环境有网络策略限度。这种类型的流水线,不同环境须要依据对应的代码分支或标签将介质构建进去,而后再进行部署。这里想强调的是,自研平台的开发不能来到业务研发团队的理论场景,必须和他们进行沟通交流,如果单靠借鉴业界的通用流程,很可能最初会发现,团队须要的基本不是这样的。即不要来到业务场景去开发平台,须要和业务团队进行严密的沟通和面谈,理解他们的需要,这也须要投入人力去梳理造成计划。如图所示,通过团队沟通造成交付流水线流程图,能够清晰的让单方达成共识。 11) 工具并不能解决问题, 必须依附残缺的DevOps体系立项:务必获取高层领导的反对与推动;指标:分阶段建设,明确年度指标,不宜贪大求全;组织:联合建设指标和现状,明确牵头部门,关注跨部门协同的难点;落地:规定束缚,可先研究、线下验证,再线上束缚、逐渐调整,且不宜初期就设置过于粗疏的规约;文化:切勿重零碎、轻文化,肯定要关注人文关心,器重组织文化建设,保障一个绝对温和的实际环境。残缺的 DevOps 体系建设,不仅仅是新工具、新规定,更是新文化,而且在文化改革打头阵的状况下,很可能获得更好、更长久的成绩,让组织具备自我纠偏的能力。企业的DevOps实际相对不是自研一套平台或者买一套商用平台,不足标准指引,团队赋能和培训,指标疏导等因素会举步维艰,这真的不是夸大,而是来自一线的实在感触。这也是为什么DevOps落地如此之难的起因!工具拉通,以平台为抓手,标准为领导,度量为方向,推动落地 12) 建设虚构的工程效力改良组织如图所示,右边须要建设虚构的研发效力组织,包含项目管理,平台研发,经营推广,标准审计,麻利教练,工程教练等诸多部门和角色,右侧对接业务开发团队,须要建设定期沟通机制,理解团队平台需要,同时提供最佳实际的培训和赋能。于此同时,度量指标联合标准一起制订,帮忙团队继续改良。 13) 度量-效力晋升永远绕不开的痛度量,这是研发效力永恒的话题。抛开度量的业务和技术自身,探讨度量的所见所闻和所思。企业管理者之所以关注效力晋升,指标就是心愿能看到度量数据,这是他们的刚需,其实并不是研发团队的刚需。如果真的把度量数据曝露在领导背后,研发团队的一举一动就摆在明面上了,所有以数据谈话。这就是度量的两面性的本源。 那么在做自研效力平台时候,如何思考度量的建设呢?我把之前发问专家的回复贴出来。 “如果做DevOps自研平台,什么时候引入度量适合?”无论是用devops工具平台主动收集度量数据,还是通过手工收集,正当的度量越早引入越好。因为度量数据的收集,须要经验一个较长的过程,能力看到供改良参考的数据。“可不可以边做,边设计指标收单点部分指标数据?”能够,而且DevOps自研平台,也应该是小步迭代地实现度量数据的收集。不要一上来就设计和实现大批量的度量数据。因为大批量交付度量指标,会让这批度量指标很晚能力交付,不利于尽早度量。“如果问题很显著了,有必要做度量,去裸露问题吗?感觉既然很显著了,就先改良解决问题”问题很显著了,也有必要做度量。一方面能通过度量数据,让领导和团队看到现状。另一方面,在改良问题期间,收集度量数据所造成的变化趋势,能让大家看到改良动作是否能有所功效。目前,真正进行外部度量体系的建设,快被搞解体了。后期的根底数据筹备相当重要,业务之简单远超工程畛域,前面再独自写文章聊。 未完待续先写这些,前面遇到更多的坑,再分享进去。

June 12, 2022 · 1 min · jiezi

关于devops:clientgo-gin的简单整合六listwatch二关于Rs与Pod以及Deployment的完善

背景:后面实现了client-go gin的简略整合五-list-watch deployment利用,进一步把 Rs Pod也实现list-watch!后面少写的: /src/core/deployment_init.go//更新func (depmap *DeploymentMap) Update(dep *v1.Deployment) error { if list, ok := depmap.data.Load(dep.Namespace); ok { for i, range_dep := range list.([]*v1.Deployment) { if range_dep.Name == dep.Name { list.([]*v1.Deployment)[i] = dep depmap.data.Store(dep.Namespace, list) } } return nil } return fmt.Errorf("deployment-%s not found", dep.Name)}遗记了Store数据....depmap.data.Store(dep.Namespace, list)! client-go gin的简略整合六-list-watch二(对于Rs与Pod)对于Rs list-watch/src/core/rs_init.go package coreimport ( "errors" "fmt" v1 "k8s.io/api/apps/v1" "log" "sync")type RSMapStruct struct { Data sync.Map}func (rsmap *RSMapStruct) Add(rs *v1.ReplicaSet) { key := rs.Namespace if value, ok := rsmap.Data.Load(key); ok { value = append(value.([]*v1.ReplicaSet), rs) rsmap.Data.Store(key, value) } else { rsmap.Data.Store(key, []*v1.ReplicaSet{rs}) }}func (rsmap *RSMapStruct) Update(rs *v1.ReplicaSet) error { key := rs.Namespace if value, ok := rsmap.Data.Load(key); ok { for index, r := range value.([]*v1.ReplicaSet) { if r.Name == rs.Name { value.([]*v1.ReplicaSet)[index] = rs rsmap.Data.Store(key, value) return nil } } } return fmt.Errorf("rs-%s not found", rs.Name)}func (rsmap *RSMapStruct) Delete(rs *v1.ReplicaSet) { key := rs.Namespace if value, ok := rsmap.Data.Load(key); ok { for index, r := range value.([]*v1.ReplicaSet) { if r.Name == rs.Name { value = append(value.([]*v1.ReplicaSet)[0:index], value.([]*v1.ReplicaSet)[index+1:]...) rsmap.Data.Store(key, value) return } } }}func (rsmap *RSMapStruct) ListByNS(ns string) ([]*v1.ReplicaSet, error) { if list, ok := rsmap.Data.Load(ns); ok { return list.([]*v1.ReplicaSet), nil } return nil, errors.New("rs record not found")}func (rsmap *RSMapStruct) GetRsLabelsByDeployment(deploy *v1.Deployment) ([]map[string]string, error) { rs, err := rsmap.ListByNS(deploy.Namespace) if err != nil { return nil, err } ret := make([]map[string]string, 0) for _, item := range rs { //if item.Annotations["deployment.kubernetes.io/revision"] != deploy.Annotations["deployment.kubernetes.io/revision"] { // continue //} for _, v := range item.OwnerReferences { if v.Name == deploy.Name { ret = append(ret, item.Labels) break } } } return ret, nil}type RSHandler struct {}func (rsmap *RSHandler) OnAdd(obj interface{}) { RSMap.Add(obj.(*v1.ReplicaSet))}func (rsmap *RSHandler) OnUpdate(oldObj interface{}, newObj interface{}) { err := RSMap.Update(newObj.(*v1.ReplicaSet)) if err != nil { log.Println(err) }}func (rsmap *RSHandler) OnDelete(obj interface{}) { RSMap.Delete(obj.(*v1.ReplicaSet))}var RSMap *RSMapStructfunc init() { RSMap = &RSMapStruct{}}对于Pod list-watch先写一个util办法(就为了判断两个label是否雷同!):/src/core/Util.go ...

June 10, 2022 · 8 min · jiezi

关于devops:Apache-Devlake-代码库导览

本文作者:abeizn GitHub 地址:https://github.com/abeizn Apache DevLake 是什么?研发数据散落在软件研发生命周期的不同阶段、不同工作流、不同 DevOps 工具中,且标准化水平低,导致效力数据难以留存、会集并转化为无效洞见。为了解决这一痛点,Apache DevLake 应运而生。Apache DevLake 是一款开源的研发数据平台,它通过提供自动化、一站式的数据收集、剖析以及可视化能力,帮忙研发团队更好地了解开发过程,开掘要害瓶颈与提效机会。 Apache DevLake架构概述<center>Apache DevLake 架构图</center><br/> Config UI: 人如其名,配置的可视化,其次要承载 Apache DevLake 的配置工作。通过 Config UI,用户能够建设数据源连贯,并实现数据的收集范畴,局部数据的转换规则,以及收集频率等工作。Api Sever:Apache DevLake 的 Api 接口,是前端调用后端数据的通道。Runner:Apache DevLake 运行的底层撑持机制。Plugins:具体执行的插件业务,次要承载 Apache DevLake 的后端数据收集、扩大和转换的工作。除dbt插件外的插件产出 Apache DevLake 的预置数据,预置数据次要包含三层; raw layer:负责贮存最原始的 api response json。tool layer:依据 raw layer 提取出此插件所需的数据。domain layer:依据 tool layer 层形象出共性的数据,这些数据会被应用在 Grafana 图表中,用于多种研发指标的展现。RDBS: 关系型数据库。目前 Apache DavLake 反对 MySQL 和 PostgreSQL,前期还会持续反对更多的数据库。Grafana Dashboards: 其次要承载 Apache DevLake 的前端展现工作。依据 Apache DevLake 收集的数据,通过 sql语句来生成团队须要的交付效率、品质、老本、能力等各种研发效力指标。目录构造Tree├── api│   ├── blueprints│   ├── docs│   ├── domainlayer│   ├── ping│   ├── pipelines│   ├── push│   ├── shared│   ├── task│   └── version├── config├── config-ui├── devops│   └── lake-builder├── e2e├── errors├── grafana│   ├── _archive│   ├── dashboards│   ├── img│   └── provisioning│   ├── dashboards│   └── datasources├── img├── logger├── logs├── migration├── models│   ├── common│   ├── domainlayer│   │   ├── code│   │   ├── crossdomain│   │   ├── devops│   │   ├── didgen│   │   ├── ticket│   │   └── user│   └── migrationscripts│   └── archived├── plugins│   ├── ae│   │   ├── api│   │   ├── models│   │   │   └── migrationscripts│   │   │   └── archived│   │   └── tasks│   ├── core│   ├── dbt│   │   └── tasks│   ├── feishu│   │   ├── apimodels│   │   ├── models│   │   │   └── migrationscripts│   │   │   └── archived│   │   └── tasks│   ├── gitextractor│   │   ├── models│   │   ├── parser│   │   ├── store│   │   └── tasks│   ├── github│   │   ├── api│   │   ├── models│   │   │   └── migrationscripts│   │   │   └── archived│   │   ├── tasks│   │   └── utils│   ├── gitlab│   │   ├── api│   │   ├── e2e│   │   │   └── tables│   │   ├── impl│   │   ├── models│   │   │   └── migrationscripts│   │   │   └── archived│   │   └── tasks│   ├── helper│   ├── jenkins│   │   ├── api│   │   ├── models│   │   │   └── migrationscripts│   │   │   └── archived│   │   └── tasks│   ├── jira│   │   ├── api│   │   ├── models│   │   │   └── migrationscripts│   │   │   └── archived│   │   └── tasks│   │   └── apiv2models│   ├── refdiff│   │   ├── tasks│   │   └── utils│   └── tapd│   ├── api│   ├── models│   │   └── migrationscripts│   │   └── archived│   └── tasks├── releases│   ├── lake-v0.10.0│   ├── lake-v0.10.0-beta1│   ├── lake-v0.10.1│   ├── lake-v0.7.0│   ├── lake-v0.8.0│   └── lake-v0.9.0├── runner├── scripts├── services├── test│   ├── api│   │   └── task│   └── example├── testhelper├── utils├── version├── worker├── Dockerfile├── docker-compose.yml├── docker-compose-temporal.yml├── k8s-deploy.yaml├── Makefile└── .env.exemple 目录导览后端局部: ...

June 8, 2022 · 3 min · jiezi

关于devops:使用Sonar来优化您的基础架构代码

现在,越来越多的企业采纳基础架构即代码(Infrastructure as Code,简写为IaC)技术。IaC是一种通过代码(而非手动流程)来治理和配置基础架构的办法。通过应用IaC技术,企业能够不便地配置和治理云基础架构,实现敏捷性,同时也能够在开发的晚期阶段嵌入安全性,缩小被攻打的危险。然而,如果IaC使用不当,就会带来一些平安危险,从而引发数据泄露等问题。作为SonarQube受权合作伙伴,创实信息关注代码防护畛域,帮忙您晋升代码的平安防护。在本文中,您将找到如何解决IaC我的项目中的代码异味、谬误和破绽的办法,帮忙您编写洁净的代码。 全新的技术……雷同的挑战科技的平凡之处在于总会发明出有价值的新技术。尽管基础架构即代码(IaC)并不是全新的技术,但它依然给人一种眼前一亮的感觉,并且它的受欢迎水平还在飞升。对于首次接触这个概念的开发人员,以下的简短总结可供参考: 基础架构即代码(IaC)是通过机器可读的定义文件(而非物理硬件配置或基于GUI的配置工具)来治理和配置基础架构的过程。这些定义文件能够通过申明式(WHAT)或命令式(HOW)办法在版本控制系统(例如Git零碎)中进行保护。申明式办法定义了冀望的状态,零碎执行实现该冀望状态所需的操作。命令式办法定义了须要以适当的程序执行,以实现所需状态的特定命令。IaC工具侧重于应用申明式办法(例如AWS CDK、Terraform)。IaC的卓越之处在于为开发人员的可实现目标提供了一种全新的路径。这是一种功能强大的技术,可使开发人员和云平台工程师以更大的灵活性和独立性进行工作。 “仅有技术是不够的。”——史蒂夫·乔布斯(Steve Jobs)权限越大,责任就会越大。就如同源代码一样,IaC也可能存在谬误和破绽。这些可能对您的基础架构和企业名誉造成重大负面影响。 谁负责平安防护?这里提出了一个叫做独特责任模型的概念。平安防护是云服务提供商(例如Amazon Web Services (AWS)、Microsoft Azure或Google Cloud Platform (GCP))与客户独特承当的责任。在这种“共享模型”中,云服务提供商负责提供“云服务平安防护”。这意味着云服务提供商负责爱护传统服务的平安防护,包含物理主机防护、网络安全和虚拟化操作平安。 客户负责“恪守云端平安防护”,这意味着平台和资源配置均由您间接管制。当您启动云基础架构时,您就间接管制了操作环境,而与您是否应用服务器启动云基础架构无关。 但并非所有云开发人员都已意识到了这一点或曾经了解了这一点的重要性。轻微的谬误能够裸露很多问题。乐观的方面在于IaC只是代码工具,通过SonarSource,咱们获知了一些帮忙人们编写洁净且具备防护性代码的办法! 应用Sonar爱护您的IaC咱们在Sonar解决方案中增加了规定,用于检测IaC我的项目中的代码异味、谬误和破绽。如果您曾经在工作中应用IaC,或者只是想探索其价值,那么你可能正在开发云原生应用程序,而这正是Sonar真正大展身手的中央。通过应用Sonar,您能够查找并修复IaC中存在的问题,并且Sonar还能够扫描你的云原生应用程序中的源代码。无论是在后端运行的JavaScript还是作为微服务一部分的AWS Lambda函数,Sonar都能对品质和防护问题进行检测并帮忙你解决这些问题。 以下是通过IaC特定规定查看到的问题示例: Azure中具备辅助地位的作用域权限破绽 AWS中的身份验证破绽 咱们晓得人们并不总是应用繁多的云提供商进行部署,所以咱们有AWS、Azure和谷歌等平台的规定覆盖范围。咱们在IaC/云原生畛域才刚刚起步,咱们曾经增加了几十条规定,并且曾经为客户发明了很多价值。 轻松开始请拜访Sonarpedia查看CloudFormation和Terraform规定。 想要亲自体验SonarQube或试用SonarCloud,请分割SonarQube中国官网受权合作伙伴——创实信息 ,咱们提供SonarQube产品的征询、销售、 施行、培训及技术支持服务。 作者简介: 克林特·卡梅伦(CLINT CAMERON) SonarSource产品营销经理 本文转载自 创实信息

June 1, 2022 · 1 min · jiezi

关于devops:八大误区逐个击破担忧安全防护与合规性这可能是您对云最大的误

Hi!咱们是Atlassian寰球白金合作伙伴——龙智。咱们发现不少企业对是否要迁徙上云感到当机立断,少数状况下是因为尚未把握正确的信息,存在很多认知上的误区。咱们将Atlassian白皮书《突破迁徙上云的八个误区》的内容译制为易于浏览的中文系列文章。从平安与防备、云性能、云版vs.服务器版应用程序、变更治理、云端数据管理、管理员角色和职责、Atlassian云产品的定制以及企业可扩展性八个方面,帮忙您深刻理解云产品的世界。 依据官方消息,Atlassian服务器版产品(Jira, Confluence, Jira Service Management等)反对将于太平洋工夫 2024 年 2 月 15 日完结,但只有迁徙到云版或数据中心版产品,就能够持续取得反对。 对于心愿放弃自托管的企业客户来说,数据中心版是一个牢靠的、长期的抉择。 而对于全球化策略布局的公司,咱们建议您率先一步部署Atlassian云版产品,不仅能够领先体验上云的各种劣势,还能取得双重许可的优惠。 获取更多信息或最佳解决方案,立刻分割Atlassian寰球白金合作伙伴——龙智。 如果您正在思考迁徙到云,最关怀的问题之一可能就是平安防护。这并不是多数人的疑虑:数据表明承受考察中40%的IT经理感觉,防护性和合规性是从本地向云迁徙的最大顾虑之一。然而在曾经迁徙上云的企业中,高达 94% 的企业示意迁徙后安全性变得更好了,更不用说在利润、生产力、性能、可扩展性和翻新方面的增益了。 那么,在谈及云版安全性和防护性时,什么是误区,什么是假相?以下是咱们遇到的三个最常见的误区: 防备问题误区 1“本地部署比云更平安。”在典型的本地设置中,只需一次登录即可让您的团队进入零碎。只有应用正确的用户名和明码,就能通过您的平安护城河,失去他们须要的任何货色。 这听起来仿佛不错?但这是个问题。因为只须要一个居心叵测的人、一封网络钓鱼电子邮件、一次黑客攻击,您的所有外部数据、所有客户数据、 所有代码,您的整个零碎就会忽然变得软弱。 想要解决这个问题,能够应用“ Atlassian的零信赖”办法。零信赖措施将针对每一个用户和工具设置严格的安全性验证,而非依赖繁多安全性措施来爱护那个“一览无遗”的数据库。零碎将检查用户身份和拜访设施的凭证,并充当每个工具之间的平安关口。这意味着,如果黑客碰巧取得了一次登录的拜访权限,他们的毁坏行为将受到该登录的用户权限和工具的限度。 防备问题误区 2“我的团队比云供应商更优先思考防护问题。”问问您的外部开发人员是否把足够的精力投入在平安防护上?您可能会悲观,因为48%的开发人员说他们没有。更蹩脚的是,有52%的员工示意他们的老板基本没有工夫与他们会面,您的领导层甚至不晓得有这种防护上的脱节。 有了适合的云供应商,这种平安防护在轻轻降级的状况就不会产生。Atlassian将防护性视为重要的优先事项——通过了严格的测试、劫难修复打算、传输和动态加密等实际,以及补丁和更新的及时公布,保障您的云版本工具能始终平安运行。 不管您的规模或用户级别,每位客户都能够取得Atlassian的企业级防护。Atlassian曾经破费了数百万美元来确保它的安全性,并且示意这将继续作为重要的优先事项。这意味着那些在平安防护和其余问题上分身乏术的团队,当初能够自在地将工夫用于反对您的团队和改善外部零碎。 防备问题误区 3“我的团队还没有上云。”至2020年底,击溃公司平安防护案例中,有三分之一是通过业余IT人士所谓“影子IT”的工具攻打的,些工具并非由您的IT团队治理,因而无奈确保安全性。 这是一个相当惊人的数字——而且在很大水平上是能够预防的。员工之所以脱离您的IT团队应用了云工具,那是因为他们无奈在目前的零碎框架内取得所需的货色。他们转向云工具,因为它能进步生产力、速度、合作和后果。97%的业余IT人士示意,在应用本人喜爱的工具时工作效率更高。 如果您不提供这些工具,员工只好本人入手了。 均匀每个企业应用1,200个云应用程序,而其中 98%是影子IT。Gartner解释说:“首席信息官(CIO)们必须扭转他们的思维模式,从‘云是否平安?’转变为‘我是否在平安地应用云?’”。这不是一个是否应该应用云的问题,而是一个您的员工是否领有平安地应用云的工具的问题。 点击下方按钮,获取Atlassian白皮书《突破迁徙上云的八大误区》,突破对于迁徙上云的常见误区,做出最有利于企业的决策; 欢迎您立刻征询咱们(Atlassian寰球白金合作伙伴——龙智),理解最适宜您的产品版本抉择。 点击此处,获取收费白皮书 文章起源:本文编译摘录自Atlassian白皮书 《突破迁徙上云的八大误区》,有删改。

June 1, 2022 · 1 min · jiezi

关于devops:将虚幻引擎5与Perforce-Helix-Core集成使用吧

2022年4月5日,Epic Games官宣空幻引擎5正式版凋谢下载。 这是一个凋谢、先进的实时3D创作工具,以前所未有的自由度、保真度和灵活性,帮忙游戏开发者和各行各业的创作者创作新一代实时3D内容和体验,自2020年揭开神秘面纱之后始终受到极大的关注,置信当初曾经有不少人在应用它。 而应用空幻引擎会产生许多大文件,如何治理这些大文件成为许多使用者的首要难题。 作为DevSecOps解决方案提供商以及Perforce中国受权合作伙伴,龙智长期关注软件开发版本治理畛域,为游戏、汽车、金融、芯片等泛滥行业的客户提供版本管理工具和解决方案,咱们将在本文中为您提供答案,并附上具体教程与步骤,帮忙您轻松搞定在游戏开发中的大文件治理、版本治理问题。 更多对于Perforce Helix Core和版本控制的信息,欢送征询Perforce中国受权合作伙伴——龙智。 什么是空幻引擎5 (UE5)?空幻引擎5(UE5)是一款由Epic Games开发的最新版游戏引擎和3D创作工具。自1998年以来,空幻引擎就始终在为游戏行业赋能,而且许多行业都在应用它来实时创作真切如照片的视觉效果和动画。 空幻引擎用来做什么?空幻引擎最罕用于制作电子游戏,它也用于做动画、交互式体验和一些3D特效。 空幻引擎次要用于游戏开发,从独立工作室到3A游戏公司都在应用。除了游戏开发畛域外,它在媒体和娱乐畛域的虚构制作中也很受欢迎。 各行各业须要制作高级视觉效果的团队都在应用空幻引擎,它能够被用来制作,例如: 数字映射(Digital twins)产品演示 (Product Demos)交互式 VR 培训 (Interactive VR Trainings)虚拟现实 (Virtual reality)混合事实 (Mixed reality)扩大事实 (Extended reality)如何应用空幻引擎5上面是如何应用空幻引擎5的疾速概览: 1. 装置UE5。 2. 集成UE5+源代码管制工具,例如Perforce Helix Core。 请参阅咱们的指南:如何配置Perforce Helix Core+游戏引擎UE5的收费源代码管制 空幻引擎5源代码管制:为什么空幻引擎须要 SCM空幻引擎在游戏开发和AR/VR团队中备受欢送。这是因为它是发明沉迷式体验的绝佳引擎。但同时,它会带来问题:许多大型文件。为了治理这些大型文件,您的团队须要源代码管制。 许多应用空幻引擎的团队同时应用Perforce版本控制填写——Helix Core。空幻引擎的开发商Epic Games,激励应用空幻引擎的第三方开发商同时应用 Perforce Helix Core。这两个工具是严密集成的,可帮忙您的团队在我的项目上更无效地协同工作。这种集成将通过空幻编辑器进行。 教程:如何集成应用Perforce版本控制和空幻引擎5无关如何通过Perforce Helix Core版本控制应用空幻引擎5等游戏引擎的残缺阐明,请参阅咱们的指南:如何配置Helix Core+游戏引擎。持续浏览,您能疾速理解这些步骤以及新的UE5源代码管制性能。 Unreal还提供了在空幻引擎中开始应用Perforce Helix Core的指南。 装置空幻引擎首先,您须要装置空幻引擎。最新版本空幻引擎5已于2022年4月上市。 从 Perforce 下载 Helix Core接下来,您须要下载Perforce Helix Core。Perforce Helix Core最多可供5位用户收费应用。 如果您已有Helix Core服务器,请下载最新版本的Helix Visual客户端 (P4V)。 对于下载及装置的问题,或申请试用,请征询Perforce中国受权合作伙伴——龙智。 ...

June 1, 2022 · 1 min · jiezi

关于devops:将不费吹灰之力成为卷王的秘籍传授于你

作为一名一般打工人,如何开启卷王之路,在公司怀才不遇!在疫情叠加内卷buff的时代 很多人变得十分焦虑 不得不被迫成为一棵卷心菜 但为何同为打工人 你在埋头苦干,共事早已上班吃饭 你不禁陷入深思: 难道是我的内卷形式出了什么问题…… 让咱们一起走进《卷王背地的机密》: 原来,你和工作效率极高的“卷王”传说 差的只是一个提高效率的辅助工具! Jira与飞书无缝连接,满足国内用户挪动办公需要一般打工人: 为了上Jira,赶地铁回家也不得不关上电脑。 超神卷王: 应用Jira飞书插件(FeiShu for Jira),无论身处何地,掏出手机就能拜访Jira。从容而优雅~ Atlassian寰球白金合作伙伴——龙智研发的Jira飞书插件(FeiShu for Jira)无缝连接Jira与飞书,用户无需另外下载APP,绑定账号后,即可通过飞书工作台中的“Jira服务”间接拜访Jira,并显示问题列表。还反对扫码登录,更加简便快捷。 随时随地发动问题、跟踪问题、评论互动一般打工人: 突发紧急事件!在Jira上更新了问题,必须坐等Boss反馈,守在电脑前,迟迟不能上班。 超神卷王: 用手机就能快捷创立Jira问题、录入详细信息,Boss在评论里反馈?随时就能编辑、批改、回复! Jira飞书插件(FeiShu for Jira)反对飞书端快捷创立问题、录入问题详细信息。可编辑问题,批改问题具体信息,并反对飞书端评论问题,及时互动反馈。反对通过不同形式(按我的项目、设定筛选器)查看,还可输出关键字检索问题和我的项目,“问题”不再是问题。 实时推送问题音讯一般打工人: 辛辛苦苦提交了问题,还要去一个个告诉相干人员,就怕他们错过,切实善意累。 超神卷王: 无论创立问题,还是更新问题、评论问题,音讯都主动推送同步,轻松让所有相干人员都在同个频道。 Jira飞书插件(FeiShu for Jira)反对问题最新信息的推送,问题创立、评论信息以及问题更新都会实时推送到手机上,并反对设定被告诉人员,再也不必放心问题或人员脱漏, 团队轻松拧成一股绳。 反对飞书端用户个性化设置一般打工人: 关上电脑看Jira,吞没在各种问题里,基本没法抓重点。 超神卷王: 把报告和问题都放在Jira飞书插件的首页,一关上手机就能迅速解决好重要、紧急事务,播种共事艳羡的眼神。 应用Jira飞书插件(FeiShu for Jira),用户可依据须要个性化设置首页显示内容。还反对用户头像更改、推送音讯的开启/敞开设定、挪动端账号解绑等,挪动端办公更加轻松。 灵便后盾配置一般的IT: 简略的飞书简略的用,用最掉队的操作,带来无尽的折磨。结果就是共事们在飞书、Jira以及各种软件应用之间昏头昏脑。 卷王型IT: 在Jira后盾全局轻松配置,集成飞书与Jira,让全公司“卷”得更轻松,Boss好感度爆了,共事示意爱了~ Jira飞书插件(FeiShu for Jira)为运维人员提供飞书端利用设定、用户绑定、告诉计划设定、登录形式等后盾配置管理性能; 还能对容许账号密码登录、音讯告诉和连贯私有化部署的飞书域名进行全局配置,一经设定,所有用户都将享受此性能。利用高效的工具,让全公司轻松续写“卷王”传说。 龙智开发者说:“目前,飞书曾经是应用频率十分高的利用。咱们开发的Jira飞书插件借助了飞书机器人的性能,让飞书用户更加便捷地应用Jira,进一步提高办公效率。能让你成为’卷王’的不只一个插件,为不便Jira用户挪动办公,咱们还推出了Jira企业微信插件、Jira钉钉插件,欢送征询试用,轻松进步你的’卷力’”。

June 1, 2022 · 1 min · jiezi

关于devops:运维工程师必备技能网络排错思路讲解

首先,真心心愿本文能够给须要进行网络排错的敌人带来实际性的帮忙, 也心愿能够急躁看上来。 网络排错对于网络工程师或运维人员甚至对很多人(搞IT的敌人们)都非常重要,因而晓得网络排错的一个具体流程以及流程中每一步的原理就显得十分重要了,当网络呈现问题时,咱们就能够迅速排查出网络问题所在,从而疾速解决网络问题。 这 里要说的网络排错,应该是适宜大部分对网络有肯定理解的人员的,其实对于网络排错的办法,网络上曾经有大部分的材料,但我集体感觉太多都只是停留在文字层 面上的,对其中波及的一些基本原理并没有提及,因而实用性并不大,这里心愿写出一篇图文并茂并有肯定技术性的网络排错文章给大家,让大家真正把握一套零碎 的网络排错办法。 本文的一个思路: 一、网络排错的必备条件二、网络排错的基本思路三、网络排错具体步骤四、最初重要阐明 一、网络排错的必备条件为什么还要必备条件?因为这里所讲的网络排错并不仅仅是停留在某一个小小命令的应用上,而是一套零碎的办法,如果没有这些条件,我真的不能保障上面讲的这些你能够听得懂,并且能使用到理论当中,所以还是先看看这些根底的条件吧。 1.相熟OSI七层模型与TCP/IP协定栈 这应该是网络排错要晓得的最根本的常识了。 无论是OSI七层模型还是DoD模型,都是用来形容网络通信的一个过程,以让咱们对网络数据的发送和接管有一个大抵的过程。OSI七层模型对应OSI七层模型的协定,DoD模型对应DoD模型的协定,也就是TCP/IP协定栈。 TCP/IP 协定栈外面的协定就显得非常重要了,比方DNS、TCP、UDP、IP、ICMP、ARP,这些最根本的应该得晓得吧,咱们不须要有像《TCP/IP协定 栈》中说得的那么细,但至多,对于这些协定的基本功能咱们是必须得要晓得的,我想这些就不是我一两名能够说分明的了,还是那句话,本人百度一下吧。 2.理解网络通信的根底设施和其对应的OSI档次 像 交换机、三层交换机、路由器、防火墙这些最根本的网络设备应该要有些理解,尤其是它们对应的OSI档次以及作用,比方一般的二层交换机对应OSI七层模型 中的数据链路层,它能够断绝抵触域,同时可能通过虚构局域网技术(VLAN)来断绝播送域,二层交换机通过二层地址即MAC地址来实现数据帧的转发;再比 如路由器,它对应网络层,能够提供路由寻址的性能等等。 兴许并不需要理解得那么细,但大略的一个过程我想还是应该要晓得的。 3.理解中小型企业网络的根本架构 其实就是要晓得下面所说的那些网络设备个别是怎么连接起来的,如果在理论环境中排错,应该就要晓得以后网络的一个根本架构状况。 这里简略提一下,个别中小型企业网络的根本架构都是这样的:接入层--汇聚层--核心层--网络进口。 上面给个图: 如果网络环境比拟宏大,汇聚层和核心层都会有,像这里的话,就间接没有汇聚层,不过思维是一样的。上面讲的排错其实都是针对用户PC来阐明的,事实上,数据中心中的网络排错也是相似的。不论网络环境如许简单,其实简化下来跟这个都是差不多的。4.晓得罕用的网络排错命令 如果用户应用的是Windows操作系统,那么上面的这些命令就很重要了: 如果应用的是Linux操作系统,那么也有对应的相干命令。其实说到底就是要相熟你所应用的设施,当然,在理论网络排错的过程中,如果只是为了测试网络通信是否失常,你能够把你本人相熟的设施换上操作。 5.分明晓得网络排错的一个重要准则 网络排错,不就是要判断网络哪里出了问题,因而,你就必须要晓得数据的走向。 所以这个重要的准则是:关注数据的走向。 上面讲的网络排错思路其实就是通过追踪数据的走向来一步步放大网络故障点的,因而,时刻记住这一点十分十分重要!这也是为什么下面须要让你理解中小型企业网络的根本架构了。 二、网络排错的基本思路基本思路如下,这跟网上的大多数人写的应该是差不多的。 (1)查看物理链路是否有问题 (2)查看本机IP地址、路由、DNS的设置是否有问题 (3)测试网关或路由器的通顺状况。先测网关而后再测路由器,一级一级地测试 (4)测试ping公网ip的通顺状况(平时要记几个内部IP) (5)测试DNS的通顺状况,能够间接ping网站地址 上面的第三局部,就针对下面的基本思路来进行具体的阐明。 三、网络排错具体步骤为了更好的讲述网络排错的过程和思路,假如咱们有上面的一个网络环境: (阐明:尽管是假如,但实际上该网络环境是博主通过GNS3联动虚拟机和实在网络架设起来的,所以是能够实在参考的)上面,咱们就以下面这个网络环境为例子,具体介绍咱们的网络排错思路,每一步要怎么做,每一步为什么要这样做以及这样做之后咱们能够失去什么信息,都会做一个阐明。(1)查看物理链路是否有问题 这一步是我集体认为在做网络排错时必须要做的第一步!常常会听敌人说,领导的电脑上不了网,须要过来排错,搞了老半天,还发现不了问题,最初在几经失望之时,居然发现网线都没接上电脑。这就真的是喜剧了,节约了很多工夫不说,这样的网络排错思路原本就是有谬误的。 因为兴许不是每个人都能够去机房查看交换机的接线状况,所以这一步,咱们排查的重点范畴就应该放在如上面图所示的中央:在这一步,上面几点是须要留神排查的:1.确认电脑自身的网卡有没有问题 2.确认接的网线有没有问题 3.本机所连贯的交换机(如果能够去机房查看的话) 如果下面这几点排查都没有问题了,那么就是该网络环境中的其余设施问题了。这一范畴的排查绝对比较简单,因为只波及到物理链路的连贯问题。 对于这种测试,能够思考应用测线器,但集体的倡议是,拿一台配置正确的笔记本来做测试也未尝不可。 (2)查看本机IP地址、路由、DNS的设置是否有问题 下面第一步,物理链路的排查没有问题了,也就是说,电脑接上网线之后,电脑有有反馈了,能够辨认,然而网络还是不通,来到这一步,就应该先把留神的范畴放在电脑的设置下面了。 这上步,咱们关注的重点是: 1.IP地址设置 如果采纳的是DHCP主动获取的办法,那么这时候只须要看本人本机的设置上有没有开启主动获取IP的设置以及有没有开启相干的服务; 如果用的是动态IP,那么就必须要留神IP地址的填写有没有错(个别网络管理人员给的)、IP地址的子网掩码有没有问题(这很重要,对于动态IP,很多人在这里设置谬误,倡议是,最好把IP地址、VLSM这方面的常识学一下)。 个别能够用上面的命令查看: 相干的设置能够在本人的计算机环境下面查看了。 2.路由设置 对于服务器、PC,个别是指默认网关的设置了;对于路由器自身或三层交换机,那就是动态路由或动静路由的设置问题了。 3.DNS设置 次要是要确保所设置的DNS服务器地址到底有没有提供域名解析服务或者是否呈现了故障,至于如何判断,前面会给出办法,这里关注的是,你得设置一个正确的DNS服务器地址或能够主动获取。在windows下面你能够通过上面的命令查看: (3)测试网关或路由器的通顺状况。先测网关而后再测路由器,一级一级地测试 在下面的网络环境中,在网络通的状况下,咱们在电脑上应用命令tracert -d命令,会失去上面的后果: 通过这个测试后果,咱们能够分明地晓得电脑在拜访互联网时,数据的走向状况:依据这个数据走向,咱们就能够失去一个重要的思路,就是依据数据走向来检测网络的通顺状况!因而,咱们能够分两步:1.先测试电脑到网关192.168.2.254的通顺状况咱们能够在本人的电脑上本人ping网关的地址,看是否有响应:个别这样的判断办法是比拟快的,但有时候,无论怎样ping都不能,那么则可能有以下的几种状况: a.网关设施做了禁止ping的设置 b.网关接口或网关设施呈现故障 对于a,个别很少会在这些设施在做ping的限度操作,因为目前很网络设备如路由器或交换机的监控,都是通过ping操作来实现的。ping通192.168.2.254网关后,再ping一下172.16.13.1以确认电脑到整个网关设施都没有问题。 对于ping不通的时候,我集体还倡议在电脑上执行如下操作: ...

May 31, 2022 · 1 min · jiezi

关于devops:物联网时代如何保障嵌入式系统安全

对于嵌入式零碎中的软件平安和防备,你须要晓得的技术与以往任何时候相比都更加蓬勃发展,每天都会为之前无奈设想的工作发明出新产品及新性能。这些翻新畛域不再局限于挪动应用程序和计算机,而是集中于嵌入式零碎和物联网(IoT)设施,并且曾经在咱们的日常生活中失去宽泛遍及。 嵌入式零碎和物联网(IoT)设施简直能够为所有载体运行软件,包含婴儿监控器、扬声器、健身追踪器、平安摄像头、恒温器和汽车等。 对于这种数字化世界,身为建筑师、麻省理工学院传授和作家的 Nicholas Negroponte 示意:“就如同空气和饮用水个别,人们对数字化生存曾经高度适应,适应到遗记它们的存在,但一旦短少这些人们就会莫衷一是。”依据 Nicholas Negroponte 的观点,人们曾经被数字技术突围并司空见惯,甚至都留神不到数字技术的存在,但我想补充一点,即数字技术也存在着安全隐患并有可能带来平安和防备问题。 咱们所晓得的物联网设施(包含嵌入式零碎)具备通过互联网连贯的处理器、传感器和其余性能而实现的。人们所谈及的嵌入式零碎,更多的时候指的是在更大容量的数字零碎、机械系统或电子系统中具备专用性能的处理器。嵌入式零碎能够是物联网设施的固件,也能够是汽车、机器人、信用卡读卡器、移动电话、小工具、网络设备、医疗设施或任何载体的电子管制单元(ecu)。 为什么 C 语言和 C ++ 对于嵌入式零碎的软件平安和防备来说很重要?因为受限于老本规模,嵌入式零碎中的软件在解决、内存和电源方面的计算资源无限。因为对轻量级软件的需要,像 C 语言和 C++ 这样的编程语言在嵌入式零碎中占具主导地位,就像它们在云计算中运行在少数服务器上的Linux内核上一样。尽管 C++ 比 C 语言须要更多的计算资源,但通过利用更弱小的微处理器使得 C++ 成为全世界数百万嵌入式零碎的首选语言。 其余编程语言如 Python 也可用于嵌入式零碎,但 C 语言和 C++ 是次要的抉择语言。还有一种嵌入式 C++ (EC++),它是 C++语言的一个子集,它能够在残缺 C++ 语言的次要性能的根底上提供更大容量的空间和更高的速度。现今的微处理器能够搭载 C++ 编译器,这使得为嵌入式零碎编写代码更加轻松。 嵌入式零碎的编码不同于其余类型的应用程序。首先,您面临着资源限度,而后必须针对容错性能、实时性能、可靠性以及稳固运行性能进行设计。但更重要的一点是,必须保障代码具备安全性和防备性,这一点通过嵌入式零碎和物联网设施所利用的医疗保健和制药行业,或汽车和航空航天行业等畛域就能领会失去。如果这种技术存在缺点,不仅会引起关注,更多的是会引发平安和防备的问题。 为什么动态剖析对于嵌入式零碎的软件平安和防备来说很重要?动态剖析工具是可能确保源代码无破绽和缺点的重要工具之一。动态剖析也被称为动态应用程序平安测试,或SAST,能够扫描包含嵌入式零碎和物联网代码的应用程序源代码。高度专业化的代码扫描基于相应的编程语言和所应用的框架来查找特定的缺点。动态剖析工具如Perforce Helix QAC 和 Klocwork 也会与报告代码是否合乎编码标准。 动态剖析工具使开发和平安团队可能剖析数以千计甚至高达数百万行的代码。他们查看代码存在的缺点,并依据规定和策略执行编码标准。最重要的是,利用动态剖析工具曾经成为软件开发生命周期中不可短少的一部分,并且在每次代码更改或在新版本公布之前,利用动态剖析工具已成为定期在源代码上运行的一个必要步骤。 随着咱们被以嵌入式零碎和物联网模式呈现的数字技术所突围,越来越凸显平安和防备的重要性,特地是在跨行业的要害工作性能方面。通过利用动态剖析工具发现平安和防备缺点,能够避免大规模生产存在缺点的设施,并能无效节俭资金老本和保障企业名誉。 嵌入式设施的防备性次要是指缩小破绽数量的性能。安全漏洞的重大水平各不相同,高度重大的破绽示意重大破绽被利用的危险更高。无论将软件应用在何处,所有软件简直都存在几种常见的破绽。例如,近程代码执行和跨站点脚本破绽。在嵌入式零碎和物联网设施中,少数破绽与内存缓冲区溢出、资源透露、不适当的访问控制、明码问题和代码注入无关。这些破绽是通过动态剖析工具扫描嵌入式零碎而发现的一些最为常见的嵌入式安全漏洞。 为什么编码标准对嵌入式零碎的平安和防备来说很重要?如前所述,C语言和C++次要利用于嵌入式零碎。多年以来,企业曾经意识到所有代码的平安和防备的重要性,特地是对于嵌入式设施中的C语言和C++,在这些设施中,利用失败的代价可能并不仅仅是经济方面的代价。随着工夫的推移,曾经创立并改良了编码标准,以帮忙进步软件的防备性、可移植性、可靠性和可维护性。通过利用动态剖析工具,除可搜寻源代码中的缺点和破绽之外,还能够利用编码标准中陈说的规定和倡议,这对于须要验证是否合乎行业标准的企业十分重要。嵌入式零碎的常见编码标准包含MISRA、AUTOSAR和CERT。 还有许多性能平安(FuSa)规范,如ISO 21434、ISO 26262、IEC 61508、ISO 13849和IEC 62061规范,专门针对汽车和制作等不同行业的嵌入式零碎。 为嵌入式零碎编码,遵循编码标准,并将动态剖析作为软件开发生命周期的一部分,将使咱们的数字世界更加平安。如前所述,“就像空气和饮用水一样,只有在未进行数字化利用时才会引起留神”,并且是在安全性受到破坏的状况下。 作者简介: 本文作者为哈维尔·佩雷斯(Javier Perez),Perforce软件开源和平安首席宣传员。哈维尔对技术和开源软件充满热情,他负责开源和应用程序平安组合的技术思维领导以及宣传。 哈维尔在利用开发、开源、云计算、利用平安、人工智能、SaaS和挪动畛域领有20余年的丰盛教训,常常加入世界各地的行业流动并发言。哈维尔领有计算机系统荣誉学位和工商管理硕士学位。 文章起源:https://bit.ly/3Nts4rQ

May 25, 2022 · 1 min · jiezi

关于devops:一文了解游戏美术开发流程以及可能遇到的问题

想理解典型的游戏资产开发工作流吗?一个团队的游戏美术流程取决于几个因素,包含游戏开发工作室类型、正在开发的游戏类型和开发团队成员的数量等。持续往下浏览,你能理解游戏美术开发流程、所应用的工具,以及可能呈现的问题。 什么是游戏资产工作流?游戏资产工作流是指开发电子游戏资产的工作阶段。游戏资产是指电子游戏的任何内容,包含角色、声音、动画、纹理或对象等。 游戏资产工作流中应用的工具游戏美术开发应用的工具包含: 美术设计程序:Photoshop等工具用于创立概念艺术、纹理等。3D建模程序:这些工具用于创立游戏资源的3D外观。3D建模程序的示例包含Maya、3DS Max Design、Modo和Zbrush。游戏资产管理软件:这些工具用于对资产进行存储、治理和搜寻等操作,从而最大限度地反复利用游戏资产。如何创立游戏资产?游戏资产工作流通常如下: 概念阶段 第一个阶段是概念阶段,即游戏美术人员依据所提供的形容要求对游戏设计进行构思。这个阶段从疾速绘制草图或建模开始,以决定资产的个别特色,并始终到创立资产的具体阐明。这须要通过游戏美术人员和我的项目开发领导层之间重复进行探讨,从而确定失去整体团队成员一致同意的设计产品。如果设计工作室将概念艺术进行外包解决,则上述过程的确定工夫可能会更加漫长。 雕刻阶段 该阶段是指3D建模过程的终点。首先在3D建模程序(如Maya或Blender)中对资源进行初步雕刻。在此基础之上,可能须要将游戏资产向我的项目开发领导层上报并在取得批准后能力持续进行下一步骤。在总体形态或模式设计取得批准后,开始雕刻设计对象的细节,而后创立一个高多边形(多边形)网格和一个低多边形网格,并在上述网格模型中提取纹理坐标。 UV映射阶段 该阶段是指在低多边形网格中提取纹理坐标的阶段。 烘焙和纹理阶段 在该阶段,高多边形模型的细节信息被转换成低多边形模型的细节信息,而后通过增加色彩和其余细节信息,对低多边形模型进行纹理渲染解决,使其从雕刻构造变成形状更为真切的对象。 灯光安排与编辑阶段 在实现上述步骤之后,将会上传模型和纹理信息至编辑器,在编辑器中能够利用灯光照明性能,使设计对象形状看起来更为真切。在此阶段,团队能够通过利用游戏资产管理软件将游戏资产增加至团队的资产库中。 游戏资产我的项目开发工作流中的常见问题在个别的游戏资产我的项目开发工作流程中,有很多须要进行重复确认的工作。在此过程中,我的项目开发领导层将提供领导,而后美术依据领导信息绘制草图并将其返回领导层供审核,之后再获取更多反馈信息,直至最初确定游戏资产。这些审查和修改过程可能带来一些问题: 发送游戏资产工夫过长 很多团队通过电子邮件、其余音讯服务或文件传输工具相互发送游戏资产。游戏资产文件往往是容量十分大的二进制文件,因而以这种形式发送往往须要期待很长时间,导致审阅和修改过程变缓。 资产平安防护有余 除了速度过慢之外,与将文件保留在只有团队成员能力拜访的平安地位相比,通过电子邮件或文件传输工具发送文件的安全性存在有余。设计作品是具备价值的,所以将其发送到存在着被截获、泄露或偷盗危险的中央是不平安的。 审查流程凌乱 开发团队通过电子邮件、其余音讯服务或文件传输工具相互发送游戏资产,这种形式也存在着令审核流程变得凌乱的可能性。通常状况下,开发团队均通过音讯或电子邮件发送无关游戏资产的反馈信息。我的项目开发领导层可能会向美术发送一份审查流程变更通知单,而后美术能力会对变更状况有清晰的理解。但当美术不分明变更内容时,则可能须要屡次变更审查流程从新告诉,从而造成审查流程的凌乱状况。 反复制作已存在的资产 游戏美术创作中的另一个常见问题是不得不从新制作曾经存在的资产。例如,我的项目开发领导层可能心愿从新应用美术在数月之前制作的一棵树,而美术可能须要查阅其电子邮件或文件材料能力找到这棵树。但在很多时候,美术无奈及时找到资产,所以不得不从新制作,而性能优异的游戏资产管理软件能够无效解决该类工夫节约问题。 来自 Perforce 的解决方案:Helix DAM(数字资产治理)Helix DAM 是一款专门为美术人员和开发人员打造的游戏资产管理软件,目前尚处于测试阶段,预计将于2022年冬季正式对外公布。该软件建设在 Perforce Helix Core 根底之上,作为一种版本控制系统,因其治理游戏的卓越能力而备受 19 家 Top20 AAA游戏开发工作室的青眼,因其可能以开发团队所需的速度治理大数据存储容量和性能简单的二进制文件。Helix DAM 以 Perforce 业界当先的版本控制工具为根底,为设计人员和开发人员简化了版本控制。它容许我的项目开发团队: 轻松存储、查找、应用和共享所有游戏资产。追踪每项游戏资产的演变轨迹,找到他们须要的游戏资产版本。提供无关游戏资产的背景反馈信息,从而放慢审查和订正流程。简化我的项目开发工作流,冲破开发瓶颈。将所有我的项目开发知识产权存储在一个平安、繁多的数据起源中。改良游戏资产我的项目开发工作流Perforce Helix Core是失去美术人员和开发人员双重青眼的版本控制工具。其残缺版本最多可供5个用户和20个工作区收费应用,当初分割 Perforce受权合作伙伴——龙智 开始收费试用。Helix DAM 预计将于2022年冬季推出,当初分割龙智,注册退出 Helix DAM(Beta)沙盒领先体验! 文章起源:https://bit.ly/3G7wKRu

May 25, 2022 · 1 min · jiezi

关于devops:Jira工时管理插件TimeWise-for-Jira线上安装量过百龙智自研产品赢得全球20个国家和地区的企业信赖

截至2022年5月19日,龙智针对Atlassian事务与我的项目追踪工具Jira研发的Jira工时治理插件——TimeWise for Jira 在Atlassian Marketplace中的装置量已超过100,这一数据还未包含大量离线装置的用户。 治理工时的利器——Jira工时治理插件(TimeWise for Jira)Jira工时治理插件是由Atlassian寰球白金合作伙伴——龙智自主研发的一款业余的我的项目及团队工夫治理Jira插件,能够轻松布局、记录和统计工时,能无效帮忙团队管理者随时把握我的项目进度以及治理我的项目团队。 该插件无缝连接Jira, 让用户可在Jira中通过多种形式正当布局工作,轻松注销工作工夫并提交领导审批;它还为管理者提供多种报表,让我的项目工夫治理可视化,轻松掌控进度及老本;团队经理可抉择不同我的项目、成员及团队,跨我的项目组建及治理团队高效便捷。除此之外,还有丰盛的扩大性能配置,帮忙企业真正实现精细化工时治理。 这款插件的设计充分考虑了国内用户需要和应用场景,例如,扩大了加班工时、限度工时、锁定工时以及补充和压缩统计工时等性能,除此之外,还可依据用户需求量身进行定制开发,匹配各种用户的应用场景。 寰球20个国家和地区的企业信赖龙智插件龙智是Atlassian寰球白金合作伙伴,提供Atlassian产品(Jira, Confluence, JSM等)的征询、销售、培训、施行部署、运维和技术支持服务,领有Atlassian寰球认证集体19名,其中两名是Atlassian认证专家。 龙智继续多年投入Atlassian插件的开发,更好地满足企业的需要,目前曾经有17款Atlassian插件在Marketplace上线,这些插件笼罩工时治理、组织架构治理、附件监控、到期日揭示、并行审批等畛域,能够帮忙企业实现工具集成、数据安全、数据分析、施行我的项目老本跟踪等性能。 其中,Jira工时治理插件(TimeWise for Jira )、Confluence水印插件(Watermark for Confuence)、Jira组织机构插件(OrgWise for Jira)、Jira工作流扩大和并行审批插件(WorkflowWise for Jira)等插件曾经博得了用户的宽泛好评。 龙智自研Atlassian系列插件已销往美国、英国、意大利、法国、匈牙利、土耳其等二十个国家和地区。 龙智是一家 DevSecOps 解决方案提供商,专一于该畛域近10年,集成平安研发经营一体化畛域的寰球支流工具,帮忙企业按时、平安、高速地公布软件和经营软件。除了Atlassian,龙智还是Perforce Helix Core, Helix QAC, Klocwork, WhiteSource, CloudBees等厂商的合作伙伴,提供相应产品的征询、销售、培训、运维和技术支持服务。

May 25, 2022 · 1 min · jiezi

关于devops:对-Jenkins-和-CloudBees-CI-的-UI-改进

CloudBees 最大的益处之一就是与 Jenkins 社区的密切合作。Jenkins 我的项目由泛滥贡献者开发的 1800 多个插件和组件组成。这些奉献加强了灵便的 Jenkins 架构,以反对 CI/CD 空间中的各种工具集成和性能。CloudBees 很荣幸与泛滥开源贡献者单干,最近,多数社区成员鼎力推动 Jenkins 用户界面和体验的现代化。CloudBees 采纳了这些 UI/UX 改良,这些能够在行将公布的 CloudBees CI 软件版本中看到。这是一些精彩片段:插件管理器 因为Jenkins的用户体验改良,插件管理器最近失去了改善。您会留神到改良的回滚、启用/禁用切换和卸载按钮。此外,插件版本干净利落地紧挨着插件名称,以及圆角和高分辨率,你会发现整个表格的变动。托管控制器托管控制器也有了新的外观。对圆角、高分辨率、可缩放图标和改良的工具提醒进行了全面改良,从而使整体体验更好。 这些 UI/UX 更改体现了 Jenkins 社区和 Jan Faracik、Alexander Brandes、Tim Jacomb 和 Daniel Beck 等成员的承诺和创造力。Benny Cheng、Zbynek Konecny、Feng-Yue Xue 也做出了重要的前端奉献,他们将失去真挚的认可。更不用说 CloudBees Gaia 团队的成员了,他们辛勤工作,进一步测试并将这些 Jenkins UI 更改合并到 CloudBees CI 产品中,以使客户受害。社区成员所做的奉献间接影响 CloudBees 的客户,正如您所看到的,是为了更好的倒退。在将来的版本中,会有越来越多的 UI 和 UX 改良。您能够在3月公布的 CloudBees CI中看到这些变动,6 月份还会有更多变动!如欲了解更多 CloudBees 相干音讯,或亲自体验 CloudBees ,请分割 Cloudbees受权合作伙伴——龙智 收费试用。

May 13, 2022 · 1 min · jiezi

关于devops:软件供应链安全基本点和四个关键最佳实践

什么是软件供应链平安?企业软件我的项目越来越趋于依附第三方和开源组件,该类组件由集体创立和保护,因为其与开发重要软件的组织无雇佣关系,所以第三方不肯定应用与软件开发组织雷同的安全策略。这点存在着肯定的平安危险,因为集体创立的安全策略与组织创立的安全策略二者之间存在着差别或不一致性,这可能会导致呈现易被忽视的软弱区域,从而给攻击者以可乘之机。 第三方软件组件次要来源于两个方向,一是间接来自于供应商,一是来自于集中的注册表和存储库,上述供应商和存储库形成了古代软件供应链。攻击者能够通过多种形式危害软件供应链平安,包含: 利用第三方组件中存在的谬误或破绽毁坏第三方开发环境并注入恶意代码创立歹意的虚伪组件供应链平安旨在预防、检测和缓解该类危险以及来自于组织以外第三方组件的任何其余危险。 什么是软件供应链攻打?依据美国国家标准与技术研究院(NIST)的定义,软件供应链攻打产生在“当网络威逼行为者渗透到软件供应商网络,并在供应商将软件交付至客户之前通过恶意代码毁坏该软件时。而后,被攻打的软件会毁坏供应商的客户数据或零碎。新交付的软件可能从一开始就受到侵害,或者可能通过补丁或修补程序等其余形式导致受损。在这些状况下,危害产生在补丁或修补程序进入客户网络之前。这些类型的攻打会影响受损软件的所有用户,并可能对要害基础设施和私营部门软件客户产生宽泛影响。” 通常,攻击者通过发现供应链中的薄弱环节,利用该薄弱环节向供应链上游挪动。他们利用信赖关系来毁坏应用被攻击者组件、产品或服务的企业。这能够让攻击者通过一次攻打就能毁坏大量运行良好的企业零碎。 软件供应链攻打实施者将关注点从企业的外部进攻零碎转移至其供应商的进攻零碎。如果进攻良好的企业与平安防护单薄的供应商单干,攻击者就会瞄准该供应商并开展攻打。一旦攻击者毁坏了供应商网络或开发程序,他们就能够利用这个切入点浸透至客户的零碎。 MSP攻打是指一种专门针对托管服务提供商(MSP)的特定类型的供应链攻打。企业通常会应用MSP外包技术,并将该技术利用于网络和系统管理中。攻击者通过毁坏MSP可立刻拜访企业所有客户的公司网络。这种类型的攻打发生率近年来出现愈演愈烈之势,并被用于策动勒索软件攻打、销售点入侵和企业电子邮件泄露欺骗。据2021年的一份报告结果显示,对单个MSP或托管平安服务提供商(MSSP)的网络攻击就可能会给数以百计的企业造成高达800亿美元的经济损失。 在供应链攻打过程中如何植入恶意软件?尽管MSP攻打利用特权拜访,但其余供应链攻打会毁坏供应商的零碎并植入恶意软件,而后攻打供应商的客户进行。这是灾难性的SolarWinds攻打中应用的办法。攻击者在看似有害的软件更新中植入恶意软件,由SolarWinds签名并分发给其客户软件。很多寰球重要企业均受到了这种攻打,包含思科、SAP、英特尔、德勤、英伟达、富士通和乐天。 后续攻打通常状况下,供应链攻打只是攻击者打算的第一步。在最后的供应链攻打之后,攻击者通常会尝试横向挪动和特权降级,以求加深其对网络的管制并取得对更敏感零碎的拜访权限。在这之后或与此同时,攻击者可能会窃取敏感数据、毁坏操作系统或讹诈企业,与勒索软件攻打应用的伎俩一模一样。 为什么传统网络安全措施不足以保障软件供应链平安?供应链攻打针对一个或多个供应商开展攻打,可能须要几个月胜利。在很多状况下,这些攻打会长工夫未被发现。与高级持续性威逼(APT)攻打一样,供应链攻打通常具备针对性和高度复杂性。 即便领有杰出的传统网络安全进攻零碎,企业供应链也可能很容易受到攻打。尽管某些解决方案(例如软件组合分析(SCA)软件)会评估第三方软件的危险,但很多解决方案却基本不具备此项性能。相同,大多数传统网络安全防护办法均已默认了产品或服务的安全性。企业可能领有最先进的防火墙和端点平安技术,但这些技术自身或企业基础设施的任何其余局部均可能受到供应链攻打并受其影响。 欧盟网络安全局(ENISA)的一份报告显示,在约66%的供应链攻打报告中,攻击者会应用供应商代码来攻打供应商的客户并对其造成危害。这表明企业应该重点关注并确保第三方软件和代码在应用之前不会被篡改。 另一个重要发现是,在对供应链攻打进行剖析后的结果显示,有超过一半的供应商要么不晓得本人被攻打,要么没有上报攻打状况。但89%的裸露于供应链攻打危险之下的客户企业最终均已意识到了该点,这表明供应商与其企业客户之间的安全事件报告存在成熟度差距。 爱护软件供应链的四个最佳实际以下最佳实际能够帮忙您的企业为下一次供应链攻打做好筹备。 1.疾速修复破绽尽管一些供应链攻打办法利用了未知(零日)破绽,但还是有很多攻打利用了已知破绽。基于此点,企业应创立软件资料清单(SBOM),辨认存在已知破绽的组件,并利用相干更新或补丁。疾速辨认和修复第三方组件中的破绽是预防供应链攻打的次要策略。 2.放弃深度供应链可见性企业须要理解其软件组合中应用的组件,并且充分认识和理解组件、零碎和源代码之间的关系。当发现破绽时,开发人员须要晓得易受攻击的组件在多个软件我的项目中的应用地位,以便可能进行疾速修复或删除。目前已有多种工具能够自动检测和帮忙治理破绽。 3.标记问题组件开发人员须要一直寻找可能蕴含破绽的新软件组件。因而,倡议企业将供应链安全性左移,以确保开发人员领有专业知识、工具并能提供反对,以防止在软件开发生命周期的晚期抉择易受攻击或不平安的组件。 一旦发现问题组件,就应该对之进行标记,从而确保所有开发团队都分明该问题组件。标记的组件或破绽扫描失败的组件可能会“毁坏构建”,继续集成(CI)/继续交付(CD)管道应主动阻止将其部署到生产环境中。 4.继续监控组件即便一个组件曾经被确定为平安组件,也不意味着它会放弃平安。新的破绽会一直呈现,组件使用寿命也可能已快要耗尽,或者其开源贡献者可能会放弃组件并对其进行反对。在所有这些状况下,您必须可能检测到组件危险状态的变动,确定危险重大水平的优先级,并在必要时敞开组件。 WhiteSource软件供应链平安WhiteSource生产了爱护您软件供应链的两种最佳产品WhiteSource SCA和WhiteSource Diffend。 据Forrester Research分析师称,WhiteSource SCA是一种先进的SCA产品,自2019年问世以来始终是市场领导品牌之一。WhiteSource SCA被世界各地的企业宽泛应用,世界十大软件企业中有六家企业就应用该产品,这其中也包含微软。 WhiteSource SCA能够告诉您应用程序中蕴含的第三方软件组件,以及这些组件中是否存在易受攻击的破绽。相较于其余产品,WhiteSource SCA的特别之处在于: 准确性。WhiteSource的专利算法可能将真正的问题与乐音辨别开来,使您的效率进步70%至85%。便于应用。WhiteSource能为开发者提供其失常开发环境中开源破绽的实时信息,因而开发者无需在应用程序之间切换或期待后果。主动修复。WhiteSource不仅能够辨认易受攻击的开源组件,还能够主动生成带有修复倡议的拉取申请。此外,WhiteSource SCA容许您为每个软件我的项目轻松创立一个SBOM。每个SBOM标识凋谢源代码库均包含间接的和可传递的依赖项,并提供一个修复门路,以确保更新不会毁坏构建。 WhiteSource Diffend是一种专门的供应链平安解决方案,它与程序包管理器(目前为JavaScript和Ruby)集成,阻止歹意包通过装置来攻打您的代码库。Diffend可爱护您免受误植域名、歹意接管、ATO攻打、makefile净化、比特币开掘、意外注入、僵尸网络代码注入、环境和凭据窃取、病毒、程序包篡改、程序包CVE、JavaScript CVE、Ruby CVE、品牌劫持和依赖混同. 自2020年初公开公布以来,WhiteSource Diffend已在Rubygems注册表中检测到350多个已知恶意程序包,并且自2021年底以来已在NPM上检测到1,400多个恶意程序包。如欲了解更多 WhiteSource 相干音讯,或亲自体验 WhiteSource,请分割 WhiteSource受权合作伙伴——龙智 收费试用。 作者简介: 亚当·默里(Adam Murray) 亚当·默里是WhiteSource的内容作家。在搬到特拉维夫之前,已在伦敦和纽约开始了他的企业流传和公关职业生涯。在过来十年中,亚当·默里始终与Amdocs、Gilat Satellite Systems、Allot Communications 和Sisense等科技公司精诚合作。亚当·默里领有英国文学博士学位。亚当·默里酷爱家庭生存,工作之余喜爱陪伴妻儿并对足球队托特纳姆热刺队(Tottenham Hotspur)情有独钟。

May 13, 2022 · 1 min · jiezi

关于devops:Klocwork-20221推出Kotlin分析引擎

Klocwork 最新版本的一个要害组件是指新推出的 Kotlin 剖析引擎,它极大地晋升了动态代码剖析和动态剖析平安测试(SAST)工具的性能。此外,该版本还包含其余一些重大改良,这些改良也极大地提高了该工具的性能。 以下是咱们对新剖析引擎所做的概述。 Klocwork 2022.1-Kotlin剖析引擎Klocwork 的最新版本引入了Kotlin作为一种新的广受欢迎的剖析语言,通过扫描 Kotlin 代码,您能够查找复杂性问题、品质问题、性能问题和最佳实际相干问题。作为新剖析引擎的一部分,该版本新增了229项新查看,以帮忙进步代码品质和性能。 为什么抉择 Kotlin?Kotlin 是一种跨平台、动态类型的通用编程语言,旨在实现与 Java 的齐全互操作。与其余跨平台编程语言不同,Kotlin 提供在机器代码层级的反对,无需桥接或容器即可运行。 它次要用于 Android 零碎和服务器端应用程序。事实上,谷歌已将 Kotlin 做为 Android 零碎应用程序的首选编程语言。 因为其语言格调简洁,Kotlin 可无效进步开发速度,依据一些软件开发专家的评估后果,与 Java 相比,它能够缩小高达40%的代码行。通过缩小代码需要,Kotlin 使开发人员可能以更高的效率工作,从而放慢实现代码交付。 此外,与 Java 语言相比,Kotlin 更具安全性。其中一个最重要的起因是 @Nullable 和 @NonNull 蕴含在 Kotlin 的类型零碎中,这有助于开发人员避免出现空指针异样(NullPointerException)。并使 Kotlin 的 Android 零碎应用程序产生解体的可能性升高了20%。除了空平安之外, Kotlin 还具备一系列 Java 语言不具备的软件平安个性。 Klocwork如何让Kotlin开发者受害?即便面对大型代码库,Klocwork 也可能以起码的工夫进行剖析,同时还能兼顾准确性和品质。这对于Android我的项目尤为重要,因为 Klocwork Kotlin 剖析引擎可能无效进步大型代码库我的项目的开发速度。 此外,Klocwork Kotlin 剖析引擎还能够让您辨认出软件开发生命周期(SDLC)中的简单问题和性能问题。这使您可能疾速治理和解决软件品质问题,同时在确保产品质量的前提下减速交付产品。 这充分说明了一点,即无论您从事何种行业,您都能够通过 Klocwork 来实现全副动态代码剖析和SAST需要。 如欲了解更多对于 Klocwork 的全副新增性能,或亲自体验 Klocwork,请分割龙智收费试用。

May 13, 2022 · 1 min · jiezi

关于devops:游戏美术和设计师的福音Helix-DAM-测试版来了

我代表 Perforce 的产品和工程团队,很快乐地发表 Helix Digital Asset Management(简称 Helix DAM)的 Beta 版公布。Helix DAM 是Helix Core版本治理与合作套件的最新成员,旨在帮忙团队利用和爱护他们的创意数字资产。 那么,Helix DAM到底是什么?Helix DAM是建设在Helix Core(咱们的可扩大版本引擎)之上的一个新的基于网络的UI层,它简化了存储、寻找、应用、再利用、审查和共享创意资产的过程,并确保其安全性。当初,Helix DAM Beta 为 2D 图像文件(例如纹理和概念图)提供服务,但咱们打算在将来的版本中反对 3D 模型、动画甚至音频文件。 我将在上面向您形容 Helix DAM 的一些要害个性以及它是如何工作的,但首先我想谈谈咱们为什么要构建这个工具,以及咱们心愿它可能解决用户的哪些问题。 咱们为什么要构建Helix DAM?咱们构建 Helix DAM 有几个要害起因。 起因一:艺术当初主持着世界 第一个起因:人们应用或购买的越来越多的货色正在数字化。它不仅变得数字化,而且消费者要求他们以数字形式与之交互的物品具备更高水平的润色或真实感。因为这种大风行,公司正在转向数字化伎俩,将他们的产品定位在更优地位。 简而言之,世界须要更多更好的数字体验,因而咱们看到越来越多的美术和设计师与技术团队单干。 起因二:团结团队 其次,这两类团队的交融天然会产生一些抵触。团队须要一种办法来适应彼此的工作流程,同时保障资产的平安。咱们常常听咱们的用户说,创意团队发现版本控制令人生畏,他们须要它更加有形,或之存在于工作流程的背景中,以帮忙将所有资产保留在一个中央。 咱们设计了 Helix DAM 来帮忙简化这两个团队之间的合作。 改产品背地的想法很简略。帮忙 Helix Core 用户: 最大限度地利用他们的创意资产——不再因为太难找到而从头开始从新创立所有内容。简化审核流程——进行通过电子邮件或 Dropbox 审核创意资产的凌乱场面。省钱——通过将所有资产都放在繁多事实起源中来升高存储老本,并通过简化合作来节俭团队工夫。爱护他们的创造性知识产权——从创立到交付将资产保留在平安的地位。Helix DAM 是如何工作的?Helix DAM 提供基于 Web 的可视化 UI,使团队能够拜访其可用我的项目中的任何创意资产。 自动化、AI(人工智能)驱动的标记和高级搜寻使团队成员能够轻松找到资产。 资产复用性能使您能够轻而易举地在单个我的项目中齐全按原样或以各种模式应用雷同的资产,或将该资产在一个齐全不同的我的项目中复用。Helix DAM 最大限度地利用美术和设计师曾经制作的创意作品,放慢交付工夫,并为团队提供迭代产品更要害局部的机会。 在 Helix DAM 的 beta 版本中,你可能制作资产的正本,它将在 Helix Core 中领有本人的生命——该正本的每个版本都将被独自跟踪。原始文件和复制文件的应用将齐全离开。 ...

May 13, 2022 · 2 min · jiezi

关于devops:On-DevOps-1-What-It-Is

本文作者: "Tiexin Guo GitHub 网址: https://github.com/IronCore864 Note: opinions are my own. They don't represent my current company or any previous companies I've worked for. Note 2: recently, my colleague published a blog post (in Chinese, here's the link if you are interested). I like this post, but I'd like to share more with you on the topic of DevOps. So I decided to publish a miniseries (7 episodes planned) on DevOps. Here's the first article. ...

May 12, 2022 · 10 min · jiezi

关于devops:研发周期缩短40三一华兴如何实现快速价值交付

三一重工是中国最大的工程机械企业,寰球最大的混凝土制造商。作为寰球当先的工程机械企业,秉承“品质扭转世界”的使命,三一重工抓住机遇,踊跃拥抱翻新技术,正在全面减速数字化的转型。 华兴数字是三一重工旗下全资子公司(以下简称:三一华兴),专一于配备机械电控零碎和智慧工厂数字化零碎的研发、制作、销售与服务,其产品和解决方案利用于 140 多个国家,20 多万台设施,遍布工程机械、特种配备、智慧工厂、智能农业等畛域,成为寰球当先的工业 4.0 嵌入式解决方案提供商。 本文咱们以三一华兴的 DevOps 我的项目为例,分享制作行业的 DevOps 落地的落地实际。 我的项目挑战工业 4.0 时代的到来,将智能制作推向了将来的主战场上,制作和 IT 的有机联合正在推动整个制造业向前倒退。对于制作行业来说,IT 科技尽管是“新兴畛域”,但却是必须霸占的洼地,制造业必须建设属于本人行业个性的“工业+科技”的技术体系。 三一华兴作为寰球当先的工业 4.0 嵌入式解决方案提供商,通过近些年的致力,在工业 IT 畛域获得了不菲的问题。然而随同着 IT 科技力量的加强,IT 建设也面临全新的挑战。 IT 建设的内容繁冗多变,波及各种各样的开发语言和技术栈,研发人员由各种形式组成,研发程度和能力也是参差不齐,这就导致研发效率低,代码不标准,代码平安品质存在危险等问题。如何改善这些状况,从根本上建设一套研发交付规范来解决这些问题,成为三一华兴不得不从新扫视的问题。 解决方案绝对于互联网行业能够随时公布,随时上线,有问题随时改的宽松 IT 环境,制造业的产品是必须有严格品质把关的,谋求效率和平安生产要实现均衡共进。 通过慎重考虑和深刻调研,三一华兴决定以引进单干的形式共建平台,通过层层筛选,最终抉择了在 DevOps 畛域具备成熟产品与丰盛案例的博云作为合作伙伴,独特建设一套自动化集成部署零碎。 基于成熟的 DevOps 理念,引入优良教练,联合企业本身状况,针对性的单干建设,三肯定下了“三步”、“三化“的战略方针。 三步策略所谓三步策略:一步调研剖析、二步平台建设、三步试点接入再推广,以小步快走及时调整的模式进行建设,这是贴合三一华兴最合适的建设形式。 第一步:调研剖析三一华兴有本人的开发流程与开发习惯,虽不肯定全是最完满的,但这是长久以来的演进后果。因而,齐全漠视原有的开发习惯,将原有流程全副颠覆重建是不符合实际状况的。因而,全面调研,剖析现状必然是第一步。 第二步:平台建设通过调研剖析之后,基于调研计划进行第二步平台建设,打造一套合乎三一华兴习惯的平台,这对采纳产品的适宜度有很大的考验,就如同一艘小船尽管乖巧然而性能太欠缺不行,一艘航空母舰尽管全然而价格贵不说,不灵便难掉头也是不适合的。 第三步:试点接入推广第三步推广阶段采纳试点后行的计划,不论是平台建设小组还是接入平台的利用项目组,大家都是初步接触,小范畴的试点有利于大家可能疾速的成长,当相互都有教训之后再推广进来,这是一个十分好的施行门路。 三化方针1. 规范化:是指开发标准平台化。三一华兴本身尽管具备研发标准,然而遇到紧急我的项目,研发人员组成有差别等诸多外因,局部标准很难执行贯彻,这就造成了代码品质差等一系列的问题。所以将标准固化到平台上,设定卡口和规范,让开发自觉遵守是进步研发效率、晋升组织能效的重要伎俩。 2. 流程化:是指研发工具流程化。当初为了研发快捷,市面上有很多十分好的自动化工具呈现,如 jekins、snoar、junit 等,这些工具在三一华兴有一些零散建设,当初更须要建设一条安全可靠的代码作业流程,将过程中的工具补齐并无效组合,并通过平台能力进行数据的整合和展现。 3. 平台化:是本次建设的特点,原有工具链上的工具是通过各种工具反对,这些工具都有本人的应用页面,然而对于开发而言,工具多了意味着每一应用工具配置都要去原有平台实现,这会带来大量的学习老本和前期应用老本。所以将所有的工具平台化,通过拖拽配置的形式自定义组合,这将对研发效率有质的晋升。 价值收益目前,一期三阶段曾经建设结束,试点我的项目胜利接入平台,多个项目组在研发能效上失去了显著晋升,研发交付周期缩短了 40%,代码 bug 率升高了 50%,投产公布工夫缩短了 30%,平安运行故障率升高了 25%。整体建设超出预期成果,真正地实现了疾速价值交付的能力。 在工业 4.0 大背景下,我国正在全面推动施行制作强国策略,工程机械作为制造业的外围之一,也正在从传统模式向数字化、网络化、智能化转变,从生产型向“生产+服务”型转变。 在此转变过程中,联合设施制作,三一华兴也逐渐走出了一条“工业+科技”两手抓的企业之路,为制作行业实现智能制作提供了重要的标杆示范。博云作为其 DevOps 建设惟一提供商,将助力三一华兴夯实 IT 基础设施建设,晋升业务麻利交付,继续深入数字化转型建设。

May 11, 2022 · 1 min · jiezi

关于devops:极狐-GitLab-入驻阿里云计算巢共同提升云上开发体验

近日,DevSecOps提供商极狐(GitLab)正式通过了阿里云计算巢 “云合打算”合作伙伴认证,成为了计算巢平台首家一体化DevSecOps解决方案合作伙伴。 极狐信息技术(湖北)有限公司简称极狐(GitLab),秉承“外围凋谢(Open-core)” 准则,联合寰球当先的DevOps技术与国产化自研翻新和定制化服务,致力于为中国用户提供一站式笼罩软件开发生命周期的凋谢一体化DevOps平台。极狐GitLab领有GitLab, Inc.独家知识产权和品牌受权,基于GitLab EE版本每月同步更新,并在此基础之上退出咱们为国内用户定制的性能个性。 极狐(GitLab)联手阿里云计算巢推出的GitNative_DevOps云一体化解决方案,目前已正式上线计算巢并达到生产可用状态,单方将为用户提供开箱即用的全栈式DevOps能力,独特构建云上DevOps生态。 目前,极狐(GitLab)基于阿里云计算巢推出的GitNative_DevOps云一体化解决方案已上线,该计划将为用户提供开箱即用的全栈式DevOps能力,实现极狐GitLab产品的标准化公布与交付治理,简略几步操作,即可实现 DevOps 云一体化解决方案的落地,为用户提供极致的应用体验,开启云上DevOps 之旅。 事实上,依靠于阿里云计算巢提供的软硬联合数据备份机制,极狐GitLab提供数据备份接口及命令,灵便设置数据备份策略;借助阿里云计算实例的整机备份或磁盘备份机制,将进一步提高数据安全;同时,针对不同规模的用户场景,交付对应硬件参数配置,量化性能测试,让用户体验有预期。 最终,通过阿里云计算巢交付的 DevOps 云一体机,实现了计算、存储、网络、PaaS、软件开发环境资源的交融及横向扩大能力,打造适应混合多云场景下的云一体化 DevOps 平台,助力客户放慢业务翻新速度。 冀望通过和阿里云计算巢的深度单干,实现极狐GitLab云上服务配置的模板化、部署自动化和交付标准化,进而得以疾速交付部署,同时也不便的解决了在服务客户的全链路过程中碰到的运维治理,服务降级等问题。为利用云化提供助力,共建沉闷平安的产品生态。 ——极狐(GitLab) 创始人兼CEO 陈冉Sam作为一款有宽广用户根底的DevOps工具产品,极狐GitLab有很好的产品能力和开发者社区口碑,咱们非常高兴极狐GitLab可能入驻阿里云计算巢。服务好开发者是阿里云始终以来致力的方向,通过与计算巢平台的深度集成,实现了极狐GitLab产品的一键式高效部署,为开发者提供了端到端认证的解决方案,进一步晋升云上开发者的开发体验。将来,阿里云计算巢将保持实际‘以计算为巢,深度被集成’主旨,与极狐(GitLab)持续深刻单干,为开发者提供更好的服务,为客户发明更大价值。 ——阿里巴巴团体研究员/阿里云弹性计算产品线负责人 张献涛目前,曾经有上百家ISV合作伙伴接入计算巢平台,包含极狐(GitLab)、观测云、精鲲、数云CRM、Fortinet、Avaya、Memverge等。将来,阿里云继续与ISV合作伙伴更严密单干,通过计算巢共筑云上生态,与合作伙伴一起为客户发明更大价值。 点击这里,登陆阿里云计算巢体验。

May 11, 2022 · 1 min · jiezi

关于devops:当我们在说-DevOpsSREPENoOps-的时我们在说什么

本文作者:柯浩 GitHub 地址: http://github.com/KeHaohaoke Note: 以下观点不代表自己就任的公司。系作者个人观点。这些观点和作者的自己工作经验无关,可能不够八面玲珑。从 Devops 的由来说起近些年,DevOps 以及 SRE 的宣传和布道在国内越来越多,在各招聘平台也能够看到这些职位的招聘信息(呈现具体公司信息的,隐去),以某招聘网站,地点抉择北京,别离搜寻 devops 和 sre 咱们能够看到devops 的职位 sre 的职位 简直所有的互联网公司都在提出做 DevOps 建设(当然了,不然怎么会有这些职位的招聘呢:)有的公司还有SRE团队 有的公司并没有辨别 DevOps/SRE ,他们有所不同吗?DevOps 与 CICD 有什么关系呢?稳定性建设/ SLA/SLO 到底是谁来负责呢?等等,如同还看到过PE工程师,还有 NoOps 的提出平安的同学说,咱们还有 DevSecOps各位,有没有好奇过这些?没有的话,那当初你能够好奇一下,本文会一一道来。 这些职位到当初的倒退,在有的招聘中曾经和过后提出来的时候的概念不太一样了。但这不要紧,咱们能够先从这些职位的溯源来看他们提出来的时候的背景和过后的要求。 其实,DevOps 自身是一种技术文化,它自身旨在突破 Dev 和 Ops 之间的墙,让大家的沟通更顺畅。 DevOps 正式的被提出是在计算机届出名的出版公司 O'reilly 举办的 Velocity 大会上,在2008年的 Velocity 大会上,一场名为10+ Deploys per Day: Dev and Ops Cooperation at Flickr的演讲带来了 DevOps 的说法,咱们当初还能够在 O'reilly 的网站上看到这个视频。 在这场演讲中,John Allspaw ( Flickr 的运维团队的总监)提出了要“构建疾速公布软件的工具和文化”,留神,敲黑板,这里不仅有工具,还有文化。尔后,简直所有谈到 DevOps 理念的都会提到这场演讲。Patrick 过后并没有在会议现场,但他起初观看了会议视频,深有同感,这为 DevOps 埋下了种子。Patrick 随后在 Twitter 上示意,他也想加入 Velocity 大会,一些工程师回应他,你能够举办你本人的 Velocity 大会,咱们都去加入。工夫又到了2009年,这一年,Patrick 通过 Twitter 招集了本年的社区版“ Velocity 大会”,并在比利时举办。因为是个会议,Patrick 得起个名字,他就想到了 Dev 和 Ops,因为会议举办了两天,于是会议被命名为 DevOps Days。 ...

May 10, 2022 · 3 min · jiezi

关于devops:Interview-FAQ-DevOps-Agile

What is Agile Methodology?It's an approach where a project is divided into multiple parts, and each part is developed individually.This process involves iterations in every part of the project and constant collaboration with stakeholders.The software development and testing process are conducted parallelly.It is possible to change the requirement because the different blocks are developed independently.It supports cross-functional collaborations among the team members.Agile vs ScrumAgileScrumA methodologyA framework that implements agile principlesLeadership plays an important roleFocuses on self-organizing teamworkSimple design and executionInnovative designs and executionMore rigid and there is no room for frequent changesHighly flexible and reacts quickly to the changesDeliver and update the software on a regular basisAfter completing the current sprint, the next sprint can be plannedWhat are Agile frameworks?ScrumTest-Driven DevelopmentKanbanWhen should you use Waterfall over Scrum?Usually, Waterfall is used when the requirements are simple, fully defined, predictable, and understood, and will not change. ...

May 5, 2022 · 2 min · jiezi

关于devops:神秘男嘉宾登场引爆全场灯光

爆灯男嘉宾已就位!你要把TA带回家吗?主持人:欢送大家来到非牛勿扰,掌声有请头等男嘉宾退场! 小con:大家好,我是头等男嘉宾,我的名字叫——Confluence 附件与页面平安治理插件! 主持人:再次欢送!请自我介绍,让大家理解一下你。 小con:我叫 Confluence 附件与页面平安治理插件 ,我是一款能够实时记录、限度用户在Confluence 中复制页面内容、下载附件等行为的插件超实用工具,。选我,不会有错。! 主持人:这么自信?各位嘉宾有什么问题要问TA吗? 嘉宾A:你只能监控Confluence附件的下载吗? 小con:远远不止。除了Confluence附件下载,我还能监控页面内容的导出和复制。 Confluence 附件与页面平安治理插件监控全面,不仅监控Confluence附件的下载,还监控页面内容的导出和复制等等。启用记录性能后,还可自动记录、查问和导出用户下载附件信息。 嘉宾B:除了Confluence附件,其余插件的附件你能监控吗? 小con:当然能够,我是一个凋谢API接口的插件,~我的API接口能帮忙你监控第三方插件的附件下载动作,帮忙你更好地爱护数据。 Confluence 附件与页面平安治理插件通过开发Rest API接口,实现对第三方插件的附件下载动作监控,数据保护更进一步。 嘉宾C:记录的数据太多怎么办?治理很头痛。 小con:有我在,你无需费神。我会依据你设置的期限,每天主动清理过期数据。 Confluence 附件与页面平安治理插件可依据设置下载记录数据保留的最大期限,每天主动清理一次过期数据。 嘉宾D:以上说的都是监控行为,那我能通过你限度用户吗? 小con:附件下载、页面挪动和复制、禁止用户导出word、PDF……有我帮忙,所有尽在你的把握。 通过Confluence 附件与页面平安治理插件,空间管理员可自在设置用户的附件和页面操作权限,管制更灵便。 主持人:像Confluence 附件与页面平安治理插件这么优质的男嘉宾切实少见,欢送大家把TA带回家!

April 27, 2022 · 1 min · jiezi

关于devops:龙智被评估为CMMI-3-级

2022年3月,龙智发表已被评估为CMMI研究所的能力成熟度模型集成(CMMI)®的 [3] 级。 CMMI 是一个能力改良框架,它为组织提供无效流程的基本要素,最终进步其绩效。 成熟度级别 3 的评估表明组织处于“定义”级别。在这个级别,流程被很好地形容和了解,并在规范、程序、工具和办法中进行了形容。组织的一组规范流程是成熟度级别 3 的根底,随着工夫的推移建设和改良。 龙智成立于2006年,专一于DevSecOps畛域,帮忙企业实现软件开发经营一体化,并确保安全防护融入软件研发的整个生命周期中。 咱们提供从产品布局与需要治理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具。同时,咱们也提供 DevSecOps 实践培训、业余征询、计划定制、施行部署、定制开发等一站式服务,帮忙企业迷信、高效、平安地治理软件开发,更快、更好地交付软件产品。 CMMI Institute 是推动人员流程和技术最佳实际的寰球领导者。CMMI Institute 的承诺是激发继续改良的文化,从而晋升绩效并发明可继续的竞争劣势。 CMMI 研究所提供以市场为导向的解决方案,为确定和优化要害组织能力、网络成熟度和数据资产以晋升业务绩效提供洞察力。25 年来,包含航空航天、金融、医疗保健、信息技术、软件、国防、运输和电信行业,通过采纳 CMMI 实现了可继续的业务胜利,并证实他们是有能力的业务合作伙伴和供应商。

April 26, 2022 · 1 min · jiezi

关于devops:工程师们看过来|这是我见过的IT圈最潮的产品发布会了

近年来,“可观测性”话题在寰球技术圈掀起一轮轮热度后,国内IT圈也终于沸腾了!2022年,国内各家云服务商、监控运维软件服务商纷纷跟进,推出新一代基于可观测性能力的工具或产品,一时间百花齐放。国内IT工程师们对可观测性畛域的技术前沿也投以最高关注,报以最大激情,期待早日在该赛道内诞生出国产旗舰级产品,不再望洋兴叹。 基于10年云服务教训积淀,历时4年开发迭代,凝固200+开发运维工程师心血,汇聚有数社区用户的奉献,国内首款专为IT工程师们打造的全链路可观测产品——观测云,在万众期待下终于要迎来正式公布。 GUANCE IS COMING 2022年4月28日晚8点,以“To All Engineers”为主题的2022观测云产品发布会闪亮来袭! 观测云是国内第一批可观测性理念布道者,领有标志性域名guance.com,近几年始终致力于推动可观测性在国内技术和行业生态的落地倒退;同时又是事必躬亲的实践者,多年深耕云计算服务畛域,厚积薄发,精雕细琢出一款全自研的可观测产品,性能已达到寰球领先水平。 在长达近2年的客户推广和用户调研过程中,播种统一认可和继续好评,并累积到少量技术用户粉丝,已声名远扬。终于,在2022年4月28日晚8点,这万众瞩目的时刻就将到来! 用最新的理念 1 为工程师们打造最好的产品 观测云是一款实现全链路可观测性的平台。集成并自动化了基础设施监控、应用程序性能监控和日志治理,为整个技术栈提供实时可察看性。通过对指标、日志与链路的全面采集和聚合存储,向用户提供对立标签、对立界面、对立语言的可观测平台。 性能包含端到端的用户体验追踪,理解利用内函数的每一次调用,全面监控云时代的基础设施,疾速发现零碎的平安危险。通过齐全凋谢的仪表盘定制能力,帮忙工程师们疾速展示数据可视化,使产品、开发、测试、运维团队在实时数据的驱动下协同工作,用数字化掌控数字化零碎。 本场发布会,观测云将携2022全新版本正式亮相,从产品架构、核心技术、利用实际到生态愿景等视角作全面介绍,让所有观看发布会的敌人们,都能疾速理解观测云近些年的倒退历程和指标愿景,喜爱上这款合乎工程师偏好的数字化前沿工具,一起开启全新的可观测性将来! 2022国内IT圈 首个全程数字人形象退场 2 发布会酷炫视觉燃爆全场 观测云总部坐落于中国上海,疫情之下,齐力克艰。为让发布会能如约揭幕,不负工程师们的激情期待,观测云克服重重困难,与业内顶尖直播技术团队,独特策动了这场2022年国内IT圈首个全程数字人形象退场发布会,敬请期待现场酷炫成果,定会给您惊喜! 观测云CEO蒋烁淼及外围团队成员,将应用充斥科技感的3D专属数字人形象,配合实时真人演讲,打造更具表现力的现场成果,给到直播观众最新­­鲜、最亲切的观看体验! 本场发布会将在阿里云开发者社区、InfoQ、流动行、稀土掘金、CSDN、SegmentFault 、云技术、阅码场、DataFun等平台实时直播互动。(特地鸣谢云原生计算基金会、开源GitOps产业联盟的反对!) 这是一场与诚意同行,以科技致敬的发布会!再次诚邀所有敌人们一起退出,开启这场往年最值得期待的­可观测性之旅! (扫描海报中的二维码进行报名)

April 26, 2022 · 1 min · jiezi

关于devops:最佳实践-通过使用-Jira-Service-Management-改进-HR-工作流程

Jira Service Management 承诺解锁高速团队。技术团队和与之单干的业务部门都能够从 Jira Service Management 中受害,尤其是 HR 团队。 Atlassian 的 HR 技术团队与 HR 团队单干,寻找创造性的办法来开释业务部门的速度和价值。Atlassian 高级 IT 经理 Paul Biagio 是咱们应用 Jira Service Management 改良人力资源服务的布局和开发计划的外围。Paul 和他的团队发现了一些有影响力和创造性的办法,通过自动化工作流程来改善员工入职流程。 “出于几个起因,Jira Service Management 是解决方案的重要组成部分,”Paul 说。 “首先,它弥合了包含 Workday 在内的多个团队和 HR 平台之间的差距。这使咱们可能从一个中央更好地跟踪和反对所有不同的员工和团队的工作。它还为咱们提供了更好的数据来掂量咱们的端到端性能。” 须要更好的入职流程咱们对改良 Atlassian 的入职流程特地感兴趣,因为公司正在以前所未有的速度增长,而且没有放缓的迹象。通过自动化高效率反对这种增长能够节俭资金并使咱们可能: 减少咱们人力资源团队的带宽通过使工作流程更简略、更疾速来节省时间和老本减少工作流程的可掂量性以改良流程为应用该零碎的员工发明直观和欢快的体验Atlassian 员工数量的激增更为独特,因为它是在 COVID-19 封闭措施在寰球范畴内失效的同时减速增长。事实上,大概 40% 的现有员工都是那段时间开始入职工作的,至今仍有许多人从未见过 Atlassian 办公室的外部。咱们为分布式员工发明了一个更好的入职流程,以促成大量新的分布式员工可能顺利退出 Atlassian。 为什么抉择 Jira Service Management?为这个项目选择 Jira Service Management 的起因很简略,因为它能够轻松实现自动化和操作简化的步骤。Jira Service Management 是实现高效 ITSM 的一流工具,它可实现申请治理、问题治理和配置管理等性能。因为其内置模板和 API,它也很容易与其余平台和软件工具集成。 Jira Service Management 的益处是它不会伪装成人力资源信息系统 (HRIS)。而是通过自动化 HRIS 的数据来开释新的价值。 ...

April 26, 2022 · 1 min · jiezi

关于devops:如何认证成为亚马逊云科技-DevOps-专家

申明:本文转自 DEV Community 网站,文章翻译由开发者社区提供;点击下方链接,查看英文原文: https://dev.to/aws-builders/h...去年,我感觉本人应该考取更多认证了。我曾经有 Developer Associate 的认证,感觉在此基础上取得 Solutions Architect Associate 认证应该问题不大。然而我错了,仅仅是相干的学习过程就破费了不少工夫。顺利通过一项考试,这种能力必须通过无效的学习和一直进步本身的心态能力取得。 最近我加入了 DevOps 专家认证课程。我的背景次要都在开发方面,不过近年来也花了大量工夫搭建各种环境和根底构造。值得一提的是,我的次要技术教训涵盖了 Amazon Lambda、DynamoDB、S3、API Gateway 以及 SNS/SQS。为了胜利通过 DevOps 专家认证考试,我筹备了下列这些技巧和资料清单。你能够依照任何程序应用这些内容。 总的倡议。不要低估备考阶段的内容、纲要和工夫。加入一场 3 小时的考试,这自身就充斥了挑战性。我在 Pearson VUE 认可的考试核心加入了考试,他们为我提供了两张 A4 纸共我书写。但在在线考试的状况下,你将齐全无奈书写任何内容。而考试期间的笔记有助于记录本人的思路,并在后续的查看过程中为本人起到揭示作用。 通过 SysOps Administrator 考试尽量专一于监控和部署。这场考试次要会强调与部署、审核和监控无关的内容。DevOps 的筹备工作大概须要 1-2 个月。 浏览白皮书Developer Associate 的考试中我齐全疏忽了白皮书。白皮书能够帮忙咱们建设一种正确的心态,确保本人能依据亚马逊云科技的最佳实际进行施行。倡议你在睡前浏览这些白皮书。官网提供的白皮书清单如下: 主课程请在实验室环境中实现一项课程。任何平台均可。这类实验室有很多,但 ACloudGuru 或 CloudAcademy 是最好用的。在考试前几天的筹备过程中记录一些手写笔记将对你起到很大的帮忙。 应用 Skill Builder这是亚马逊云科技提供的一个官网的在线学习平台,内容品质都很棒。惟一的有余在于,这里须要注册,但注册也是收费的。 举荐加入下列课程: Getting Started with DevOps on AWSAWS Certification Official Practice Question Sets(当初,所有这些考试的样题测试都是收费的了)Exam Readiness: AWS Certified DevOps Engineer – Professional自学一口气做完 75 道题(TutorialsDojo 考试练习或课程完结时提供的考试),不要因为模拟考试的后果而灰心。 ...

April 20, 2022 · 1 min · jiezi

关于devops:在-Amazon-QuickSight-中使用-Athena-数据连接器可视化-DynamoDB-数据

申明:本文转自 DEV Community 网站,文章翻译由开发者社区提供;点击下方链接,查看英文原文: https://dev.to/aws-builders/f...一些历史背景大略两年前,我开始尝试应用QuickSight来解决我就任的公司在BI方面遇到的一些问题。相比其余相似工具,QuickSight能与很多亚马逊云科技数据服务实现一流的集成,并且老本非常低,这些都是我所看重的。借助该服务,咱们能够疾速构建剖析原型和仪表板。然而有个问题咱们始终很费解:为何不反对应用DynamoDB作为数据源? 我在StackOverflow征询了Hive-mind如何在Amazon Quicksight中对DynamoDB数据进行可视化,这曾经成为该平台上取得反对最多的QuickSight发问,因为大家都须要这样的性能,但始终没失去解答……直到最近。 大部分变通的解决方案都须要将DynamoDB数据导出(例如复制)到其余地位,例如S3或RDS,随后即可作为数据源退出QuickSight。最终,咱们创立了一个Glue打算作业,借此将DynamoDB数据挪动到S3。随后应用AWS Glue Crawler爬取S3数据并以Amazon Athena表的模式作为数据集退出QuickSight。这种办法无效,但实际上须要更多定制化的基础设施,并且也无奈间接进行实时查问。 2019年底,亚马逊云科技发表用户将能够通过Amazon Athena新增的联结查问性能查问任何数据源。这个性能很酷,他们甚至通过示意图展现了查问DynamoDB数据的概念,但这须要咱们自行开发并保护本人的连接器,并且该性能过后还是预览版,Amazon QuickSight的集成也尚未进行更新,无奈用到Athena的这项新性能。 2020年3月,我发现Amazon Athena颁布了一个实用于DynamoDB的预构建数据连接器。这让我很冲动,因为我终于能够在Athena中疾速设置一个数据连接器并借此真正查看和查问DynamoDB数据,同时还不须要编写任何自定义代码。但该性能仍然是预览版,并且临时还不反对QuickSight。 到了一年后,Athena数据连接器在多个区域正式公布,还提供了第2版Athena引擎,并且QuickSight的集成性能也能够让咱们抉择所需的Athena工作组和数据源。 在DynamoDB成为Amazon QuickSight中的“一类”数据源之前,这些性能曾经足以满足我的需要了。 具体实现过程应用第2版Athena引擎所提供的Athena数据连接器,我终于能在QuickSight中可视化DynamoDB数据,并且不须要创立任何定制资源,也无需将数据复制到另一个数据源中。 先决条件/假如你心愿将DynamoDB表中的数据通过QuickSight进行可视化你能够拜访本人账户IAM中的用户/角色创立一个存储桶,用于存储Athena查问后果数据以及数据连接器溢出的数据如果要将其用在生产环境中的大规模查问中,倡议为该存储桶增加S3生命周期策略,以确保该存储桶不会以不受控的形式增大你应用的区域必须同时反对:Athena第2版引擎QuickSight切换为应用第2版Athena引擎如果还没有曾经在应用第2版Athena引擎的Athena工作组,请创立一个符合要求的工作组。 截止撰写本文时,默认的次要组仍然会应用第1版Athena引擎,但这些组会在将来某时主动降级到第2版。 没人有工夫期待亚马逊云科技来降级,因而咱们须要提前创立(如果需要的话)工作组并切换到第2版Athena引擎。 1.在Athena控制台中抉择Workgroups选项卡: 2.确保存在“Athena Engine version 2”工作组并切换至该工作组。 a)你很可能没有这样的工作组,因而须要点击“Create Workgroup”按钮创立一个。简直所有选项都能够应用默认设置,但肯定要抉择“Manually choose an engine version now”,并且在创立工作组时,请务必抉择“Athena engine version 2 (recommended)”。 创立DynamoDB Athena数据连接器创立了第2版Athena引擎的工作组后,接下来须要创立咱们的DynamoDB Athena数据连接器了。 1.关上 Athena控制台的Data Sources选项卡,抉择“Connect data source”按钮。 2.在Data Sources向导的第一步中抉择“Query a data source”选项,随后抉择“Amazon DynamoDB”并点击下一步。 3.第二步和最初一步中,亚马逊云科技须要咱们指定连接器Lambda。该Lambda尚不存在,因而咱们须要点击“Configure new AWS Lambda function”按钮进行部署。点击该按钮会关上一个新窗口并显示Lambda控制台,咱们能够在这里部署预构建的AthenaDynamoDBConnector应用程序。 b)在Application设置下,至多须要设置SpillBucket和AthenaCatalogName参数,因为它们不蕴含任何默认值。 c)点击Deploy。 d)该Lambda部署实现后,从新回到Athena控制台窗口。 4.至此咱们的AthenaDynamoDBConnector函数曾经部署,点击“Choose Lambda function”下拉菜单列表旁边的刷新按钮,随后应该能看到方才部署的Lambda函数。抉择该函数,为分类输出一个名称,点击“Connect”按钮。 5.至此咱们就应该能够通过为资源设置的数据源和分类名称,应用Athena查问DynamoDB数据了。 ...

April 20, 2022 · 1 min · jiezi

关于devops:Docker-创始人推出-Dagger一个新的-DevOps-平台

目前,距 Docker 创始人 Solomon Hykes 来到本人创建的容器技术公司曾经有将近四年工夫了。 自 Solomon Hykes 来到当前,Docker 经验了起起落落,包含在 2019 年将其企业业务发售给 Mirantis。但长期以来,作为 Docker 的形象代言人,Hykes 却很少涉足企业内部事务,仅仅是参加了几轮融资。 据理解,Hykes 其实始终在悄悄地致力于守业公司 Dagger,该公司已于昨日推出公开测试版,并发表已实现 2000 万美元的 A 轮融资。 本轮融资由 Redpoint Ventures 领投,Y Combinator、Nat Friedman(GitHub 前 CEO)、Brian Stevens(Google Cloud 前 CTO、Red Hat 前 CTO)、Idit Levine(solo.io 创始人兼 CEO)、Julius Volz(Prometheus 的创始人)、Ellen Pao(Reddit 前 CEO)和 Daniel Lopez(Bitnami 联结创始人)参投。 此前,Dagger 曾经实现了由 New Wave 领投的 300 万美元与 700 万美元两轮种子融资。 Dagger 由 Hykes 与他在 Docker 的好友 Sam Alba 及 Andrea Luzzardi 独特创建,旨在为企业团队构建所谓的“DevOps 操作系统”。 ...

April 1, 2022 · 1 min · jiezi

关于devops:DevOps-Master凤凰沙盘的学习体验

始终想系统化地学习DevOps 常识体系,工作中推动DevOps很须要,去年的DevOps 线下流动中接触到了《DevOps 精要业务视角》。 国庆假期啃完了《DevOps 精要业务视角》、《DevOps 实际指南》、《继续交付:公布牢靠软件的零碎办法》、《DevOps Master 白皮书-企业DevOps的成功之路》,《Effective DevOps》,三月份实现了DOF,集中精力每天上班后从7点看书到晚9点半,把《继续交付:公布牢靠软件的零碎办法》刷了2遍,每一遍都很有播种。 DevOps 实际——凤凰沙盘DevOps 实际是比拟有意思的,咱们分成两组PK,筛选心仪的角色,想着凤凰我的项目书里的境界,心想明天稳了(起初才发现处处充斥惊喜,从天而降的调整组织,调整业务规定,生产环境一直呈现的事变,一线的故障,HR部门跑路)。 九点小伙伴们根本就位,现场太冷落了,天南海北的都有(角色笼罩咨询师,参谋,开发,测试,产品,PMO,架构师,运维工程师,业务剖析人员) tips:多元化的团队,减少不同的观点和能力,去挑战、 翻新、反馈,吸纳具备更宽泛的集体背景和文化的人才来进步团队的多元性,显著的好处是:可能带来更多的教训与观点,凤凰沙盘真是有意思! 教练把咱们分成2组,乘风破浪组和凤凰传奇组,我所在的正是乘风破浪组。 接到的第一个工作:姓名/城市/职业/为什么要加入DevOps Master 培训。 三分钟基本上大家驾轻就熟实现工作,只有需要满足INVEST准则,那业务能力杠杠的,不愧都是有思想觉悟的潜力股,没有想到意识的都是大佬,我新意识了两个敌人:周同学(后续小康童鞋是咱们的CFO)和吕同学(咱们在第三轮劳动的时候说,让CFO去把小雪他们组的需要卡片偷掉,解放凤凰传奇996的兄弟姐妹们,最初感觉让他们007吧)。Tips:用户故事的INVEST准则,有助于确定验收规范。 第二个工作:突破部门墙姜还是老地辣,光是从名字:李聃就超级霸气,老子(李聃)说啥都对,老李从第一个工作项外面很快就发现”部门强”的存在,大家根本就和身边的人进行商业互吹,一个桌挪个地位的都不想,可见平时996把大家给累的,能躺着不坐着,能坐着绝不站着,嘿嘿,老李用了一个四两拨千斤的骚操作,让大家伙活络活络,依照身高由高到低右边高左边低排序,大家伙正磨蹭的时候,老李长期扭转需要,排序规定依照左边高右边低的业务逻辑排序,大家伙唰唰的找到了本人的定位,而后从0开始报数,单单数分组。 Tips:解决你的问题的最佳策略是:在一开始找到一个独特的指标,并让你的团队开始朝着这个指标致力,以减少单干。 第三个工作:取组名,倒闭营业咱们搞事件要名正言顺呀,分组实现接下来第一件事必定是取一个响当当的名字哇,嘿嘿,深知在座的各位必定是公司中的领导,咱们打工人默默的板砖:我被动提出一个:超能陆战队,紧接着小伙伴提议乘风破浪,领导们统一投票乘风破浪,我妥妥的风向标,team润滑剂,第一工夫把组名搞定。Tips:通过互相支持和多人协同来达成特定后果,业务价值通过合作实现,DevOps的业务价值是通过团队间的单干来实现的。 通过三个工作破冰完结,接下来进行day01的《凤凰我的项目沙盘》四轮实际,开启斗智斗勇的一天。简略复盘一下四轮的状况: 第一轮:乘风破浪战队实现我的项目相干的工作项1个,解决2个紧急生产事变,1个工作项未实现(库存节约),股价和支出都未达标。做的很好的点:测试驱动开发(TDD),批发部门提出需要后,咱们就一起和测试确定验收规范,而后一起找出关联工作项,每实现一个打一个勾(相似于自动化验收测试),通过了后咱们才开始下一个新的工作项(单件流)。 能够做得更好的:业务批发部门 & CEO & CISO & IT VP 需要优先级确认规定不清晰,后端资源被动期待(资源节约)。中午饭工夫:小伙伴们感觉这些业务批发部门、CEO、CISO、IT、VP家伙不给力,需要优先级都排不好,要不让他们下岗吧,咱们坚定的否定了。Tips:DevOps环境中不存在追责。若team成员不承担责任,不要强制他们 第二轮:乘风破浪战队实现我的项目相干的工作项1个,解决3个紧急生产事变。股价和支出都达标。 做得好的:咱们噼里啪啦画了个看板(只看不必的那种)能够做得更好的:把看板用起来,可视化,单件流,等小技巧用起来。所以李聃教练恨铁不成钢:硬生生把咱们team名为:乘风破“凉”!CEO对咱们的体现很怄气啊。 第二轮过程中我倡议咱们去看看隔壁组的小伙伴的看板,这样有助于在脑海里有一个映象后就去试试咱们的看板和价值流。凤凰传奇小组可真能,间接把CFO和IT、VP放假了,对CFO紧急插的单say no,全心全意关注公司指标,进步股价和交付我的项目。学到的教训是团队要面对用户干活,而不是面对老板(那个工资最高的人)干活。  Tips:批发部门负责人须要从产品备忘录和IT服务打算中确定工作优先级。起到打远光灯的作用,疏导team朝独特的指标致力。 第三轮:乘风破浪战队实现我的项目相干的工作项2个,解决4个紧急生产事变,股价和支出超额完成。 做得好的:在老师的墙裂倡议下,可视化咱们的流程,规定,咱们敢为先的把看板搬上了墙,一是可视化成果很好,大家能够汇集在看板前进行探讨,二是相比弯腰在地上工作绝对舒服,其劣势是不必贴胶带。咱们把产品待办清单放入可视化看板,按需要优先级对立规定,ROI最高的优先排序,这样决策只需做一次(答复why),后续关注如何做(how)。容量方面大部分容量预留给我的项目(打算内),生产环境问题预留容量(计划外),当CFO和CISO紧急事件退出时,咱们也能够从容淡定应答VIP客户,咱们给本人留了进路,紧急通道有且仅能有一个事项。 能够做得更好的:团队外部的培训,团队外的教训汲取能够更频繁。Tips:DevOps中最重要的工作在于构建从开发部门到运维部门的上游流程,尤其是针对繁多部署流水线。 第四轮:乘风破浪战队实现我的项目相干的工作项2个,解决7个紧急生产事变。股价超额完成,支出未达标。 做得好的:大家高度一致的聚焦凤凰我的项目还未实现的两个需要,整个团队同频共振的那种心流太微妙了。当为了一个独特的指标而发力的时候,大家自发的为我的项目贡献力量,当工作呈现瓶颈时,大家被动的进行工作协调,当呈现紧急插单时,大家尽早的一起拉通信息,没有人喜爱不知情。 能够做得更好的:平安相干的工作不肯定非得从开发团队动手,能够用业务层面进行干涉。 Tips:从新查看流程,明确哪些事项可能简化,确立每个流程的角色、责任与归属权,明确衡量生产率与危险的无效办法,促成渐进式变动,并营造一个平安的环境尝试和试验。总结:感激老师率领咱们乘风破浪的兄弟姐妹队玩了一整天凤凰我的项目沙盘游戏,到最初大家精疲力尽,但也播种颇丰。看着凤凰我的项目的30美元股价与10万美元营收,最初涨到了53美元股价与27万美元营收,心中无比自豪。 凤凰我的项目沙盘游戏外围是业务部门、IT部门等多种角色通力合作与配合。最终实现凤凰我的项目在市场层面取得成功(股价与营收)。凤凰我的项目沙盘游戏让咱们在游戏过程更理解做IT是为了实现业务价值,从CFO确立市场指标,业务部门确认业务需要、IT部门开发、测试、部署、施行、排障与运维造成完业务整价值流动。 置信,随着数字经济的一直倒退,将来的世界肯定是麻利的世界,而devops凤凰沙盘我的项目对我,不只是技术的晋升,而是思维形式的一种转变与降级。 DevOps理论知识学会了PDCA + KAIZEN能够小伙伴们从新定义PDCA了(plan + delay + cancel + apologize 更牛的还有能够是agagin),某科技公司对PDCA进行革新,PDF模型=plan + delay + 复盘,东西方文化联合,太能了。 每个企业遇到的状况不同,没有对立的模板去施行devops,也衷心的心愿devops master们把这两天学到的贵重教训,带回企业去。从最小切入点开始,你的激励,团队就可能迈出了小小的一步,这一步是DevOps提高的一大步。大家如果想要材料能够给我留言,关注我。

March 25, 2022 · 1 min · jiezi

关于devops:快速提升研发效能的秘诀是……

在上一期DevData Talks当中,咱们邀请到了从业互联网行业十余年,现任思码逸高级征询参谋的张超老师和咱们分享场景化度量实际案例。首先咱们对张超老师分享进行回顾~ DevData Talks 2 回顾 | 张超:场景化度量实际案例『没什么用』的效力度量,可能离场景太远研发效力畛域的常见问题:组织投入资源建设了效力度量,也抱以极高冀望,但从一线研发团队失去的反馈却是『感觉没什么用』。 价值感触不显著的具体起因,可能是用户拿到的数据与其需要并不匹配,比方将来自各个环节的海量数据明细间接展现给高层技术管理者,信息冗余造成极高的了解老本,效力度量天然被打入冷宫;可能是组织还没有对度量目标达成共识,漫无目的地看数据,数据就仅仅是数字的组合,沦为鸡肋也不奇怪。 有价值的效力度量,应该是怎么的状态?思考到一线研发团队的绝大部分精力都投入在业务上,一个还须要用户补习畛域常识、自行筛选解读的半成品数据集,的确不如人意。明明想要晋升效力,反而须要投入额定精力,无异于背道而驰。 要使效力度量的价值最大化,咱们提供给研发团队的该当是『效力产品』。如张乐老师先前的分享所说,数据→信息→常识,用户能够依据需要,低门槛地自助生产数据,被动进行剖析和洞察。 场景化剖析,设计效力度量的第一个环节当咱们用产品思维从新思考效力度量这件事,『场景化』就成为必要条件。能够从指标登程,借助场景化剖析,明确以下四个因素,进而设计效力度量计划: 角色:度量数据使用者的在研发团队中的角色,决定了度量构造(组织、团队、我的项目、集体级)背景:明确为什么做度量,这个需要可能来自业务方,或来自研发团队自身。上下文决定了度量对象(进度、品质、过程等)目标:同一度量对象可能对应多个指标,因而须要拆成多个问题,进一步细化,这里无妨采纳技巧:先抛出具体论点,而后思考要证实或证伪这个论点,须要哪些指标做撑持,哪些指标作为制衡保障度量有效性度量:构建最小度量汇合,并思考采纳哪些分析方法来解读数据中的信息 案例:常见的『研发团队要加人』场景接下来咱们开展介绍直播分享中的第一个场景,作为场景化度量实际的案例。直播中另外两个场景能够在直播回看。 这个场景能够说是相当常见:研发团队向上反映人手不够,要加人。那么高管在这个场景下的需要是: 角色:高管背景:须要主观评估研发资源缓和水平,领导后续招聘工作目标:验证『要加人的 A 部门和 B 部门都存在人力缺口』是否成立对于高管而言,度量对象是组织整体与某几个团队的产能与交付状况。 高管能够把代码当量、需要交付周期、需要吞吐量等指标作为数据抓手,从资源效率(价值输出方视角)与流动效率(价值输出方视角)两个视角,评估组织整体的产能状况,并通过与行业基线比照,评估是否存在组织级的产能缓和。 与行业基线的比照显示,大部分工夫内组织的整体产能程度处于失常区间。 接下来,能够依照部门进行下钻剖析,重点关注 A、B 两个部门的人均产能与组织均值的比照。 只管不同部门可能在业务性质、阶段等方面存在差别,横向比照不肯定实用。但这里部门级剖析没有任何考核目标,仅是通过绝对简略的数据抓手,辨认须要高管额定关注的关键点。 下图显示,B 部门的人均产能偏低,持续下钻查看部门详情,显示 B 部门产能有显著升高的趋势。 基于这些洞见,『B 部门存在人力缺口』这一论点存疑,高管可能会要求 B 部门补充信息,来反对其人力需要的合理性。 当初问题回到了 B 部门外部。角色切换到 B 部门技术负责人,持续用场景化剖析的思路梳理: 角色:技术负责人背景:须要深刻理解工作过饱和景象背地的根因,佐证人力需要的确存在,或采取针对性的效力改良措施目标:验证『工作过饱和的起因是团队合作行为有待改善』(这是多个待验证设论中的一个)对于技术负责人而言,度量的对象是本部门的效率,以及可能影响效率的诸多因素。 技术负责人通过观察人均产能趋势发现,只管最近加班加点,人均产能间断回升,但也仅回升至去年同期平均水平。同时,因为相干业务处于安稳期,需要吞吐量也没有显著稳定。从资源效率与流动效率两个视角看,都不存在需要激增超过团队负载的状况。 为了验证团队合作行为是否对效率产生了影响,技术负责人能够从资源效率登程,进一步下钻至集体级,应用帕累托图去剖析开发者的产能散布;也能够从流动效率登程,察看需要交付周期趋势,以及各环节的时长散布。 剖析发现,只管需要吞吐量变动不大,但交付周期显著缩短,流负载(在制品数量)也显著减少。工作积压导致团队成员须要同时解决多项工作,频繁切换上下文,进一步连累团队效率。 在团队中,某一部分工作延期较频繁,常常成为我的项目要害门路上的流动。技术负责人对该局部的相干开发人员近期产能进行帕累托剖析,发现 80 %的代码工作量由 22% 成员奉献,反映出该局部工作存在任务分配不合理、不平衡,多数成员承当过多任务的状况,这也响应了上一段提到的工作积压景象。 基于以上洞见,技术负责人可能理解到,合作不合理的确是效率的影响因素之一。进一步,能够抉择针对性的改良措施,如 与上游产品方沟通,管制需要流入,防止在制品数量持续回升,给关键环节以喘息调整的机会;调整工作分配机制,防止多个工作同时依赖于多数成员;定向组织培训,开释开发者潜能,使『单挑大梁』转变为『群策群力』通过场景化剖析,使同一套数据面向不同角色、不同背景呈现出不同切面,在保障信息对齐的同时,使各角色从效力度量中各取所需。 DevData Talks 3 预报 | 茹炳晟:研发效力晋升案例看完上一期的分享回顾,大家是不是感觉意犹未尽呢?敬请期待下一期内容! 咱们邀请到了 业界出名实战派 软件品质和研发工程效力专家 茹炳晟 老师来参加DevData Talks第三期的直播流动。届时,茹老师将与大家分享无关研发效力晋升的思考,对可测试性进行一次深入浅出的探讨,次要内容蕴含以下 5 个方面: ·可测试性的定义 ...

March 25, 2022 · 1 min · jiezi

关于devops:fluxcd2安装

前置条件:装置了K3S或者K8S。 装置步骤:下载 fluxcd 的装置脚本并执行 curl -s https://fluxcd.io/install.sh | sudo bash批改.bashrc文件,配置环境变量export GITHUB_TOKEN="{{your token}}"export GITHUB_USER="{{your name}}"export KUBECONFIG=/etc/rancher/k3s/k3s.yaml # 如果是k8s,这里须要批改为本人的门路检测装置状态flux check --preflux install --registry="ccr.ccs.tencentyun.com/fluxcd" # 能够不指定镜像mirror,然而拉取镜像会很慢甚至拉不下来,倡议迷信上网本地拉取,而后推送到本人的镜像仓库中,而后这里指定mirror。这里指定的是我在腾讯上公开的镜像仓库,只有个别版本。设置Github仓库// 这里可能须要提前本人在github上创立一个空白仓库 flux bootstrap github --owner={{your name}} --repository=fluxcd --path=clusters/k3s-cluster --personalgit clone git@github.com:{{your name}}/fluxcd.gitcd fluxcdflux create source git podinfo --url=https://github.com/stefanprodan/podinfo --branch=master --interval=30s --export > ./clusters/k3s-cluster/podinfo-source.yamlgit add -A && git commit -m "Add podinfo GitRepository"git push执行fluxcd创立命令 flux create kustomization podinfo \ --target-namespace=default \ --source=podinfo \ --path="./kustomize" \ --prune=true \ --interval=5m \ --export > ./clusters/k3s-cluster/podinfo-kustomization.yaml查看部署状况能够在dashboard中查看各个pod的状况。 ...

March 18, 2022 · 1 min · jiezi

关于devops:云原生时代如何保证容器镜像安全

Docker 的呈现扭转了应用程序的运行形式与交付模式:利用程序运行在容器内而软件的交付变成了容器镜像的交付 。随着这几年云原生的炽热,容器的采用率也是逐年回升。依据 Anchore 公布的《Anchore 2021 年软件供应链平安报告》显示容器的采纳成熟度曾经十分高了,65% 的受访者示意曾经在重度应用容器了,而其余 35% 示意也曾经开始了对容器的应用: 然而容器的平安问题却不容乐观,这个能够在公众号文章极狐GitLab DevSecOps 七剑下天山之容器镜像平安扫描查看详情。 因为容器是由容器镜像生成的,如何保障容器的平安,在很大水平上取决于如何保障容器镜像的平安。而对于容器镜像平安的保障,能够秉承预防为主,防治联合的理念来进行。所谓防,就是要在编写 Dockerfle 的时候,遵循最佳实际来编写平安的 Dockerfile;还要采纳平安的形式来构建容器镜像;所谓治,即要应用容器镜像扫描,又要将扫描流程嵌入到 CI/CD 中,如果镜像扫描出破绽,则应该立刻终止 CI/CD Pipeline,并反馈至相干人员,进行修复后从新触发 CI/CD Pipeline。 上面就从即防又治的角度来讲述如何确保容器镜像平安。 听从最佳实际,编写 Dockerfile抉择适合的根底镜像Dockerfile 的第一句通常都是 FROM some_image,也就是基于某一个根底镜像来构建本人所需的业务镜像,根底镜像通常是利用程序运行所需的语言环境,比方 Go、Java、PHP 等,对于某一种语言环境,个别是有多个版本的。以 Golang 为例,即有 golang:1.12.9,也有 golang:1.12.9-alpine3.9,不同版本除了有镜像体积大小的区别,也会有安全漏洞数量之别。上述两种镜像的体积大小以及所蕴含的破绽数量(用 trivy 扫描)比照如下: 能够看到 golang:1.12.9-alpine3.9 比 golang:1.12.9 有更小的镜像体积(351MB vs 814MB),更少的破绽数量(24 vs 1306)。所以,在选取根底镜像的时候,要做出正确抉择,不仅可能放大容器镜像体积,节俭镜像仓库的存储老本,还可能缩小破绽数量,放大受攻击面,进步安全性。 以非 root 用户启动容器在 Linux 零碎中,root 用户意味着超级权限,可能很不便的治理很多事件,然而同时带来的潜在威逼也是微小的,用 root 身份执行的毁坏口头,其结果是灾难性的。在容器中也是一样,须要以非 root 的身份运行容器,通过限度用户的操作权限来保障容器以及运行在其内的应用程序的安全性。在 Dockerfile 中能够通过增加如下的命令来以非 root 的身份启动并运行容器: RUN addgroup -S jh && adduser -S devsecops -G jhUSER devsecops上述命令创立了一个名为 jh 的 Group,一个名为 devsecops 的用户,并将用户 devsecops 增加到了 jh Group 下,最初以 devsecops 启动容器。 ...

March 13, 2022 · 3 min · jiezi

关于devops:改进DevSecOps框架的-5-大关键技术

Markets and Markets的一项钻研显示,寰球DevOps的市场规模从2017年的29亿美元减少到2023年的103.1亿美元,预测期的年复合增长率(CAGR)为24.7%。人们对DevOps越来越感兴趣,因为DevOps不仅可能压缩软件的交付周期,还能进步交付的速度和品质。 Verified Market Research还预测,2019 年寰球DevSecOps市场价值为 21.8 亿美元,预计到 2027 年将达到 171.6 亿美元,从2020年到2027年的年复合增长率为30.76%。 IT社区中,采纳DevOps办法的我的项目越来越多,很多组织认可DevSecOps的劣势。顾名思义,它意味着DevOps办法的安全性。在整个开发过程中,花在放弃、保护开发安全性的工夫会缩小。平安代码是晋升DevOps的重要组成部分。 DevSecOps的重要指标是:将平安防护融入软件开发的整个生命周期中。这一指标将由平安团队和经营团队来实现。此文将讲述如何施行DevSecOps办法,以及从继续集成到部署的整个过程如何胜利实现自动化。 1.团队须要理解DevSecOps的新文化DevSecOps 团队由三个团队组成:开发团队、运维团队和平安团队。DevSecOps 团队的指标是在应用程序和基础设施层面加强平安协定。古代开发最佳实际迫使公司将开发、运维和平安团队整合到一个DevSecOps保护伞下,通过将安全性与左移策略集成,以更快的速度构建、公布代码。 它通过频繁沟通、参加、合作和团队协调来减轻负担,建设信赖并受权部署过程。 2.在DevSecOps中应用麻利开发DevSecOps不能取代麻利方法论。它是对麻利的一种赞美,但它不能代替从疾速开发到交付产品的过程。DevSecOps中的麻利办法有助于以更快、更频繁的产品公布形式交付代码。 麻利办法涵盖了软件测试、质量保证和生产反对,而DevSecOps提供了促成麻利适应的工具。DevSecOps 在晚期阶段就曾经开始强调平安测试,从而进步软件品质。DevSecOps被视为软件继续集成和继续交付不可或缺的局部。 3.采纳自动化测试DevSecOps 综合了DevOps和自动化测试的劣势。自动化测试有助于放弃DevOps模型的分割。它使管道中的交付速度得以晋升、品质得以进步。而且为软件公布和后续发现错误提供了平台。网络攻击在各行各业都在增强,DevSecOps也在解决网络攻击方面施展着关键作用。自动化测试方法提供了全面的平安测试策略,保障了企业要害应用程序的平安。将此作为公布周期的一部分,能够有效应对晚期的常见破绽和补丁。所以,它从表演攻击者角色的应用程序或基础设施着手,这样就能够克服此类破绽。 4.全天候继续监控和扩大7*24的全天候继续监控是DevSecOps的根本要求。此过程包含各种继续监控工具,可确保安全零碎智能运行。使咱们得以更好地跟踪、审计和全面理解安全性。此外,在保护大型数据中心时,继续监控和扩大有助于扩大IT基础设施的自动化流程,防止资源节约。 5.保障CI-CD管道的安全性近年来,DevSecOps的采纳帮忙许多企业在产品负责人、产品经理、开发、测试和 CloudOps 等各个领域承当起平安责任和所有权。问题包含大规模的落差、高管的忽然辞职以及高管未能满足消费者需要。为了解决这些问题,企业强调,DevSecOps须要联结平安团队、合作伙伴,制订 CI-CD 管道中的平安自动化计划。 此外,许多团队也遵循麻利开发流程,其中,DevSecOps施展平安审计和浸透测试的作用。 DevSecOps 设计师与继续的 CI-CD 交付管道集成,确保产品(软件)交付的安全性。这让公司能依照可预测的工夫和估算,疾速响应安全事件。

March 7, 2022 · 1 min · jiezi

关于devops:DevStream-v010-发布打造灵活的-DevOps-工具链

麻烦的 DevOps 工具链在创造性的设计与敲代码工作以外,开发者经常还须要腾出精力解决许多确定性、重复性高的工作,DevOps 工具链的治理就是其中一项。 在软件研发生命周期的各个环节,工具的选型、买通、落地、保护都不是易事。 一站式 DevOps 平台许多云厂商因而推出一站式 DevOps 平台,用大而全的解决方案节俭研发团队在 DevOps 工具链治理事务上投入的资源。一站式平台的确带来了便当,但须要注意这种便当建设在让渡局部抉择自在的根底上。站在全局视角,受限的选择权有时反而会侵害研发效力。 随着软件工程复杂化,微服务架构被宽泛采纳。服务拆分成微服务,并由一个团队独立负责,每个服务都能灵便抉择其架构,服务之间可能编程语言不同,部署形式和特点可能也不同。 此时,一站式 DevOps 平台就难以满足微服务架构下各团队对于灵活性的需要。 开源 DevOps 工具链更合乎微服务理念的 DevOps 工具链,该当容许各服务团队依据业务须要与开发者偏好,灵便抉择最能为本人提效的工具;当团队思考采纳更优工具/实际时,能够低门槛地与现有工具链整合或替换现有工具,而不必被现有厂商绑定。 但搭建一条残缺的工具链,投入利用并继续保护,前提条件是搞清每个环节的“最佳实际”。这不仅须要有足够人力反对,也须要工程师的教训十分丰盛。 第三种抉择?咱们既想要有开源 DevOps 工具链的灵活性,给开发者充沛的工具抉择自在;也想要有一站式 DevOps PaaS 服务的轻松便当,毋庸团队投入过多人力物力去钻研,可能高效落地。 近期公布 0.1.0 版本的 DevStream 正是为了解决这个问题:解决开源 DevOps 工具落地的难点,搞定开源 DevOps 工具链之间买通的痛点,解放研发团队的生产力,让大家少在 DevOps 工具上踩坑,腾出更多的精力在本人的业务逻辑上。 DevStream v0.1.0 目前能干什么?DevStream 是一款解决 DevOps 工具链治理的开源工具。用一个简略的配置文件,将 DevOps 全生命周期各个环节的支流开源工具治理起来,包含这些工具的疾速装置部署、最佳实际配置、工具间的买通等等。目前的 v0.1.0 可能做到 缺点、需要治理 - Trello (集成 GitHub)源码治理 - Golang 脚手架生成CI 流程 - Golang、Python、NodejsCD/GitOps - ArgoCD / ArgoCD AppMonitoring - kube-prometheusDemo视频:https://www.bilibili.com/vide... DevStream 的将来布局DevStream 的愿景是实现 “DevOps toolchain as code”,届时整个 DevOps 工具链都将以 DevStream 作为惟一入口来运维,dtm (DevStream 命令行工具)将成为 DevOps 工具链的 “single source of truth”。当开发者须要替换工具链的某一个环节,用几行代码就能够搞定。 ...

March 2, 2022 · 1 min · jiezi

关于devops:nginx-vue前后端分离配置示例

vue + thinkphpvue为history路由模式,固定/api,/static前缀为php应用server { listen 80; server_name localhost; set $static_root ''; # web目录 set $php_root ''; # php目录 root $static_root; index index.html index.htm index.php; location ~ \.php$ { root $php_root; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffer_size 128k; fastcgi_buffers 32 32k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; } location / { try_files $uri $uri/ /index.html; } location ^~ /api/ { root $php_root; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } location ^~ /static/ { root $php_root; access_log off; } # 首页不缓存 location = /index.html { add_header Cache-Control no-cache; add_header Pragma no-cache; add_header Expires 0; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 12h; log_not_found off; access_log off; }}vue + 端口转发二级目录可应用此办法server { listen 80; server_name localhost; root ''; index index.html index.htm; location ^~ /api/ { proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:8080; # proxy_pass http://localhost:8080/; #转发时想去除/api前缀可应用这条 } location / { try_files $uri $uri/ /index.html; } # 首页不缓存 location = /index.html { add_header Cache-Control no-cache; add_header Pragma no-cache; add_header Expires 0; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 12h; log_not_found off; access_log off; }}

March 2, 2022 · 1 min · jiezi

关于devops:了解-DevOps必读这十本书

为了帮忙了解 DevOps 和软件交付中一些要害的概念,上面列出了必须浏览的十大 DevOps 书籍。无论老手还是新手,这里总会有一本适宜你的书。 一、《凤凰我的项目:一个IT运维的传奇故事》作者:Gene Kim、Kevin Behr 、 George Spafford在其余的每一个十大必读书籍名单中,也肯定能找到这本书。这本畅销书的最新扩大版中退出了合著者 Gene Kim 的一个新后记,并对 DevOps 手册中形容的三种形式进行了更深刻的钻研。 二、《继续交付:公布牢靠软件的零碎办法》作者:Jez Humble、David Farley作者介绍了最先进的技术,包含自动化基础架构治理和数据迁徙,以及虚拟化技术的应用。对于每一部分,他们都会指出关键问题,确定最佳计划,并阐明如何升高危险。无论你是开发人员、系统管理人员、测试人员还是经理,这本书都会缩短一个团队把想法转化为技术公布所用的工夫。 三、 《DevOps实际指南》作者:Gene Kim、Jez Humble、Patrick Debois 、 John Willis效法《凤凰我的项目》,《DevOps 实际指南》面向领导者,通过展现如何整合产品治理、倒退、质量保证、IT 经营和信息安全这些方面来全面晋升公司并在市场中取胜,从而复制这些不堪设想的成绩。 四、《减速:精益软件和DevOps的迷信》作者:Nicole Forsgren、Jez Humble 和 Gene Kim读者将理解到如何考核团队绩效,以及为了进步绩效应该在哪些能力上加大投入。这本书非常适合各个级别的管理人员来浏览。 五、《DevOps施行手册:在多级IT企业中应用DevOps 》作者:Sanjeev SharmaDevOps 始终是过来十年中 IT 最热门的趋势之一,大量的胜利案例证实了DevOps的有效性,在寰球任何规模、行业或 IT 成熟度程度的组织中均实用。《DevOps 施行手册》展现了如何让你的团队参加到DevOps中去,这样就能够放慢产品的生产,并通过翻新做得更好。 六、 《引领转型:大规模利用麻利和 DevOps 准则》作者:Gary Gruver 、Tommy Mouser《引领转型:大规模利用麻利和 DevOps 准则》是一份面向管理人员的指南,它为改良开发和交付提供了清晰的框架。与专一于进步团队效率的传统麻利和 DevOps 办法不同,这本有声读物的指标是协调大型组织中跨团队的工作——这种改良仅能由管理人员来实现。 七、《在企业中发动和推广DevOps》作者 :Gary Gruver本书阐明了应该如何剖析目前的倒退和交付流程,来保障你能通过 DevOps 实际取得踊跃的能源。这些实际以继续改良为指标,它们会对团队的生产力产生极大的间接影响。 八、《奔跑吧Ansible:摸索自动化配置与部署捷径》作者:Lorin Hochstein 、 Rene Moser作者 Lorin Hochstein 和 René Moser 教给读者如何编写剧本(Ansible 的配置管理脚本)、治理近程服务器并摸索该工具的真正力量:内置申明性模块。通过浏览这本书,你会发现 Ansible 既领有咱们须要的性能,还有咱们想要的简洁。因为本书采纳教程式编写,因而能够在本人的设施上学习。大多数示例都集中在 Web 应用程序上。 ...

February 28, 2022 · 1 min · jiezi

关于devops:opentelemetry架构及名词介绍转

转自https://izsk.me

February 18, 2022 · 1 min · jiezi

关于devops:ApacheCN-DevOps-译文集二20211230-更新

Kubernetes 入门指南 零、前言一、Kubernetes 和容器操作二、Kubernetes——外围概念和构造三、外围概念——网络、存储和高级服务四、更新和扩大五、继续交付六、监控和记录七、OCI、CNCF、CoreOS 和 Tectonic八、为生产做筹备Kubernetes Windows 实用指南 零、前言第一局部:创立和应用容器 一、创立容器二、治理容器中的状态三、应用容器映像第二局部:了解 Kubernetes 的基本原理 四、Kubernetes 概念和 Windows 反对五、不堪设想的网络六、与 Kubernetes 集群交互第三局部:创立 Windows Kubernetes 集群 七、部署混合外部 Kubernetes 集群八、部署混合 Azure Kubernetes 服务引擎集群第四局部:应用 Kubernetes 编排 Windows 容器 九、部署您的第一个利用十、部署微软 SQL Server 2019 和 ASP.NET MVC 利用十一、配置利用来应用 Kubernetes 性能十二、应用 Kubernetes 开发工作流十三、爱护 Kubernetes 集群和利用十四、应用普罗米修斯监控 Kubernetes 利用十五、劫难复原十六、运行 Kubernetes 的生产注意事项十七、答案Kubernetes 微服务实用指南 零、前言一、面向开发人员的 Kubernetes 简介二、微服务入门三、Delinkcious——示例利用四、设置 CI/CD 流水线五、应用 Kubernetes 配置微服务六、爱护 Kubernetes 上的微服务七、与世界对话——API 和负载平衡器八、应用有状态服务九、在 Kubernetes 上运行无服务器工作十、测试微服务十一、部署微服务十二、监控、记录和度量十三、服务网格——与 Istio 合作十四、微服务和 Kubernetes 的将来Kubernetes 手册 零、对于本书一、Kubernetes 入门二、Kubernetes 操作原理三、装置 Kubernetes四、应用 Pods五、Kubernetes 部署六、Kubernetes 服务七、服务发现八、长久存储九、配置映射十、状态集十一、Kubernetes 威逼建模十二、真实世界的 Kubernetes 平安十三、词汇表十四、下一步是什么Kubernetes 秘籍 ...

February 10, 2022 · 3 min · jiezi

关于devops:ApacheCN-DevOps-译文集-20211227-更新

Docker DevOps 入门手册 零、前言一、映像和容器二、利用容器治理三、编排和交付DevOps 2.5 工具包 零、前言一、依据资源应用状况主动缩放部署和状态集二、主动缩放 Kubernetes 集群的节点三、收集和查问指标并发送警报四、调试通过指标和警报发现的问题五、应用自定义指标扩大HorizontalPodAutoscaler六、可视化指标和警报七、收集和查问日志八、咱们做了什么?Docker AWS 教程 零、前言一、容器和 Docker 根底二、应用 Docker 构建利用三、AWS 入门四、ECS 简介五、应用 ECR 公布 Docker 映像六、构建定制的 ECS 容器实例七、创立 ECS 集群八、应用 ECS 零碎部署利用九、治理秘密十、隔离网络拜访十一、治理 ECS 基础设施生命周期十二、主动缩放十三、继续交付 ECS 利用十四、Fargate 和 ECS 服务发现十五、弹性 Beanstalk十六、AWS 中的 Docker Swarm十七、弹性 Kubernetes 服务十八、答案深刻了解 Docker 零、对于本书一、来自 30,000 英尺的容器二、Docker三、装置 Docker四、概览五、Docker 引擎六、映像七、容器八、将利用容器化九、应用 Docker 编写部署利用十、DockerSwarm十一、Docker 网络十二、Docker 笼罩网络十三、卷和持久数据十四、应用 Docker 栈部署利用十五、Docker 的平安十六、下一步Docker Windows 教程 零、前言第一局部:了解 Docker 和 Windows 容器 一、Windows Docker 入门二、将利用打包并作为 Docker 容器运行三、开发 .NET 框架和 .NET Core 利用四、与 Docker 注册表共享映像第二局部:设计和构建容器化解决方案 ...

February 10, 2022 · 3 min · jiezi

关于devops:效能时代数栈专属DevOps跑出加速度

一、浅析DevOps互联网的倒退形同潮水,来势汹汹、快而迅猛,企业业务日益宏大的同时随同着团队规模的扩充,业务的复杂度与关联性显著晋升的同时对效力也有了更高的要求,高效协同之间,咱们既要谋求疾速交付,亦要保障产品的品质与稳固,两者之间产生了矛盾。DevOps作为这个矛盾平衡点,其概念最早于2009年被提出,并在近几年受到企业宽泛的关注与实际。促使DevOps近年高频呈现的起因,咱们总结出以下两点: 传统研发模式下的运维之痛。 以往的研发模式经验了瀑布式开发、麻利开发两个阶段,前者严格依照“本阶段实现、下阶段开启”的模式,过程危险大、前期出成绩,研发谋求扭转、运维谋求稳固,单方筑起一道信息及信赖的壁垒;后者尽管不再拘泥于各阶段的严格、残缺执行,且更重视疾速扭转的能力与阶段性成绩的展示,然而其对环境资源利用、人为流程解决、测试品质与自动化,以及过程中须要保障的固定耗费等所波及到的节约与瓶颈短少无效的解决与降级。传统研发模式在效率与资源利用率上体现出了本身的欠缺。 图1:传统研发模式演进 微服务、容器技术等的配套倒退所提供的技术撑持。 微服务架构下,对应用程序进行解耦,成为互相独立并协调配合的服务组,防止反复开发,具备轻量级通信及易扩大的特点,研发独立负责各自功能模块的全流程解决;容器技术基于虚拟化,解决了应用程序对操作系统的依赖,在操作系统之上划分多“运行环境”,隔离环境缩小相互间影响,占用资源更少、部署速度更快。 图2:容器技术演进 DevOps便是在这些背景下应运而生,那么到底什么是DevOps?咱们先来看下维基百科给到其的定义:“DevOps是一组过程、办法与零碎的统称,用于促成开发、技术经营和品质保障(QA)部门之间的沟通、合作与整合。”人们通过概念也衍生出不拘一格的解读,然而DevOps的定义并没有标准答案,它不是一个标准化产品,企业不同,DevOps亦不同,DevOps代表着企业的生产文化,关乎企业的基础设施、生产流程、工具和自动化,它是一家企业成熟的必然产物。 本文接下来将联合数栈产研近两年遇到的研发效力问题分享下数栈DevOps建设实际。 二、数栈DevOps由来作为企业数字化转型基础设施平台,为满足各行业客户的需要,数栈须要一直地更新迭代,业务和架构也随之日益简单。业务量继续减少的同时,团队规模也在日渐扩充,流程制约和异地协同等影响产研效力的问题因而逐步浮现。晋升产研效力、确保产品质量,对实现疾速交付至关重要。 通过近几年的疾速倒退,数栈产品体系已具备离线开发、实时开发、数据服务、数据资产、数据品质、智能算法、智能标签、指标治理8大产品,随着数字化转型过程的推动,新的产品线仍在继续孵化,数栈更是于2021年下半年实现了超过80次的需要迭代。 为确保研发效力和产品质量,数栈制订了欠缺的研发流程规约,笼罩代码分支标准、开发标准、提测流程、提测规范、封板规范、公布规范、缺点治理规范等诸多方面,然而流程标准大多依赖人的执行力,且执行后果无奈标准化,局部流程标准落地艰难,过程中一直涌出新的问题与挑战,迫使咱们尽快制订对策、引入并落地数栈DevOps。 数栈研发流程规约 图3:数栈研发流程 如图所示,开发在接到需要后进入研发工作,研发实现经由Gitlab提交代码并实现联调自测,自测通过后于禅道发动提测单,测试人员将利用Jenkins进行环境的构建与部署,并实现一系列测试与后果的反馈,测试通过后利用Jenkins实现产品打包,并利用数栈部署平台实现部署上线,由测试实现上线后的自动化回归并产出测试报告,最初运维人员会在数栈运管平台及配置核心保护相应的产品包及配置。 整体流程其实曾经比拟清晰与标准,但不难看出其中较为显著的问题,以及全流程波及到的6个平台之间的合作很难造成标准化串联,少数环节过于依赖人为主观解决,断层比较严重,流程细节处也存在不少暗藏问题: 1. 研发环境不隔离 不同产品开发过程中换包、调试相互影响,研发环境不稳; 2、自动化能力复用率低 数栈以后有现成的自动化能力,然而无奈被各类角色、在多个环节轻松复用,自动化须要人为与其余流程进行连接,呈现出“半自动化”状态,未无效施展出其最大的价值; 3. 工具多,存在应用门槛 老人操作简约、新人/异地团队上手艰难,须要重复宣导,各角色对于彼此的工具也不甚相熟,并且多个工具在整个研发流程的各个节点行为割裂,齐全依赖人为主观串联,流程多而杂、连贯性差、整体效率低下; 4. 数据扩散不通明 迭代流程数据扩散在各自平台,不残缺且不齐全通明,须要人为收集整合与比照剖析,在关怀性能实现之余,须要额定扩散精力汇总数据且易脱漏,岂但减少人工成本,其问题裸露难、流程优化难的状况也未失去便捷无效的改善; 5. 历史基础设施包袱 数栈倒退至今,衍生出的基础设施如代码治理、需要治理、构建治理、配置管理、环境治理、品质治理、部署治理等,都是从能力的角度独立建设,存在孤岛问题,其中配置管理、部署治理采纳了自研零碎,需要治理和品质治理对开源零碎做了二次开发。市面上成熟的DevOps平台往往集成了局部能力零碎,对企业自研的能力零碎个别无奈兼容,这就对咱们间接洽购成熟DevOps平台或产品造成了制约。 图4:数栈产研基础设施倒退图 数栈产研部在总结以上问题之后,最终决定自研数栈DevOps去帮忙更好的解决现有的问题,升高学习老本、开释局部人力、进步产研品质、晋升交付效率。 上面咱们将对数栈DevOps的实际经验进行开展分享。 三、数栈DevOps实际1. 能力平台建设 图5:数栈DevOps性能架构图 从架构图中能够看到,数栈DevOps布局集成目前正在投产中的部署管家、测试平台、Jenkins、Gitlab、运维治理、配置核心、禅道等平台,依据平台进行能力集成与插件开发,通过能力集成须要在平台中灵便配置流程流水线。基于相干事件的主动捕捉或人为手动触发运行的模式,平台将依据配置程序顺次执行各阶段流程,例如自动化测试阶段中的“构建 - 部署 - 自动化测试”流程,无需像以往人为一一执行。 图6:能力集成 数栈DevOps通过一系列摸索与实际将研发和运维的壁垒破除于平台之上,晋升了二者间连接效率和可控性。但实现这一成果其间还有一个不可疏忽的角色——测试。数栈测试团队将自动化测试与数栈DevOps深度交融,实现测试左移、测试右移,降本增效的同时让产品问题尽早裸露、更早解决, 时刻关注线上稳固运行,从各个节点严格把控数栈产品的品质。 数栈DevOps通过集成上述多样化能力,串联多平台工具,以此出现上下游连贯的执行关系,确定好标准与规范,将以往的人为依赖更多转化为自动化解决,晋升了执行效率,同时平台也更好的实现了自动化测试能力的复用,升高了员工对工具的学习老本及对业余角色的依赖。 2. 流水线能力建设 在数栈DevOps平台上可依据我的项目别离进行流水线治理,可配置适应企业外部不同部门、不同产品线的研发流程流水线。能够自主在流水线上定义不同阶段,如开发阶段、测试阶段等,用来详细描述整条研发流程,实现阶段的标准有序、屡次可继续执行能力,通过增设阶段卡点、绿色通道,加强关键环节的约束力。上面联合具体场景,给大家讲述一下数栈DevOps实际。 3. 实际场景 实际场景一:0-1产品包自动化测试 如上文所述,2021年下半年数栈产品线做了超过80次的产品迭代,每次迭代流程包含了开发阶段、测试阶段、制品阶段、公布阶段等,打包人员在制品阶段打产品包,该产品包能够通过自研部署平台EasyManager进行部署、降级。在原有的打包流程里,打包人员打完产品包,流程就完结了,运维同学间接取产品包到环境部署,这个过程存在两个问题: ◽ 打包之后未对产品包执行测试,产品包自身可能存在品质问题; ◽ 利用的初始化sql(全量sql)未通过测试,可能存在品质问题。 图7:原有打包流程 为解决这两个问题,打包人员利用数栈DevOps平台的流程能力,联结测试进行流程共创,把产品包制作和产品包自动化测试配置到一个流水线里,实现产品包0-1的自动化测试,打包人员通过这个流水实现打包和产品包测试自动化,新的流程如图所示: 图8:优化后打包流程 为了在数栈DevOps平台上配置这个流程,打包人员确定须要集成的能力为产品包制作能力、部署能力和自动化测试能力,能力散布状况为: 产品包制作能力: 打包人员基于Jenkins建设了自动化打包工程 ...

February 9, 2022 · 1 min · jiezi

关于devops:Gitlab多实例搭建

Gitlab-多实例搭建操作系统:CentOS所有服务如下:节点A:OpenResty、grafana-server节点B:PGSQL、Redis节点C:Gitlab_1节点D:Gitlab_2节点E:Gitlab_3..............节点N:Gitlab_n节点AOpenResty 装置参考https://openresty.org/cn/inst... # 装置相干依赖yum install pcre-devel openssl-devel gcc curl# 下载源码包wget https://openresty.org/download/openresty-1.19.9.1.tar.gz# 装置源码包,VERSION=1.19.9.1tar -xzvf openresty-VERSION.tar.gzcd openresty-VERSION/./configure --prefix=/opt/openresty \ --with-luajit \ --without-http_redis2_module \ --with-http_iconv_module \ --with-http_postgres_modulemakesudo make install# 启动openresty# 重启服务 sudo /opt/openresty/bin/openresty -s reload# 进行服务 sudo /opt/openresty/bin/openresty -s stopsudo /opt/openresty/bin/openrestygrafana-server 装置参考https://grafana.com/docs/graf... # 装置,这里的<rpm package url>和<local rpm package># 替换成所需版本的包sudo yum install initscripts urw-fonts wgetwget <rpm package url>sudo rpm -Uvh <local rpm package># 启动sudo systemctl daemon-reloadsudo systemctl start grafana-serversudo systemctl status grafana-serversudo systemctl enable grafana-server节点B搭建redis ...

February 8, 2022 · 1 min · jiezi

关于devops:如何打赢一场-DevOps-阻击战

云在疾速倒退,开发人员在疾速提高,而攻击者也始终在“新陈代谢”。 如何跟上局势并确保云部署的平安?云零碎与本地零碎的平安做法有何不同?如何确保多个独立开发团队之间的一致性?微软曾经发现,应用平安基准能够帮忙你疾速爱护云部署,并使你可能疾速升高组织面临的危险。Azure 平安基准 (Azure Security Benchmark,简称ABS) 蕴含一系列平安倡议,可用于帮忙爱护在 Azure 中应用的服务,它包含安全控制和服务基线两个方面。Azure 平安基准侧重于以云为核心的管制畛域,这些控制措施与家喻户晓的平安基准统一,例如:Internet 平安核心 (CIS) 控制措施、美国国家标准与技术研究院 (NIST) ,以及支付卡行业数据安全规范 (PCI-DSS) 所形容的基准。 明天,咱们重点来谈一谈安全控制之 DevOps 安全性。DevOps 安全性涵盖 DevOps 过程中与安全工程和操作相干的管制,包含部署要害安全检查 (如动态应用程序平安测试、在部署阶段之前破绽治理) ,确保整个 DevOps 的安全性,还包含常见主题,如:威逼建模和软件供应链安全性等等。 执行威逼建模辨认潜在的威逼,确保威逼建模具备以下用处:在生产运行时阶段爱护你的应用程序和服务,以及爱护用于生成、测试和部署的我的项目、底层 CI/CD 管道和其余工具环境。 确保软件供应链平安确保你的企业的软件开发生命周期(Software Development Lifecycle)或流程蕴含一组安全控制,来管制外部和第三方软件组件 ,包含与应用程序具备依赖关系的专利软件和开源软件。定义限度规范,以避免歹意组件被集成和部署到你的环境中。 确平安 DevOps 根底构造确保 DevOps 根底构造和管道遵循跨环境(包含生成、测试和生产阶段)的安全性最佳实际。通常包含以下范畴的安全控制: 用于存储源代码、生成的 packages 和图像、我的项目和业务数据的我的项目存储库承载 CI/CD 管道的服务器、服务和工具CI/CD 管道配置将动态或动静应用程序平安测试集成到 DevOps 管道中确保动态或动静应用程序平安测试是 CI/CD 工作流程中门控管制的一部分。能够依据测试后果设置门控,避免易受攻击的 packages 提交到存储库、构建到 packages 中或部署到生产中。 在 DevOps 生命周期内强制施行工作负载的安全性确保工作负载在开发、测试和部署阶段的整个生命周期中失去爱护。应用 Azure 平安基准来评估管制,例如:网络安全、身份治理、特权拜访等等,这些管制能够在默认状况下被设置为护栏,或在部署阶段之前进行向左移位。 在 DevOps 中启用日志记录和监督确保你的日志记录和监控范畴包含 DevOps(和任何其余开发过程)中应用的非生产环境和 CI/CD 工作流元素。针对这些环境的破绽和威逼如果没有失去适当的监控,可能会给您的生产环境带来重大危险。还应监督来自 CI/CD 构建、测试和部署工作流的事件,以辨认 CI/CD 工作流作业中的偏差。 点击查看更具体的操作指南 ...

January 28, 2022 · 1 min · jiezi

关于devops:长篇寻找合适的研发效能度量指标-IDCF

最近几年 “软件研发效力” 成了业界的热词 ,频繁呈现在各个行业大会,被各大厂、传统行业数字化部门、谋求高效能的团队一直的提及并迭代,比方阿里的效力改良211愿景,腾讯的智研平台,百度工程能力白皮书。 那么为什么软件研发效力会成为热词,有哪些适合的软件研发效力指标呢? 本文想尝试答复这两个问题,并尝试构建一个依据团队上下文的软件研发效力举荐指标图表,同时介绍一些理论度量指标的案例。 一、为什么软件研发效力会成为热词?咱们先看看现有的问题, 与传统制造业相比,软件研发行业还很年老,并没有达到传统行业的大规模流水线的生产方式,这解释了为什么没有一种对立的,被宽泛认可的办法来掂量开发人员或研发小组的效力。研发效力的度量很大水平上取决于公司的类型,规模,文化,与之单干的我的项目类型以及其它诸多因素。甚至某些小而精,依附聪明才智和资深教训的守业团队,不必度量研发效力,团队仍然十分高效。 很显然,10年前应用代码行数(Lines of code)来度量研发效力的形式曾经不实用古代麻利过程对软件研发的了解了。以前关注代码产出,而不是业务成绩,以前关注集体绩效,而不是团队效力。例如: 随着公司和开发人员向着价值驱动和基于团队开发方向的转变,代码行数不再具备任何意义。100行代码是否比20行好?行数是否通知你获得了良好的停顿,还是只是一个没有上下文的形象指标?软件企业都在寻求其它无效的指标来度量研发效力。 同时,现在的软件行业曾经不再是“以大吃小”的时代了,而是转变成了“以快吃慢”的时代。对于很多大型软件企业、传统行业的数字化部门。本来“大”是劣势,当初却陷入了“大船难掉头”的难堪。如何破局?研发效力具体来讲就是从需要转化成软件或者服务的能力。改善研发效力从某种方面也在试图解决“大船难掉头”的难堪。 研发效力试图在解决度量和让研发变快的问题,那为什么会成为热词? 为什么最近几年各大厂、传统行业数字化部门、谋求高效能的团队,都纷纷开始在研发效力畛域发力,我认为这背地的起因有以下四点: 从内部技术视角来看:研发效力的土壤和环境曾经就绪,相似高速移动网络的遍及为智能手机和App培养了土壤和环境。4G挪动网络的遍及,让人们能够不便、疾速的接入互联网,为智能手机和App铺好了路。古代软件研发的各个环节曾经全面数字化,为研发效力的数据收集和度量做好了筹备。比方: 电子看板治理工作状态,可数字化团队合作状况。Git等工具治理代码提交,可数字化开发过程。继续部署流水线治理公布过程,可数字化公布状况。DevOps云上编排、监控,可数字化产品运行状态。从组织外部视角来看:很多公司都有“谷仓” (The Silo Effect),随同着市场竞争的日趋激烈,“谷仓” 效应越发突出,局部优化然而无奈全局优化,破局“大船难掉头”的难堪势在必行。开发到测试的连接实现了优化,然而当用户需要被设计好当前须要很长时间能力传递到开发,当产品上线后,线上问题须要很久能力从运维传递给开发并修复,影响了全局效率。基于合作流程的优化,突破流程中的“谷仓”,去除不必要的期待,让价值流动快起来,也是研发效力试图解决的问题。从公司业务视角来看:组织倒退规模化,技术驱动商业差异化,然而IT交付工厂化,难以应答市场的疾速变动。传统企业对于IT投资,谋求ROI最大化以及交付过程的透明化,从而缓解市场带来的压力,晋升差异化竞争力。研发效力度量的外围是提供数据撑持这个指标的达成,基于数据继续改良。从内部资源视角来看:以前业务的疾速倒退靠烧钱、人海战术换取更快的市场占有率,从而达到赢家通吃。那时候关怀的是软件产品性能产出,研发效率能够用人、用钱填上。然而随着工夫的推移,还有这么多从业人员可填吗?即使有了这么多人还能砸这么多钱吗?每年从事软件研发的毕业生无限,然而行业对人才的需要从没削减过,当抽干一线城市的人才,各个大厂曾经开始热衷去二、三线城市的大学招人了。同时,随着产品利润的降落,须要更多的获客,回馈客户,须要开始节流了,节流就是研发效力的晋升,同样的资源,同样的工夫来取得更多的成绩。二、有哪些适合的软件研发效力度量指标呢?下面根本答复了研发效力为什么会成为热词,那什么才是软件研发效力中适合的指标呢? 要度量哪些指标和数据呢?依据不同的场景和指标人群须要给出相应的度量指标。正如《要害对话》中倡议的,须要依据信息接收者的趣味点来构建沟通策略和沟通内容。从研发效力DevOps角度 《Accelerate》 这本书给出了4个指标和评估规范。研发效力是一个比拟大的话题,如何依据不同的关注点,给出不同的指标呢?Roy Osherove 的 “Lies, Damned Lies, and Metrics”也给出了很好的归类。依据咱们在我的项目中的理论应用和经验总结,这里把以后罕用的度量指标归类如下: 2.1 布局进度:评估进度,获取背景信息和上下文,晓得工作何时实现,预测问题(将来),对问题复盘与回顾(过来)。燃尽图 (每个迭代/每个公布) (Burn down chart sprint/release)速率图 (Velocity chart)标准差 (Standard deviation)吞吐量(Throughput)累积流程图 (Cumulative flow diagram)管制图 (Control chart)看板 在制品限度图 (Kanban WIP board)2.2 疾速反馈:继续集成,继续部署。构建与部署速度 (Build & Deploy speed)测试速度 (Test speed)代码签审时长 (PR approval Time)单元测试通过速率 (Unit tests passed)集成测试通过速率 (Integration tests passed)2.3 团队转型:应用特定指标来掂量不同工作形式的办法,能够影响行为,帮忙扭转人们的行为形式。也能够向管理层阐明某些事件不合理,须要扭转,或者阐明须要更多的工夫和估算。结对编程的时长 (Pairing Time)手工测试的时长 (Time spent manual testing)代码签审时长 (PR approval Time)修复失败构建的耗时 (Fix red build time)修复Bug的耗时 (Cost of fixing bug in Dev/Prod)测试覆盖率 (Coverage test count)效用调配比率 (Effort allocation, New work / Unplanned work or rework / Other work)2.4 辅助决策:可进行试验并一直寻找新的度量指标,帮忙做决策。前置时长 (Lead time)公布进来的Bug数 (Escaped bugs 线上逃逸Bug数)效用调配比率 (Effort allocation, New work / Unplanned work or rework / Other work)交付的价值 (Valued delivered)2.5 工程能力:4 key metrics 度量并找出团队工程实际的弱点。变更前置时长 (Lead Time for Changes)部署频率 (Deployment Frequency)变更失败率 (Change Fail Rate)服务复原耗时(Time to restore service) ...

January 27, 2022 · 3 min · jiezi

关于devops:什么是以特性为核心的持续交付|阿里巴巴DevOps实践指南

编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实际指南》,扫描上方二维码或返回:https://developer.aliyun.com/...,下载完整版电子书,理解阿里十年DevOps实践经验。 随着微服务架构和云原生技术的成熟,继续交付的理念也深入人心。继续交付要求开发团队继续、高频地向生产零碎交付软件。然而,一直增多的服务数量,给企业交付流程治理带来了微小挑战。同时,在 DevOps落地的过程中,逐渐凋谢生产环境的公布权限给到开发人员,这种松管控与企业平安生产存在抵触,多利用版本之间的协同问题也逐步凸显。如何解决企业在新技术转型和 DevOps 落地中的痛点,拿到技术改革带来的效力红利,是每个企业包含阿里巴巴都必须面对和解决的难题。 软件交付挑战阿里巴巴 2008 年对淘宝巨型服务进行拆分当前,逐步形成了一套实用于服务化、分布式架构的中间件体系,解决了简单零碎性能和稳定性在业务高速扩张中的瓶颈问题。随之而来的是利用变多、架构依赖简单、人员数量高速收缩、技能参差不齐等等问题。总结下来有以下几个方面: 利用数量多微服务架构被广泛应用当前,首先面临的就是利用数量的疾速收缩。原有研发流程也必须从批量公布模式向继续交付模式转型,否则会导致公布软件的危险和回滚的复杂度不可控。另一方面,测试和运维的工作量因为利用的收缩而倍增,变成整个研发团队的效率瓶颈。突破这种瓶颈的办法就是 DevOps 的全面落地,把整个软件交付过程交给开发来主导,从而解除瓶颈晋升效率。 架构依赖简单微服务架构让利用内依赖变为了利用间依赖,变更过程无奈做到原子化,因而须要很好的模块拆分和接口设计。一方面缩小单个性笼罩的利用数量,变更程序可控、回滚危险可控;另一方面单元测试能笼罩的场景须要集成测试来笼罩,导致开发过程对测试环境的应用频度和依赖度变高,须要稳固、牢靠的环境来保障所有开发人员都能够并行工作。 测试资源老本大测试环境受到资源老本和运维老本双重制约。在业务倒退初期,能够采纳全链路残缺部署加上多套环境的形式来满足研发团队的要求。然而随着业务的疾速倒退和研发团队的疾速扩张,一直地减少环境在老本上曾经无奈累赘。因而须要一套运维高度自动化,高度弹性随用随取,并且能够实现部分隔离的测试环境计划来满足多版本部署需要。 研发协同难研发环节的协同分为开发间协同和测试,开发、运维多角色间协同两种。前者次要解决并行开发、按需上线的问题。后者解决的是在一个交付流程中各司其职、相互束缚,确保软件能高质量、平安交付的问题。在DevOps 场景下软件交付过程由开发人员主导,而测试和运维角色则须要承当流程守护、门禁卡点、提供自动化工具的责任。为了晋升协同的效率,须要一个可能满足以上要求的工具平台来将团队的约定固化下来,确保团队各个角色能够高效率的实现工作。 线上危险大线上的危险来自于两方面,一方面越来越高频的线上迭代意味着出错的概率也在变大,另一方面随着零碎规模变大,传统人防人治的伎俩已不可能满足风控要求。因而必须从出错可能性和出错影响面两个方面系统性地去解决问题,前者关注是否在出错之前对危险进行拦挡,而后者关注零碎变更影响的用户数量和频度。这两种被动和被动进攻措施的相结合,能够无效的解决危险管制的投入产出比问题,从而达到一个比拟优的状态。 解决思路为了解决以上在企业规模增长和新技术利用中的种种交付痛点,阿里巴巴一直摸索和尝试,逐渐摸索出一种适宜这种业务倒退快、软件迭代快、架构依赖简单场景的交付办法和实际,咱们称之为“以个性为外围的继续交付”。它有三个特点: 以个性为外围个性是一个用户能体验到的产品能力的最小单元,其代码可能波及到多个利用,因而个性也是协同多个开发团队实现一个能力的最小单元。以个性为外围的交付过程治理能够无效地将开发、测试等角色连接起来并对立推动,比方组织隔离测试环境、运行自动化测试、编写测试用例、做好测试验收等等。 以利用为载体利用能够间接对应一个服务,是提供一种业务能力的最小单元,也是软件交付和运维的最小单元。能够通过利用串联代码、流水线、环境、测试和资源,以及外围工具链比方监控、数据库、运维、中间件等。开发人员能够在工具平台上定义他的利用,及利用的交付运维过程,比方配置流水线、布局环境、创立资源、设置部署策略等。以独立利用为载体的交付流程能够实现软件交付的原子化,并强制开发升高利用间的耦合性,同时防止零碎级集中式交付模式的惯性。 松管控与强卡点在软件高速迭代下须要兼顾品质和效率,DevOps 模式须要给开发人员足够的自由度来实现软件的线上变更,阿里巴巴联合本身业务特点,在实践上采纳了松管控和强卡点联合的形式。“松管控”体现在有多种流水线能够供开发抉择,利用负责人能够残缺定义这个利用的各种规定,比方如何部署、如何测试、资源环境如何配置。在技术可控的前提下,还能够凋谢线上测试,比方全链路压测和全链路灰度。轻公布,重复原,在每一个利用维度,开发能够随时应用流水线来交付代码,不主张过多的人为限度,重点须要思考的是如果出问题,如何管制影响面,如何疾速复原。“强卡点”是一种软件品质底线思维的体现,比方代码审核和品质红线,规约查看,公布窗口,安全检查,线上灰度卡点等。这些卡点是为了保障团体所有开发工程师步调对立,交付合格的产品。 继续交付的外围是疾速高质量地交付价值,给与开发人员最大自由度,负责开发和运维全副过程。在监控、故障防控工具、性能开关的配合下,能够在保障用户体验和疾速交付价值之间找到平衡点。 总结明天,基于云的开发已成为支流,这是效力晋升的微小机会,同时又对工程实际提出了前所未有的要求。比方,云原生基础设施、云原生中间件和新一代的云软件编程办法等等,都要求有与之适配的实际和工具。在适配新的技术发展趋势过程中,阿里造成了以个性为外围的继续交付工程实际,并且将其内建到 DevOps 工具体系中,以保障实际精确、无效地落地。 接下来的咱们将依照软件开发和交付过程逐个介绍,具体包含:开发、调试、测试、集成、交付。 【对于云效】云效,云原生时代一站式BizDevOps平台,反对公共云、专有云和混合云多种部署状态,通过云原生新技术和研发新模式,助力翻新守业和数字化转型企业疾速实现研发麻利和组织麻利,打造“双敏”组织,实现 10 倍效力晋升。 立刻体验

January 26, 2022 · 1 min · jiezi

关于devops:掌握自动化部署拿下DevOps半壁江山还远吗

大家好,我是本期的微软 MVP 实验室研究员-贠乾。明天我将通过代码示例为大家分享如何应用 GitHub Actions 以自动化的形式部署 Terraform Code 到 Azure。 微软MVP实验室研究员贠乾微软最有价值专家,Microsoft Azure方向,目前从事.NET技术栈产品后端开发工作。热衷学习微软Azure相干技术,分享本人的学习教训。同时,正在进步本人Azure云基础设施解决方案的设计能力和Azure云技术方面的培训能力 思路浅析应用 Terraform Code 部署 Azure 基础设施资源是特地受欢迎的,我已经有写文章分享过利用 Azure DevOps 主动部署 Terraform Code 所形容的 Azure 基础设施资源。然而有些人对于Azure DevOps 可能比拟生疏,再加上 Azure DevOps 的 Parallel jobs 付费作业。所以作为代替计划,明天给大家分享如何应用 GitHub Actions 部署 Terraform Code。 配置 Azure Service Principal 的凭据到 GitHub 秘密库Terraform Code 以及Azure CLI 会应用 Azure Service Principle 对 Azure 进行身份认证,对于 Azure Service Principle 的创立大家能够参考Blog。Blog:https://www.cnblogs.com/Allen... 接下来须要增加以下机密信息 1)AZURE_AD_CLIENT_ID 2)AZURE_AD_CLIENT_SECRET 3)AZURE_AD_TENANT_ID 4)AZURE_SUBSCRIPTION_ID 5)AZURE_CREDENTIALS 其中 AZURE_CREDENTIALS 格局内容如下所示: ...

January 26, 2022 · 3 min · jiezi

关于devops:事关企业安全DevOps被-点名了

在过来的几年中,企业平安威逼层出不穷,局势越来越严厉。黑客尝试毁坏开发流程上游的依赖项和工程零碎,相似的高级攻打会影响整个开发环境和软件供应链。比方,最近的一个例子产生在一家软件供应商,其开发人员工作流程和软件供应链被攻打,攻击者取得拜访权限后,将新图像上传到扫描其软件供应链的数千个版本中,提取秘密,并扩充破绽。由此看来,仅仅在 DevOps 工作流程上集成安全性是远远不够的,而应该增强和爱护工作流程本身的安全性。问题来了——如何爱护上游开发环境呢? GitHub CodespacesGitHub Codespaces 解决方案可能让开发人员在沙盒环境中与不受信赖的代码进行平安交互,可在任何中央和任何设施上应用。治理用户权限、在正确的地位存储加密的信息、施行 GPG 验证,都因 GitHub Codespaces 而变得前所未有的简略和疾速。开发团队能够在10秒内从零开始进入到失常运行的开发环境。开发人员能够为并行工作流拆散出新的代码空间,而无需任何开销。在确保安全合规的同时,助力开发者生产力晋升。 GitHub Actions除了开发者的机器,企业还须要爱护 DevOps 工作流程。GitHub Actions 能够帮忙开发团队轻松创立平安和自动化的工作流程,以构建、测试、打包、公布和部署应用程序到 Azure 或其余云。Azure 提供了丰盛的 GitHub Actions 集成,帮忙开发者采纳“所有皆代码”(“everything as-code”)的 DevOps 模型——合规和安全策略、构建和公布管道等都用代码模式编写,从而实现继续的改良、更好的重用性和更高的透明度。 后面提到了日益简单的平安危险,而更简单的是,开发团队必须在 GitHub 中存储 Azure 服务主体秘密数据,既冗余又会减少被篡改的危险。近期,微软发表了一系列预览版性能,使开发人员可能确保代码平安地被部署到Azure,而无需在 GitHub 中长时间存储凭据。 通过最新的 Azure 和 GitHub 集成从开发人员环境中删除凭据一个增强抵挡攻打的要害策略是:从开发环境中删除长期存在的 Azure 凭据——当初,应用 Azure AD工作负载联结身份验证性能,您能够从 GitHub repo 部署到 Azure,无需创立、存储或治理 Azure AD 应用程序的凭据。新性能加重了在 GitHub 秘密存储中治理 Azure 服务主体秘密和其余长期存在的云凭据的须要。通过此集成,您能够在 Azure 中平安地治理所有云资源拜访。这些性能还能够最大限度地缩小因为 GitHub 中的凭据过期而导致服务停机的可能性。 设置OpenID Connect(OIDC)与Azure AD和GitHub Actions的集成实现此设置,您须要: 具备服务主体的 Active Directory 应用程序,该服务主体对您的订阅具备贡献者拜访权限一个配置了联结凭据的 Active Directory 应用程序,以信赖 GitHub Actions 向您的 GitHub 存储库公布的tokens。您能够在 Azure 门户中或应用 Microsoft Graph REST API 进行配置一个 GitHub Actions 工作流,它向工作流申请 GitHub 收回tokens,并应用 azure/login@v1.4.0 操作介绍了这么多咱们的解决方案,回到文章结尾的问题,您是否有其余爱护上游开发环境的办法呢?欢送下方留言区与咱们分享见解或提出您对本文的问题!也欢送扫描下方二维码,理解更多DevSecOps ...

January 21, 2022 · 1 min · jiezi

关于devops:让所有工具变成你的锤子-邂逅Every-Tool‘s-a-Hammer-云上人

在工程师眼中,什么是值得学习的“工匠精力”?本文将与你分享一位资深架构师的心得感悟。 (别走开——SpotMax作为一套匠心浇灌的云资源优化解决方案,如何助力企业降本增效?戳链接理解一下吧>>>) 文/汇量科技技术 VP 兼首席工程架构师 蔡超 邂逅一本好书,好似与一位智者畅谈,总是让人茅塞顿开,获益良多。一个冬日的和煦午后邂逅了《Every Tool’s a Hammer》。 书副页上的作者简介——“亚当 •萨维奇是探索频道《谰言终结者》的明星,又是迷信、科技界备受欢送的人物之一,同时也是一位制造商、设计师、动画师、立体设计师、室内设计师、布景设计师)、特效工程师、电视主持人、演员、制片人。然而如果你问他从事过哪些工作,他会答复你,他毕生都是一位工匠,而这正是他最热衷的角色。” 这些都深深吸引了我,尤其是那句“他毕生都是一位工匠,而这正是他最热衷的角色”。其实我是一个很少浏览业余以外书籍的人,兴许是心田对工匠精力的敬畏和崇拜,让我对这本书产生了很浓重的趣味。 长年的工程师背景,让我对书中作者的感悟产生了很强的共鸣。上面我将作者的观点和本人的感悟进行总结,心愿通过整顿观后所得,进一步提高工匠涵养,同时也心愿这些内容能对大家有启发和借鉴。 列清单在生活中,或多或少咱们都会被各种繁冗的事件所影响,脑中特地乱,非常焦虑。解决这类焦虑,我的教训是,把要做的事件一一列进去,清空本人的大脑(书中称之为”列清单“)。实现清单后,再进行以下工作: 依据不同事件的紧迫性和重要性排定优先级。 看看总工作量是否超出了本身解决能力。如果不能得心应手,要学会说“不” (工程师很多时候都是老好人,不长于说“NO”) 这样做给我带来的切身益处是: 升高焦虑,使这些事件不会时刻在大脑中不停地翻滚,因为咱们曾经把他们从大脑中清空,并且通过安顿相应的打算,来取得安全感。更加容易面对不确定性,面对随时插入的新状况,往往也最让人的焦虑。这时咱们只有把该状况列入咱们现有的列表中,从而理解这个不确定性对咱们手上事件的影响,做出正确而感性的安顿,防止忙乱。防止本人进入稀缺状态,稀缺状态很容易引起咱们的短视。(对于“稀缺”,大家能够参考《稀缺》这本畅销书。)学会委派“哪怕领有完满执行一项工作所须要的所有技能和教训,在没有他人帮忙的状况下,单独行事也是犯傻。” 工程师都会有一个特点,经常执着于一种对工作的齐全把控,这会导致集体英雄主义。比方,”我一个人写整个程序会更快,跟他人交换更麻烦“,”有压服他人的功夫还不如本人弄,让后果阐明所有“等等。 尽管,随着当初互联网/虚构技术倒退(甚至是 metaverse)我置信将来超级个体会在各项翻新流动中显得更加重要,甚至成为主体。但上面这些状况,仍是每一个“集体英雄主义”工匠须要认真思考的: 想做的事太多,会容易进入稀缺状态,做出不正确的判断无奈善于所有方面,哪怕是善于的方面也不免存在全面的判断有时外行人/局外人的观点,更能带来突破性的启发其实很多时候,“委派”并不是给被委派者找麻烦,这会低估他们的志愿,因为这些工作往往有助于他们成长。同时,“委派”很多时候也会成为难忘和欢快的单干。 放弃急躁和谦虚“重视细节的匠人永远不会短少自我狐疑” 优良工程师/技术人员一方面对于本人工作永远充斥着对完满的谋求,这种谋求夹杂自我狐疑;另一方面,又非常冲突他人对本人工作的质疑,对其他人的质疑会体现出不急躁和不屑。 这其实是矛盾的,只会让咱们错过很多很有价值的反馈。记得刘德华说过一句话“对批评你肯定要字字反思,如果你句句反驳,那你肯定失败”。 “最有价值的货色都来自雇主和客户的反馈” 雇主和客户在我的认知里都是客户,我认为“每个人实质都只属于一家公司,这家公司以你的名字命名。” 客户是产品和服务的使用者,他们意见是对工作产物最间接的反馈,因而对于咱们改良本人的工作,晋升本人的技能是最有价值的。 想要成为真正的工匠,咱们要时刻放弃急躁和谦虚,这样能力取得有价值的反馈并从中成长。

January 20, 2022 · 1 min · jiezi

关于devops:阿里巴巴如何进行测试提效-阿里巴巴DevOps实践指南

编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实际指南》,扫描上方二维码或返回:https://developer.aliyun.com/topic/devops,下载完整版电子书,理解阿里十年DevOps实践经验。 在任何业务倒退的过程中都会不可避免的面临服务的收缩,利用复杂度的减少,可继续测试的难度一直减少。一方面,用例集会一直的收缩,一次 CI 验证要数十分钟,用例的保护老本越来越高,开发效率开始升高。另一方面,咱们花了精力写了很多自动化用例,心愿可能进步投入产出比,也就是测试的有效性。 晋升测试速度分布式测试分布式测试的核心思想是通过减少计算资源,并发的对 case 进行执行,并在执行后对测试产生的结构化后果进行解析合并,进而晋升单次测试的执行速度。 整个测试的执行过程能够划分为以下三个阶段: 测试用例解析与散发分组用例的执行分组测试后果合并 以阿里云某云产品外围团队的某工程为例,该工程领有 1 万多个单元测试用例,在没有采纳分布式测试计划之前,一次 CI 的验证时长超过 4 小时,导致问题发现、修复时长拉长,影响了日常的迭代速度。该团队后采取了分布式测试的形式进行,均匀的执行时长被优化到了半小时以内。 分布式测试的实质就是用执行资源的重叠,去换取更快的执行速度。实践上咱们把每一个测试用例拆分到一个容器内执行,能够取得极致的反馈速度。然而并不是所有场景下都适宜采纳分布式测试,例如用例之间存在依赖,这些用例不能无差别的散布在不同的执行分组。 精准测试分布式测试很大水平上解决了测试执行的速度问题。然而如果在任何状况下都无差别的执行全量的用例,会存在一些问题: 对计算资源的节约引入了大量的有效执行用例自身稳定性问题导致排查工夫节约在摸索测试有效性的过程中,咱们引入了精准测试的计划什么是精准测试?通过建设测试用例与业务办法的关联关系,在代码发生变化时,精准的举荐出须要运行的用例,进行测试执行与后果反馈。通过精准的圈定测试范畴,能够带来效率和速度的双重收益。 精准测试的基本要素测试用例(Case)与利用代码办法(CodeMethod)关联关系的建设。这种关联关系,咱们定义为基线。代码产生变更,依据基线中用例与利用代码办法的关联关系,精确举荐出变动的办法、关联的测试用例和变动的测试用例,并进行运行。如何建设测试基线基线的建设形式有多种,在阿里巴巴外部应用过以下两种办法去建设用例与代码的关联。通过字节码注入的形式,埋入 trace 调用,并在调用中传入用例与业务办法的签名。通过采集 trace 的日志,拿到所有的测试用例与办法调用链路,建设起用例与办法的关联关系。通过 AST 解析的形式。如何进行用例举荐在代码产生变更后,会基于代码变更解析出变动的测试用例与变动的业务办法。办法的变动通常是新增、删除、更新。 用例的代码变更状况比较简单,所有新增和更新的用例都会纳入到回归范畴。 被测利用代码变更,要分状况思考: 新增的办法:匹配不到任何用例,针对此次变更,开发或测试可能补充了测试用例,也可能未补充,须要进行提醒。更新的办法:更新的办法分两种状况,第一种,更新的办法有关联的用例,须要举荐进去;第二种,更新的办法本来就没有关联任何用例,须要提醒用户补充测试用例进行笼罩。删除的办法:删除的办法也分两种状况,第一种,该办法自身就不关联任何测试用例,不做任何提醒;第二种,该办法关联了一些测试用例,那么思考到办法有可能只是重构或者更名的状况,这部分关联的测试用例在没有被删除的状况下,也是须要进行回归的。 阿里云某外围云产品,通过应用精准测试的计划,一个迭代了一周左右的代码变更,从原先每次 CI 须要全量执行 3700+用例,到每次 CI 能够精准的执行变更影响的用例范畴。速度晋升了近一倍,测试范畴放大到不到原先的 1/6。 晋升测试有效性咱们心愿编写和运行的测试用例可能无效的笼罩代码的逻辑,其中重要的一个着手点是测试覆盖率,通过测试覆盖率来裸露问题,并促成问题的解决。 测试覆盖率测试覆盖率,在本文中,指的是代码的覆盖率。即行覆盖率,分支覆盖率等。 此外,本文中所有波及覆盖率采集的示例都以 Java 为例。 如何收集残缺的覆盖率一个利用下通常存在多种不同类型的自动化测试集 单元测试手工测试API 测试WebUI 测试其余为了可能精确的反映一个利用的残缺覆盖率,须要对上述多种自动化测试的后果进行聚合。在阿里,每一个测试的运行都会关联到相应的利用,从而能够对测试后果进行聚合。 为了可能收集所有类型的测试覆盖率,咱们做了以下事件: 单元测试对于单元测试来说,覆盖率数据产生在单测执行的机器上,咱们会依据执行机上的原始代码信息,编译后的 class 信息,单测执行后产生的覆盖率数据原始文件,以及变更的代码信息,计算出单元测试的覆盖率报告。 手工/自动化测试咱们实现了一个覆盖率采集客户端,和一个覆盖率采集/报告计算解析的覆盖率平台。通过运维平台将覆盖率采集客户端部署到利用的集成环境,在利用启动时会挂载一个 javaagent 过程。当咱们在任意测试平台触发任意类型的自动化测试时,会告诉覆盖率平台与覆盖率采集客户端进行交互,实现覆盖率计算原始数据的采集与解析。 另外,在进行公布卡点时,咱们会合并相应的单测覆盖率造成残缺的覆盖率报告。 测试覆盖率能给研发过程带来哪些价值剖析未笼罩局部的代码,从而反推在后期测试设计是否充沛,没有笼罩到的代码是否是测试设计的盲点,为什么没有思考到?需要/设计不够清晰,测试设计的了解有误,工程办法利用后的造成的策略性放弃等等,之后逐渐补充测试用例。代码覆盖率高不能阐明代码品质高,然而反过来看,代码覆盖率低,代码品质不会高到哪里去,能够作为测试自我扫视的重要工具之一。剖析变更代码的笼罩状况,从而保障对变更的测试充沛,加强公布成功率与信念。除了上述的“测试覆盖率”,还能够应用雷同的技术来统计“线上业务对代码的笼罩状况”。也就是统计进去有哪些代码是被真正的线上业务所用到的,哪些是素来没有被调用到的。从而检测出程序中的废代码,能够逆向反推在代码设计中思维混乱点,揭示设计/开发人员理清代码逻辑关系,晋升代码品质。 增量覆盖率有了残缺的测试覆盖率数据之后,就能够让它发挥作用了。但脱离了具体的场景,独自谋求一个较高的测试覆盖率数值是没有意义的。如果一味的谋求较高的覆盖率的数值,往往带来的的是用例的适度设计。如何衰弱无效的让我的项目的测试覆盖率稳步的晋升,在阿里巴巴外部,咱们更多的是采纳关注增量覆盖率的形式来晋升整体的测试覆盖率。 什么是增量覆盖率增量覆盖率是指,某一次测试过程中,变动的代码的测试笼罩状况。 变动的代码=被测分支的代码与指标比照分支的 diff(通常指标比照分支是咱们最终会合入的分支)。 增量覆盖率=变动的被笼罩的代码行/变动的代码行。 增量覆盖率的价值公布之前是否存在漏测针对漏测欠缺用例集加强变更公布的成功率与公布信念通过谋求增量覆盖率进而进步被测利用的整体测试充沛度增量覆盖率的利用在单元测试的时候,会有单元测试的增量覆盖率,在测试/预发等环境进行各种接口自动化/UI 自动化/流量回放/手工测试时,也会有增量覆盖率产生。当增量覆盖率与继续交付流水线进行联合时,可能无效的保障我的项目品质是在往好的趋势倒退。 在阿里巴巴外部的实际中,咱们通常会在 CICD 流水线中的要害阶段设置各类卡点,保障在多人合作的场景下,每个开发同学提交进入集成的代码通过充沛的自测。在上线前的集成阶段,进入的代码在集成环境中被充沛验证后,才会被容许公布上线。 ...

January 20, 2022 · 1 min · jiezi

关于devops:30人的产研团队如何高效协同

作者介绍:以诺行CTO 刘自强 团队应用云效3年 团队合作需要杭州以诺行汽车科技股份有限公司(以下简称“以诺行”)成立于2016年8月,位于杭州市余杭区文一西路科技洼地海创科技核心。以诺行是一家集研发、销售及服务为一体的科技型企业,次要外围业务包含汽车软件、 汽车喷漆及汽车配件,致力于用精湛的技术和超前的互联网思维打造汽车培修平台全新格局。 以诺行目前有以下软件产品 基于SaaS的汽修治理ERP,性能蕴含进销存、培修流程治理、账务、CRM等。基于Web、Android、IOS、微信H5、微信小程序等操作终端。以诺行喷涂全流程软件,基于Web、Android、IOS等操作终端。以诺行询报价软件,基于Web、微信H5、微信小程序等操作终端。OA零碎,基于钉钉小程序。以及其它正在布局开发的产品。所有软件产品由以诺行软件部门进行开发保护。整个部门分为产品、设计、开发、测试和施行岗位,共30人左右。 因为软件产品线较多,各职能部门人手无奈做到每条产品线专人负责,所以并没有采纳我的项目制,而是由项目经理和产品经理依据需要优先级与开发资源状况安顿开发迭代。因而每个迭代安顿人手时,须要分明的理解每个职能岗位的工作状态,开发过程中也要及时跟进开发进度,及早辨认危险。 出于以上起因,咱们须要抉择或者本人搭建一套项目管理和继续集成系统,并且须要思考以下因素。 根本的项目管理性能和可配置的工作工作流清晰易用的工作台和工作流通知资源存储与共享文档治理代码托管继续集成流水线,并且流水线与阿里云产品对接敌对应用老本合作选型过程最后,咱们团队在本人的ECS服务器上搭建了开源的项目管理和继续集成工具,并通过配置实现了根本的需要。然而在应用一段时间后决定抉择一款在线SaaS性质的项目管理工具,起因如下 1.管理效率低下 a.很多传统项目管理工具并没有十分直观的统计视图,须要将工作明细导出Excel再进行透视或者公式图表剖析,无论是日常治理还是向公司提交汇报都很不不便。 b.短少直观的日常统计,也会导致安顿后续工作进度时得不到充沛的数据反对,以至于进度安顿过紧或过松,导致因赶工而产出品质降落或研发资源节约。 2.运维老本高 a.开源产品部署后不易降级,大版本升级容易产生兼容性问题,并且可能须要从新调整配置。 b.资源存储在ECS上,对存储资源耗费较大,不过这个问题能够应用NAS服务缓解。 c.若日常应用时有较多截图,文档的读写操作,ECS带宽占用较大,容易导致ECS上部署的服务争抢带宽资源,而带宽老本较高。 d.后端技术转型,后端服务不再部署在ECS上,而是部署到了阿里云SAE(Serverless App Engine)产品,不再须要ECS。对于中小企业来讲,独自为项目管理工具保留一台ECS比拟浪费资源。 咱们调研了市面上比拟风行的SaaS项目管理工具,局部性能满足咱们的需要,然而广泛有以下的制约因素。 与阿里云产品无奈间接对接。咱们前端部署在OSS,后端部署在SAE,尽管云产品提供了各种API能够进行对接,也提供了一些罕用继续集成平台的插件。然而对接上依然比较复杂,甚至须要咱们本人开发肯定的中间件进行对接。额定保护一套账号体系免费较高在调研试用各种项目管理工具期间,偶尔在阿里云官网上看到了云效产品的推广,并且小微企业有一年期限的30人内收费。而云效能够基于阿里云RAM账号登录,并且对阿里云产品提供无缝对接,于是便开明试用了。 云效应用成果因为大部分研发人员须要对各种云产品进行查看治理,所以曾经开明了各自的RAM账号。因而应用RAM账号对咱们来讲并不是额定的累赘,对于不应用RAM账号的企业来讲,云效也反对应用钉钉账号进行绑定。 为每一个员工建设阿里云RAM账号,并在云效中配置好部门和角色就能够开始应用了。 项目管理通过配置正当的项目管理性能,能够实现以下工作流程 项目经理的开发迭代治理产品经理的需要生命周期治理开发人员的开发工作治理测试人员的测试计划治理测试阶段的缺点生命周期治理施行和客户部门的反馈治理其中波及到了以下性能: 版本治理/迭代版本治理和迭代性能提供了便捷的伎俩来治理各种工作、打算和资源。管理者借此能够清晰的查看开发迭代停顿,辨认进度危险。产品部门也能够事后对工作进行分类、评审和排期。 需要需要模块提供了根本的需要治理性能,并反对自定义各种类型的字段、状态和工作流。 工作中能够关联各种文件工作资源和知识库条目作为附件,以更加丰盛的媒体形式出现需要内容。 进入开发的需要能够创立对应的子任务分配给研发人员,研发人员也能够快捷地关上关联需要查看设计细节。 测试计划在开发迭代之前或开发过程中,测试人员能够应用测试计划模块来治理测试用例,也能够将研发人员顺便申明的危险退出的测试计划。借此能够无效的追踪每一个迭代的测试状况,防止有脱漏,也能够在复盘时进行回顾剖析。 工作项目管理中能够依据现状来自定义各种基于工作流的工作,比方开发工作。通过配置好的状态和工作流,帮忙各职能人员辨认关注本人的工作,防止脱漏延期。 缺点缺点由测试人员发动,通过研发的修复,再由测试人员验证敞开。借此闭环来治理研发中或者线上突发的缺点。 测试人员创立缺点后,填写优先级和备注后指派给对应开发,也能够挂接到对应需要下面。 在动静栏中相干人员能够进行便捷的沟通。缺点修复后标记为已解决并主动指派回测试人员进行验证,验证修复后敞开即可。 知识库知识库是文档管理中心,能够依靠于具体我的项目,也能够独立我的项目之外。提供了协同编辑能力,并具备细粒度的权限治理。 代码托管Codeup代码托管服务提供了残缺的git仓库根本的性能,包含可视化的权限治理,代码合并,分支治理,Webhook等。 此外还提供了代码平安检测性能,比方代码中的明文明码,高风险的依赖包等, 比方这几天爆进去的log4j 2.14的高危破绽。 报表性能也能够直观的追溯代码的提交评审行为,对于代码品质治理很有帮忙。值得一提的是,在代码库中能够一键开启WebIDE签出代码进行开发。在近程办公,紧急解决问题时很有帮忙。 文件/分享/日程等项目管理还提供了很多其它模块来促成我的项目人员间的共享和合作能力。 工作台工作台中能够不便的追溯本人相干的工作,在日常工作中,每个岗位只需专一于“我执行的”页签内的工作并保障按时实现即可。 工作会依据截止工夫和优先级进行分组排序,能够无效的帮忙集体优先解决筛选出更加重要紧急的工作。 工作台同时提供了十分便捷的创立集体工作的性能,这类工作不依靠于我的项目,能够很大水平上代替集体日常的TODO list。 "我执行的","我参加的"和"我创立的"页签基本上能够笼罩大部分对本人相干工作的治理场景,防止频繁的到具体我的项目的工作视图中查问。 继续交付云效流水线性能提供了从代码直到部署的流程配置。原生反对与代码仓库Codeup的对接,并且能够不便的配置各种Webhook触发器。 以下是咱们软件产品的架构图: 对于后端利用,配置好Dockerfile后,流水线依据Dockerfile执行构建并且把制品上传到阿里云容器镜像服务产品中。在须要部署时,则把镜像推送给对应的SAE利用执行灰度部署。这些都是在流水线中原生反对的。 对于前端资源,流水线中调用webpack打包脚本生成制品,在须要部署时,推送到OSS服务的对应bucket即可。 以下是流水线的列表页面,能够自定义表头来展现运维人员关怀的字段。 流水线配置中也有丰盛的触发器能够反对手动/代码库行为/流水线联动触发等。 统计云效提供了丰盛的统计性能,能够从各维度汇总数据。无论是外部治理还是对公司高层汇报,都能够不便的导出相干统计。 截止到以后,咱们已有十多个利用产品线通过云效进行治理,其中外围利用已产生过万个工作,大部分都能够按时实现。 给中小企业的倡议当初对于中小企业,根本都不会本人搭建服务器和机房进行部署,而是抉择各大云平台,抉择一款SaaS项目管理工具能够极大的升高运维老本。 而继续集成,抉择一款能够与本人抉择的云产品不便对接的平台也是十分重要的,尤其是现今Serverless利用越来越宽泛,继续集成平台负担的工作也越来越重,须要审慎抉择。 ...

January 20, 2022 · 1 min · jiezi

关于devops:k8s-容器启动时传递镜像运行时参数

背景咱们应用springboot 打成的jar构建docker镜像上传到barbor镜像库之后,如果镜像中的参数产生了变动(springboot application.properties中的启动参数变更),比方mysql的地址变更了。不用批改配置文件,从新打包上传,批改k8s容器启动配置文件,重新启动容器即可 Docker file如下:FROM harbor.ht.com/micro-service/openjdk:8-jreMAINTAINER xxx xxx@imooc.com COPY target/course-dubbo-service-1.0-SNAPSHOT.jar /course-service.jar ENTRYPOINT ["java", "-jar", "/course-service.jar"]在springboot中 jar 启动时批改配置文件中的参数,通过 "--key=value"这种模式,在k8s中通过args参数给容器增加运行时参数,这样咱们就批改了容器中我的项目的mysql和zookeeper的地址。原来容器中的启动命令“java -jar /course-service.jar” 就变成了“java -jar /course-service.jar --key1=value1 --key2=value2”这个样子通过以下命令强制重启pod kubectl replace --force -f course-service.yaml通过以上配置,咱们就实现了容器构建和启动参数拆散,这样在启动参数变更的时候就不须要从新构建镜像了,缩短了CI/CD工夫,进步了生产效率。

January 18, 2022 · 1 min · jiezi

关于devops:DevOps峰会-研发效能实践助力互联网行业项目管理行之有效

摘要 本文为网易有道企业倒退高级效力项目经理张浩然《研发效力实际助力互联网行业项目管理“卓有成效”》的演讲内容,围绕研发效力的实际和项目管理两个主题开展。 我写分享PPT的时候,起初想的是针对于互联网行业的项目管理。但当初不止是互联网,传统行业也在做数字化转型。所以,这个项目管理是全行业都能够一起探讨的。我之前做研发,前面次要做项目管理,过程中做过一段时间的产品治理。目前次要在网易有道企业发展部,做整个研发效力的推广和项目管理的晋升。 我将从四个局部来论述下本身的分享主题。 1.互联网项目管理面临的常见挑战目前咱们处于一个乌卡时代,不光是互联网,传统行业也处于这个时代。任何一个时代到来,都不会摈弃任何一个人,这个时代有哪些特殊性?——易变,不确定性,复杂性和模糊性。 所谓易变,就是每次迭代开发要快,因为市场变动很快,咱们其实也不确定产品的下一步方向在哪,用户有哪些新的诉求; 而复杂性是说当初产品的状态、架构很多,不能像以前一样用一套规范的解决方案满足各个客户的需要。因为客户也学聪慧了,咱们须要去应答一些更简单且不明确的诉求。模糊性更好了解,一些大厂如阿里是电商出身,百度是搜索引擎,然而越往后,每一块垂直畛域市场趋于饱和,大家在各自的边界越来越含糊。所以,咱们要一直地让咱们的MVP产品疾速推出,在乌卡时代获得先机。项目管理,能在这个时代帮忙企业降本增效,疾速验证。然而咱们在治理整个软件研发团队时,多少会遇到一些问题或困扰。比方当初有一个想法须要做,咱们组建了一个团队,疾速地做研发迭代。为了赶进度,大家还要加班。很辛苦,但真正交付产品的时候,还是会呈现延期交付。 在研发过程中,为了赶进度多少会产生一些品质问题。在整个过程中,为了补救延期和品质差的问题,会去抓人效,抓的过程中又容易引起团队里的一些反驳,导致士气高涨,如果在上线当前,咱们的产品再不被市场承受,整个团队长此以往士气更加高涨。 有人说我是一个教训很丰盛的项目管理或者产品经理,或者技术领导,我在整个排期或者任务分配的过程中都没有问题。那咱们如果有跨团队合作,比如说网易有一个A团队,很器重测试环节,在测试环节分为好几轮,并且用网易易测平台去扫描查看代码。另外一个B团队,业务状态没有那么简单,只是简略地走完测试流程就OK了,过程中没有很多自动化工具,可能还在用XMIND等思维导图写用例,线下做治理。但如果B团队的搭档去声援A团队的我的项目,对于A团队的工具、流程都不相熟,怎么可能疾速让B团队融入A团队,疾速产出,这都会成为妨碍团队高效产出的问题阻碍。咱们当初的挑战是会遇到交付过程慢的问题。因为咱们的产品线越多,须要交付的产品就越多。在不同的过程中,针对于某一个产品有一些新的需要,需要过去当前就会建设很多版本分支。这个过程中,比方我正在开发A版本的过程插入了新需要,要新开B版本,从A切到B的时候其实是对开发有影响的。同时,比方项目前期,大家都在做一些调研,而后再开发,这个阶段测试人员在期待开发实现能力进入测试,等待时间过于长,导致整个交付比较慢。品质差也是一个问题,研发之前没有测试的意识,只写好本人的代码就提交了,可能有些为了赶进度都不自测。排期不合理,大家有可能常常会遇到这种问题。排期就是把研发的工夫排出来,把剩下的工夫压缩为测试工夫,测试很大的一部分功能模块也就几天,三四天,小性能的话半天就得连忙测完要上线,所以为了去赶进度,就义了品质。 合作难这个问题,有多个团队短少规范的流程工具。在整个过程中一是呈现人员的合作、我的项目切换难;二是遇到一些问题的话,可能会呈现扯皮;最初,就是少度量。如果没有度量的话必定是不行的,项目经理包含管理层不晓得整个团队目前的现状,包含技术领导也必定没有方法正当地做任务分配。整个过程度量的缺失,就没有方法去掂量大家的绩效。当初在推广OKR,其实也是有度量的,也就是KR的达成水平怎么样。这些常见问题时压在团队身上的几座大山。 在这个过程中,会造成马太效应。每次品质差,上线当前有问题,运维工程师变成“背锅侠”;测试须要针对现有的问题尽快去验证,追着开发去修复,成了“追责侠”;最初咱们的开发,只能加班加点去干,成了“加班侠”。这就是互联网时代“三侠”,工作很累,然而后果不现实,每天还吵得不得了 2.针对这种状况,有道怎么做摸索和实际?第一步,发现问题。 通过访谈或者察看的形式看目前是什么问题。访谈是一部分,察看也肯定要有。因为整个研发团队在工作过程中是不心愿被打搅的,如果打扰到他,一是可能配合力度不够,二是在访谈过程中可能会有一些答案是得不到的,所以在团队人员工夫缓和的条件下,须要通过观察来发现问题。大家如果有工夫,能够邀请去做共创,或者是外部的共创。同时能够把好的案例分享给咱们团队,看看他们的接受程度。 第二步,收集到一些问题,对问题做进一步的剖析和定位。 咱们过后收集到了从需要到整个开发构建、测试、部署包含监控等多个环节的问题。 需要的话,一开始没有需要管理工具,大家靠书面记录,效率比拟低,而且需要更新后,上游是不可知的。没有做需要变更治理就会导致快上线验收的时候才发现,开发的一些性能和理论想要的齐全不一样,或者差别很大,这对团队是一个致命打击。包含开发构建、测试等环节也或多或少会有问题,针对这些问题咱们做剖析和定位,包含人、流程、工具各个方面。 针对这些,咱们定了一个打算: 首先从业务到运维多个环节对单点的工具、流程进行一些优化,终极目标是建设一套可能从业务需要到上线公布的端到端,可能反对整个研发过程,疾速高质量和继续公布的解决方案。 一是要疾速,二是品质要高,三是继续交付。不能是一次快,或者是一次品质好,要继续达到这个指标。 第一步,引入麻利开发模式第二步,从整个企业倒退的层面去打造一套工具链,把全局拉通第三步,筹备自建本人的DevOps能效平台,做一体化平台。 后期会通过一些流程标准,针对需要做基于流程的驱动。咱们搭建了一套规范工作流,在这个工作流中基于不同的团队建分支流程,尽量落在这套规范的流程上。咱们心愿通过一些流程,来推动整个产研的过程,不论是通过卡片还是通过自动化的工具,或者说转化过程,通过工具去驱动,把这个数据积淀下来。同时,在代码级别和测试级别,本人做了一些封装,有些是本人去做的。CICD方面前面讲,没有齐全做成自建的,会做前端的封装。咱们的产研团队的用户看到用的是一套平台,在一套平台上齐全整个需要到上线的过程,对他们的感知比拟敌对。CI/CD的外围流程,用tekton引擎去做的。通过一些pipeline组合,去实现整个流程治理,通过task的文件去做整个pod的调度,实现整个过程继续的流水线。基于这个层面,曾经从产品设计到需要、代码去做一些构建,发到对应的环境,去做自动化的测试,齐全去实现全链路的拉通,包含上线当前有数据看板。有了这一套全链路的工具平台,就能够更好地去撑持咱们的麻利开发模式,最初一步卡在运维。 这样的话,通过这套平台能够失去一个需要,跑完当前疾速上线,上线当前疾速地验证。验证完当前,是否OK,具不具备公布条件,当期公布目前曾经是OK的。 3.项目管理与研发效力的无效联合把整个研发过程拉通,通过自建去做。咱们的项目管理应该怎么去做一些切入?和研发效力做联合。首先,在项目管理形式上做一些改良,在传统的项目管理中有一个传统铁三角的概念。项目管理治理上,会针对我的项目的范畴、工夫、老本传统的软件行业,更重视这三块。比方我是乙方,给甲方签了合同,交付一些平台或者零碎,在这个过程中会有严格的范畴定位。咱们的立项工夫分几个月去交付,一期、二期、三期包含咱们的工夫、老本,甲乙方对接的时候更须要做老本管制。项目管理更多的是在这三个层面触发,而后在过程中去做过程治理。然而这种模式,其实是须要做一些改良的。因为当初是一个互联网时代,乌卡时代,大家不可能说在一开始就确定要什么,给你多长时间,给你多少估算做进去,所以须要做一个转变,这就是麻利三角的概念.范畴、工夫和老本这三块也要看,只是比重没有那么高,而是作为整个项目管理的约束条件,也就是说咱们要在无限的范畴、工夫、老本外面寻求最有价值的局部。 而在这个过程中,能够通过一些工具、流程把品质逐渐晋升。通过麻利三角的项目管理形式,每次去交付最有价值,而不是全量的范畴,能够基于价值每次去拆分最小的单元颗粒度做mvp,如果价值有变动,疾速地做调整。 其次,项目管理过程中要做一些流程改良。从项目管理角度来说,原来是一个线性的流程,个别有了我的项目当前,要去做立项,做可研论证,可行性研究,做整个产品的设计,UE、UI的设计,研发、测试、上线,整个过程中都是线型的。存在一个问题,如果产品的需要PRD没有画好,UE是不是不能做?开发是不是也不能做? 于是咱们改良了流程,缩小了它的前置工夫。PRD没有齐全写好,然而用这种用户故事的模式,先给出整个用户故事的全貌。通过最终要做成什么样,拆出来最有价值的局部,前面UE和开发就能够先做这个局部的需要。最有价值的局部做完当前,能够实现优先级排序里第二有价值的性能。相当于把整个性能拆解完当前,后续的各个流程都能够间接接入。另外依据项目管理打算,要做治理必定要有一个度量体系,不然无奈晓得整个研发团队的效率点,或者工作饱和的状况。容许大家存在肯定的“摸鱼”,然而要适可而止。有一些“摸鱼"显著不合理时,就须要做度量。 最初,项目管理里,咱们也逐渐找寻衰弱的度量形式和体系,逐渐改良过程。 短期度量是第一步上来要做的,因为没有全流程的链路平台统计,都是基于过程的度量,只能单点收集需要、开发、测试、运维各个过程的数据。项目经理比拟累,须要通过excel表,手动地去各个平台去扒,或者去其余的一些中央去问,这是比拟难的。然而有了这个度量体系,基本上能够以此驱动。哪个数据当初大家看得比拟重要,或者收集过程比拟苦楚,就能够逐渐做一些改良。 单点的数据有了,第二步就要关注交付的指标。比方这次须要交付5个还是交付10个的故事,这个过程基于整体的指标去做,在过程中会通过一些人员的效率,比如说周期,人均的效率包含缺点的修复工夫,通过整个迭代去看,而不是通过某个需要去看。另外,迭代公布的话,看一下公布频率或者公布前置工夫。公布前可能波及到环节没有筹备好,因为遇到过一些状况,大家一开始焦急开发,等到快上线的时候,给测试发申请,或者又在等一个机器配置什么的,很妨碍工夫。公布工夫就会拉得很长,导致最终整个迭代的版本上线就会很长。品质是会通过一些整个过程和迭代外面的冒烟驳回率、缺点密度和缺点漏测率和其余指标去做。 第三步,基于价值的度量。有了指标,然而这个指标只是说实现产品价值两头的过程,最终还是要实现有价值。以价值为导向,层层去过滤整个环节,单点去做还是通过迭代去做,层层拆解,逐渐的打消。以价值的交付为导向,通过可视化的认识或者仪表盘逐渐合成,剖析,进步整个研发效力的效率和品质。这样的联合门路会基于产品用户和市场三个层面做整体衡量,输入这次最有价值的点,相当于有一套本人的价值评估体系,会融入到整个产研体系。在产研过程中会去做一些需要布局、版本治理、工夫盒,项目经理能够更无效地做过程把控。 咱们的指标是心愿通过整套能效平台,能够疾速地摸索和剖析业务,造成一个MVP,疾速实现MVP的上线和验证。 4.研发效力的将来瞻望一、DevOps持续深刻,重点还是整合丰盛的数据源。 要关注数据是否无效,合理性怎么样,够不够丰盛,要做这块的数据源整合,通过剖析减少监控指标。这个深度须要更加正当,更加促成研发团队高效工作,不毁坏团队气氛。 二、当初曾经启动了,但还没有造成很大的规模的AIOps。 尽管咱们公司也有AI的能力,AI的团队,然而AI要基于大数据去做。只有数据很丰盛同时合理性高时,去做AIOps才会正当无效。因为只有对正确正当的数据进行剖析,检测出的问题以及主动修复才是正当有意义的。用不合理的数据去做AI,方向就错了。 三、终极的指标是想做NoOps,相当于开释整个产研侧的压力,齐全实现流水线自动化。 明天我的演讲就到这里,谢谢大家!

January 14, 2022 · 1 min · jiezi

关于devops:快速学习丨使用Azure-DevOps创建项目

什么是 Azure DevOps?Azure DevOps 为开发人员提供服务,以便开发团队打算工作、合作开发代码,以及生成和部署应用程序。Azure DevOps 反对着一种文化,在一套流程中让开发人员、项目经理和其余参与者独特开发软件,使组织可能以比传统软件开发办法更快的速度创立和改良产品。 Azure DevOps 提供可通过 web 浏览器或 IDE 客户端拜访的集成性能。你能够依据业务须要应用以下一项或多项独立服务: Azure Repos 提供了 Git 存储库或 Team Foundation 版本控制 (TFVC) 来控制代码的源代码。Azure Pipelines 提供了生成和公布服务,以反对应用程序的继续集成和交付。Azure Boards 提供了一套麻利工具,用于反对应用看板和 Scrum 办法布局和跟踪工作、代码缺点和问题。Azure Test Plans 提供了多种工具来测试利用,包含手动/摸索测试和继续测试。Azure Artifacts 容许团队从公共和专用源共享包,如 Maven、npm、NuGet 等,并将包共享集成到管道中。Azure DevOps 能够做什么?当您连贯到 Azure DevOps 时,将连贯到组织或我的项目汇合。在该容器中,能够定义一个或多个我的项目,必须创立至多一个我的项目能力应用零碎。那么咱们能从我的项目中取得什么呢? 源代码治理:通过源代码或版本控制系统,开发人员能够合作解决代码并跟踪对根本代码所做的更改。源代码治理是用于多开发人员我的项目的重要工具。打算和跟踪工作:软件开发我的项目须要一些办法来轻松共享信息并跟踪工作、工作、问题或代码缺点的状态。过来,你可能应用了一个或多个工具:Microsoft Excel、Microsoft Project、bug 跟踪零碎或工具组合等。当初,许多团队已采纳麻利办法和做法来反对布局和开发。咱们的零碎提供了多种类型的工作项,用于跟踪性能、要求、用户情景、工作、bug 和问题。每个工作项都与工作项类型和一组可在进度进行时更新的字段相关联。继续集成和继续部署:软件的疾速牢靠公布来自于主动执行尽可能多的流程。咱们的零碎反对生成、测试和公布自动化。手动和摸索测试:测试性能反对手动和摸索测试,以及继续测试。Azure 云托管服务:Azure 提供云托管服务以反对利用程序开发和部署。能够独自应用这些服务,也能够联合应用这些服务 Azure DevOps。还有更多,此处不一一列举。 介绍了这么多,不如入手实际!对于我的项目的教程包含:创立我的项目、连贯到我的项目、增加团队、增加用户或组等等。本期从第一步开始——应用 Azure DevOps 创立我的项目并建设源代码存储库。您能够治理和构建每个我的项目,以满足业务需要,而创立的每个我的项目都提供用于将数据与其余我的项目隔离的边界。 扫码获取创立我的项目的具体步骤 在Azure DevOps中创立我的项目

January 14, 2022 · 1 min · jiezi

关于devops:devops-部署利器-mars

联合 gitlab ci/cd, 专为devops而生,30秒内部署一个利用。 文档地址 我的项目地址

January 12, 2022 · 1 min · jiezi