DevOps

其他

华为云DevRun超级工程师实战营开营啦丨IDCF

华为云携手IDCF社区打造数字化时代的“超级研发工程师”。八大模块课程体系,涵盖产品研发生命周期及关键技能图谱,内容囊括知识传导、技能实践、工具实操、案例解析。你值得参与华为云DevRun超级工程师实战营,每个课题3小时大时段深度研讨,8位领域知名大咖倾囊相授,36天体系化能力全面提升,累计24小时精心打造超级工程师,与各位同学一起精进。8位特邀行业专家课程:《数字化时代的产业重塑》时长:3小时专家:肖然ThoughtWorks
2022年5月19日
其他

“我有拖延症,但效率一点都不低” | IDCF

抛弃消极的念头在我的内心里,我一直把拖延作为一个行动的指南。——纳西姆·塔勒布(Nassim
2021年9月13日
其他

炮轰“测试左移”,向软件测试领域的“歪理邪说”宣战 | IDCF

是Development和Operations的组合,可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。
2020年11月11日
其他

被全球过度炒作的Spotify敏捷部落制,连Spotify公司自己都不用 | IDCF

“当人们认为我们在Spotify所做的实践是一个可以复制和实施的框架时,我很担心……我们现在真的在努力强调我们当时做的也有问题。不是所有的东西都很闪亮、一切都很好、更不是我们所有的团队都非常出色。”
2020年7月27日
其他

5个关键SAST活动,构建你的DevSecOps流水线 | IDCF

为构建可持续发展的项目,我们需要将SAST工具集成到DevSecOps流水线中,让它们自动化执行,以实现效率、一致性和早期检测。静态应用程序安全检测(SAST)过程检查源代码中是否存在安全缺陷。SAST是应用程序安全保障流程的众多检查之一,目的是在DevSecOps流程的早期,识别和减少安全漏洞。将SAST工具集成到DevSecOps流水线中对于构建可持续研发流程至关重要。SAST工具的自动化是其中重要的组成部分,可以在提高效率的同时,保持一致性,以及及早发现安全问题。关于如何将SAST工具集成到DevSecOps流水线中,客户通常会提出如下几个关键问题:如何处理误报?如何分类结果?识别出来的新问题会如何处理?我的扫描需要4到5个小时才能完成。如何在DevSecOps流水线中使用此工具?如果你也存在这些问题,并且关心如何将SAST工具集成到DevSecOps流水线中,请继续阅读。下图列述了DevSecOps流水线的五个关键节点,每一个节点的用途,优势,关键推动因素和用例:无论你管它叫SecDevOps,DevSecOps还是DevOpsSec,目的都是将安全性构建在持续集成,持续交付和持续部署流水线中。本文将指导你完成DevSecOps的完整过程(我们在此清单中将其称为DevSecOps),通过深入探讨上述五个活动的目的、优势、关键推动因素和用例,确保你将安全性集成到流水线。DevSecOps流水线的5个关键检查点1、预提交检查预提交检查是DevSecOps流水线中的第一步,在开发人员将代码提交到源码库之前进行。1)目的在将源码更改提交到源码库之前查找并修复常见的安全问题。2)收益预提交检查的钩子程序作用非常强大,可以帮助团队自动化手工任务并提高生产率。此外,使用IDE中集成的静态分析工具进行安全检查可以设置使用有限数量的规则,以缩短检查时间。当检测到代码库中的较大更改时,还允许手动检查代码。在确定存在安全漏洞时,这些检查还可以触发风险分析。3)用例这些检查使开发团队可以在自己IDE中运行扫描。在编写代码时,工具会自动并且及时地提供安全指导。在代码编写并提交到你的源码库之后,无需扫描漏洞。将工具用作是桌面的安全专家,当开发人员编写了可能引入风险的代码时,它会自动提供指导。接下来,创建钩子程序以触发诸如威胁建模、架构风险分析、手动代码审查之类的活动,另外也可以创建钩子来查看配置文件中的硬编码。最后,使用钩子程序发送电子邮件给应用程序安全团队或软件安全组(SSG),通知检查到源码库中的关键代码更改。2、提交时检查DevSecOps流水线的下一步是提交时检查,签入源码库时会自动触发。1)目的生成并执行基本的自动化应用测试,这些测试将结果快速反馈给提交变更的开发人员。2)收益提交时检查可确保代码始终保持可编译和可构建的状态,同时引起对关键和高度安全性问题的关注。3)关键提交时检查为各种软件安全活动确定了明确定义的流程,同时还使能开发团队及时修复严重的高风险问题。此外,提交时检查还支持QA安全测试。4)用例首先,编译并构建代码。接下来,使用有限的规则集配置并运行静态分析,例如运行公司的TOP
2020年4月21日
其他

DoR、DoD,定义的是什么? | IDCF

DoD上文翻译自:https://www.linkedin.com/pulse/definition-ready-dor-vs-done-dod-brian-will一、DoD
2020年4月20日
其他

华为云CloudIDE,云时代的精创利器

“软件必将定义世界”,我们未来所面对的世界是由软件构成和定义的,我们所面对的任何问题可能都被归结于软件问题。软件把意图变为实现的过程叫做“编码”(即编写代码),我们需要软件开发工具,来把创意变现为代码并尽早实现上手体验和验证。随着所服务的技术时代不断发展,软件开发工具也在不断进化,从主机时代的文本编辑器、桌面时代的桌面IDE、互联时代的轻量桌面IDE(编辑器+),逐步演进到云时代的轻量级WebIDE(CloudIDE)。云原生时代的精创利器在云上,软件交付的模式从服务化,向着云原生的方向不断演进。一款云原生架构的应用具备以下特点:微服务化架构、基于云基础设施、分布式部署、无状态、无本地依赖、可水平扩展、失败容忍(冗余性)、服务注册与发现、自动弹性伸缩、去中心化。而对一款面向云原生的应用在整个生命周期中需要完成诸多验证工作:用户体验、业务逻辑、云端资源对接、应用架构、可用可靠性、成本分析等。众所周知,越早发现缺陷并解决,就越有利于成本缩减和产品成功。如果在精创的产品原型阶段可以有效实现验证和优化,更有利于产品存活和持续成长。而脱离了云环境,这些验证很难实现。为什么华为云CloudIDE可以被称为云时代的精创利器?因为它的出现,满足了云原生原型开发过程中涉及云资源验证的诸多需求,本身位于云端的开发环境加快了验证闭环速度。我们来看CloudIDE对精创团队开发云原生应用原型的支持之道:位于云端的海量微服务代码模板,一键创建微服务;开发环境位于云端容器集群,踏云而行,我即是云;通过插件打通容器实例部署,一键部署到华为云多个区域;多个容器实例独立拉起,避免状态依赖和本地组件依赖;容器数量随时调整,弹性扩展毫不拖泥带水,失败韧性随时验证;自动弹性伸缩,那是云基础平台的基本能力。据此,华为云CloudIDE可以很好地支持云原生应用的开发。然后我们来看验证效率,原型阶段的验证工作需要在极短时间完成,怎么做到:用户体验验证,一键部署云端服务实例,5分钟直接上手体验,有问题马上迭代解决,够真实;业务逻辑验证,打开调试状态把有问题的业务数据直接导进来调试,仿真模拟都不要,够方便;云端资源对接验证,摆脱本地桌面带宽瓶颈和通道瓶颈,服务实例直接放在云端验证,够直接;应用架构验证,不管你架构有多复杂,云上的资源一定能让你瞬时搭起整个服务框架,够霸气;可用可靠性验证,位于容器实例服务中的原型实例随意启停,想怎么折腾你自己决定,够任性;成本分析验证,对投入多少资源没把握,来来来,容器配置实例数量都可以随意调整,够精细。华为云CloudIDE是华为云DevCloud在开发阶段的核心服务,源于华为云的全栈技术实力、依托华为云的全场景服务能力、面向云原生应用开发、服务华为云开发者的轻量级WebIDE。通过华为云CloudIDE,精创团队可以用最短的时间,以最低的成本,在最有竞争力的资源平台,交付可立即体验的服务原型,满足不断变化的业务场景。如何做到“按需配置,极速获取”“只需要30秒就可以获得一个位于云端的开发环境”,这是怎么做到的呢?华为云CCE服务提供了基于K8S的集群管理能力,配合弹性IP(EIP)、负载均衡(ELB)、网关(NAT)、云硬盘(EVS)等诸多云端技术的整合,提供一套用户从浏览器端即可直通容器运行环境,附带打通网络通道的综合技术体验。当适配特定技术栈的容器镜像被K8S拉起后,配套网络流量和硬盘适时加载,浏览器被重定向到容器内部的IDE实例上,用户通过浏览器访问即可实现环境访问、编码、调试、运行、预览等能力。如何做到“我在云上,我即是云”“打通云原生应用开发的编码和运行时”,这是怎么做到的呢?CloudIDE服务整合了华为云的计算、存储、网络、数据、人工智能、软件开发平台等诸多能力,本身就是一个位于云端的服务,提供资源申请、交互体验、网络访问、插件适配等诸多能力。开发者利用位于云上的开发环境,通过IDE内置插件与华为云诸多服务无缝集成,打通网络瓶颈和体验瓶颈,做到“我在云上”。开发者所开发出来的应用,一键式部署到华为云的CCI服务,做到云原生应用即时体验,从此不再依赖繁重的工具链即可实现交付可见,做到“我即是云”。如何做到“随时随地,自由随心”互联时代到来时,具备高速互联访问能力(比如5G宽带)的终端设备无处不在,不管是桌面开发者还是移动开发者,不管采用的是桌面电脑、移动终端还是智能手机,只要有一个可以访问互联网络的浏览器,就可以访问华为云CloudIDE服务。你可以身处安静的办公室、私密的书房、嘈杂的市场、忙碌的车站、飞驰的列车,只要有网络就可以随时随地上手体验代码,从此编码再无阻隔。如何做到“基于鲲鹏,服务鲲鹏”针对传统(x86)计算资源面临的诸多限制和弊端,华为推出了基于ARM架构的鲲鹏计算能力,构建了基于华为鲲鹏的第二计算平面,在资源效能、并行计算等方面提供了更优的用户体验。如何帮助和引导用户将已有业务无缝迁移到鲲鹏资源平台,是CloudIDE面对的现实问题。通过支持用户创建基于华为鲲鹏的云端IDE真实开发环境,让用户编写和调试代码可以在真正的ARM架构环境中进行,彻底摆脱交叉编译和工具缺陷带来的潜在影响,帮助用户以最低成本、最短时间、最高效率体验鲲鹏,应用鲲鹏。如何做到“助益高手,不拒小白”“闻道有先后,术业有专攻”,CloudIDE这样一款工具如何为不同需求、不同背景、不同水平的开发者都提供良好的服务呢?首先,华为云CloudIDE内置了包括Java、Python、C/C++、Go、NodeJS在内的多种主流技术栈,以满足不同语言开发的要求;其次,为了让不同等级的开发者快速实践多种应用场景、适配流行的解决方案,CloudIDE内置了大量的代码模板。用户使用CloudIDE时轻松导入代码模板和例程,不论身具何种开发水平,不论意图使用何种开发框架,一键式导入例程代码,随时可以站在巨人的肩膀上实现创新。而且,我听说真正的高手更喜欢DIY开发自己的插件!如何做到“包罗万象,无尽扩展”没有一个精创项目是脱离场景的。从快速交付的原型上找到正确的方向,涵盖商业场景、业务场景、体验场景,都是团队要面对的最重要的问题。作为支持标准化插件扩展能力的开发平台,华为云CloudIDE通过提供插件市场、开放插件标准、丰富插件品类、不断迭代插件体验等举措,对当下乃至未来的无限业务场景都可以做到有效集成。华为云CloudIDE通过插件扩展能力,为线上教育、培训考试、云原生开发、企业级协作、人工智能、移动应用开发、鲲鹏优化、DevOps实施、区块链合约、量子计算、边缘计算、物联网等众多领域都提供了持续的创新动力。华为云CloudIDE,面向云原生的轻量级WebIDE,云时代的精创利器!立即体验,即刻创新!点击阅读原文👇,快速体验
2020年3月27日
其他

戴明博士:管理的十四项原则

《走出危机》一书中总结的14条基本原则,本质都是优化组织管理与变革,它们构成了戴明质量管理理论的主要思想理念,也成为20世纪组织全面质量管理的重要理论基础,推动了ISO9000质量体系的提出和施行。
2019年12月2日
其他

黑客之道-解码Facebook的DevOps之路

Facebook几个重大的业务线:群组、WhatsApp(相当于微信)、Facebook(相当于微博)、Messenger(相当于QQ(即时通信))、Instagram(照片墙,相当于美图秀秀)。
2019年11月27日
其他

关于Scrum起源,读这一篇论文就足够啦!《新新产品开发游戏》

在橄榄球方法下,产品开发过程从一个精心挑选的多学科团队的不断互动中产生,团队成员从开始到结束都在一起工作。该过程不是在定义好的、高度结构化的阶段中进行的,而是在团队成员的相互作用下产生的。(见表1)
2019年11月25日
其他

【DevOps进行时】自动化测试之单元测试

是Development和Operations的组合,可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集。
2019年11月18日
其他

历久弥新 - 微软万亿市值背后的文化支撑(上)|DevOps案例研究

企业文化是很多企业管理者经常挂在嘴边的一个词,也是我们在谈论DevOps、敏捷和精益的时候都不可避免触及的一个话题。但到底什么是企业文化?如果对这个问题的理解有偏差,恐怕很多的讨论都会变成无根之水。
2019年7月31日
其他

DevOps案例研究:庖丁解牛,剖析Google持续交付之道

2004年8月19日,Google完成首次公开募股,当初总股本27182万股(2.718281828和数学常数e有关,常数e又被称为欧拉数,为自然对数函数的底数,值约为2.71828)。
2019年7月29日
自由知乎 自由微博
其他

DevOps案例研究|史上最能“拜客户教”的公司,是如何做到持续交付的?(第1趴)

很多公司都会在墙上贴上所谓的企业文化,但也仅仅是贴出来而已。如果你深刻理解贝索斯,理解Amazon,就会相信它的确把“以消费者为中心”融在它的血液里,融在它的战略里,融在它日常管理的每一步里。
2019年7月26日
其他

DevOps案例研究:进取到让自己毛骨悚然,Netflix公司的简介和文化

面对变化莫测的未来,我们只能用积极面对变化,以更快的速度应对变化,这是一种超级的成长型思维,也叫反脆弱思维——用脆弱对抗脆弱;从无序中获得收益;外界越混乱,越变化,你越受能从这种思维方式中受益。
2019年7月24日
其他

DevOps案例研究:知人善任——Google敏捷核心文化

三天过去了,似乎一点落地的东西都没有,第四天开始制作测试原型。听起来似乎有些不可思议,三天做计划一天做出原型,但仔细想想是可能的,因为前面已经明确了要做的事情,Savioke就是一个成功的案例。
2019年7月19日
其他

《凤凰项目》读书笔记 I

第二工作法是关于价值流各阶段自右向左的快速反馈流,放大其效益以确保防止问题再次发生,或者更快的发现和修复问题。这样,我们就能在所需之处获取或嵌入知识,从源头上保证质量。
2017年10月16日
其他

陆奇最新演讲:如何成为一个优秀的工程师

Excellence是一个永无止境的、个人的、团队的,能力的追求和工具平台的创新,综合在一起可以给我们带来的长期的、核心的竞争力,为社会创造价值,最终的目的是给每个用户、每个企业、整个社会创造价值。
2017年7月17日
其他

重新梳理 | DevOps发展的四个重要阶段

Architecture》一书,其中,MattStine对Cloud-Native关键架构特征进行补充,也融入早在2012年由Heroku创始人AdamWiggins发布的“十二要素(The
2017年6月15日
其他

DevOps平台中的自动化部署框架设计

前面我们提到了“部署策略”这个词,除了全新部署,我们常见的部署策略有蓝绿发布、滚动升级、灰度发布/金丝雀发布、回滚。下面来看看我们的相应解决方案。每一种部署策略都会有相应的执行计划模版(含子计划)。
2017年6月6日
其他

DevOps三步工作法的第一步:建立全生命周期管理能力

这次,我们还同时发布了2017年5月11日的VSTS迭代更新说明http://devopshub.cn/2017/05/19/vsts-update-may-11-team-services/
2017年5月22日
其他

Docker,容器,虚拟机和红烧肉

Docker绝对不等同于容器。一个是干活的人,一个是被搬运的物品,能一样吗?但是我仍然在各种技术文章,会议演讲上看到和听到将他们混为一谈的说法。实在觉得需要给他们正名,也是今天写这个文章的主要原因。
2017年1月13日
其他

基于Docker的DevOps流水线

提问:现代软件开发和计算机技术的快速发展造成了大量异构系统的出现,这给应用开发,测试和部署都带来了巨大的复杂度,如何有效的管理这种复杂度同时保持开发和运维的效率是急待解决的问题?
2016年12月29日
其他

使用 Docker 做 CI 解惑

我想提提自己的看法。首先,Docker镜像本身是一个压缩包,每次即使只改几个文件,也需要把整个项目压缩一遍,没法增量压缩。所以,如果你的开发过程中需要频繁的改内容的时候,用
2016年12月28日
其他

基于Docker实现DevOps的一些探索

Container),最后到现在如日中天的Docker。站在前人的肩膀之上,Docker最妙的地方就是将容器的使用简单化和标准化,再配合一波开源,互联网,云计算,大数据的浪潮,可谓是时代的宠儿。
2016年12月19日
其他

在Linux和Windows的Docker容器中运行ASP.NET Core

由于容器成为虚拟化和应用托管的一种不可避免的选项,Windows也开始为公众提供容器功能(其实微软具备和使用容器技术很久了)。这样的容器功能在内部的引擎通过两种方式来实现,内核级别(仅Windows
2016年10月17日
其他

DevOps的前世今生

换句话说,DevOps希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。专家们总结出了下面这个DevOps能力图,良好的闭环可以大大增加整体的产出。
2016年10月8日
其他

“用户故事地图”在TFS平台上的应用

可测试性(Testable)—一个用户故事要是可以测试的,以便于确认它是可以完成的。如果一个用户故事不能够测试,那么你就无法知道它什么时候可以完成。一个不可测试的用户故事例子:软件应该是易于使用的。
2016年9月30日
其他

docker4dotnet #5 使用VSTS/TFS搭建基于容器的持续交付管道

core的跨平台开发能力为.net开发人员提供了使用容器进行应用开发的能力,今天这篇文章将对如何使用微软的全生命周期管理平台VSTS/TFS来构建基于容器的CI/CD管道来支持团队开发的场景。
2016年9月29日
其他

使用VSTS/TFS搭建iOS持续集成环境

Sublime等进行编码开发,只是在最后需要打包成ipa的时候你还是需要一台macOS才能完成。所以,我们今天就按照最典型的原生应用的开发方式,看看如何使用VSTS/TFS来搭建持续集成环境。
2016年9月23日
其他

9月活动预告《构建高效DevOps团队》

也可以为开发团队提供专注于开发过程的仪表盘,如以下仪表盘为每个开发人员提供了个性化的视角来查看:未完成工作,我的Bug,我的任务进展,当前版本的测试执行时间和测试结果,以及每次CI的执行结果。
2016年9月19日
其他

9月活动预告《构建高效DevOps团队》

也可以为开发团队提供专注于开发过程的仪表盘,如以下仪表盘为每个开发人员提供了个性化的视角来查看:未完成工作,我的Bug,我的任务进展,当前版本的测试执行时间和测试结果,以及每次CI的执行结果。
2016年9月19日
其他

9月活动预告《构建高效DevOps团队》

也可以为开发团队提供专注于开发过程的仪表盘,如以下仪表盘为每个开发人员提供了个性化的视角来查看:未完成工作,我的Bug,我的任务进展,当前版本的测试执行时间和测试结果,以及每次CI的执行结果。
2016年9月18日
其他

说说 Code Review

小架构。什么意思呢,就是一个文件或者类内部的代码组织。比如如果有重复的代码段,就应该提取出来公用。不要在代码里随意设常数,所有的常数都应该文件顶部统一定义。哪些应该是
2016年8月15日
其他

docker4dotnet #4 使用Azure云存储搭建高速 Docker registry

Done!"当然,你也可以把这个registry容器运行在云端的docker-machine里面,这样你就可以把这个registry共享给团队使用了,但是不要忘记加入验证。
2016年8月13日
其他

docker4dotnet #4 使用Azure云存储搭建高速 Docker registry

Done!"当然,你也可以把这个registry容器运行在云端的docker-machine里面,这样你就可以把这个registry共享给团队使用了,但是不要忘记加入验证。
2016年8月13日
其他

敏捷开发的目的不是为了快速交付!

A4的纸张,代表最大的前置时间,接着将A4纸张撕成四等分,也就是采用四分之一的前置时间大小的纸张,最后一回则完全拿掉纸张,也就是极小化前置时间的限制,目的在让学员更容易意识到速度上的差异).
2016年8月5日
其他

Win10上运行Docker

改进开发流程——大量的装备可用于代码和数据,还可以更加方便地访问在本地网络上运行的运行容器,IDEs支持在线调试,使代码迭代更快速更轻松;
2016年8月4日
其他

如何快速的学习一门技术?

Native,性能优化到开源类库,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或者各大应用市场搜索「掘金」,技术干货尽在掌握中。
2016年8月2日
其他

docker——从隐喻说起

首先我得有个python环境,比如我用的是python3,而你机器上是python2,那ok,先装个python3吧,一看装起来还挺麻烦,要先装各种依赖,还要解决一些可能的冲突,没办法硬着头皮上吧。
2016年8月1日
其他

docker4dotnet #3 在macOS上使用VSC和Docker开发asp.net core+mysql应用

下载地址:https://code.visualstudio.com(同样大家可以在公众号中输入d4dtools获取最新版本的code安装包,提供Windows/Mac/Linux不同版本)
2016年7月29日
其他

docker4dotnet #3 .net猿和小鲸鱼的苹果山之旅

下载地址:https://code.visualstudio.com(同样大家可以在公众号中输入d4dtools获取最新版本的code安装包,提供Windows/Mac/Linux不同版本)
2016年7月28日
其他

使用 SSH 连接 TFS/VSTS 的GIT仓库

Service也在同一时间支持git,但是TFS和VSTS对git的支持一直使用http/https作为传输协议,这让很多典型的git客户端无法很容易的连接到TFS/VSTS,比如Eclipse
2016年7月22日
其他

TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint

在迭代计划会议开始之前我们的产品负责人一定要提前整理好团队积压工作列表,包括录入积压工作及按照商业价值/紧迫程度为积压工作排序。这部份工作一定要在开始迭代计划会议之前完成,不然会大大的降低会议效率。
2016年7月19日
其他

TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint

在迭代计划会议开始之前我们的产品负责人一定要提前整理好团队积压工作列表,包括录入积压工作及按照商业价值/紧迫程度为积压工作排序。这部份工作一定要在开始迭代计划会议之前完成,不然会大大的降低会议效率。
2016年7月19日
其他

docker – 你应该知道的10件事

platformshttp://news.microsoft.com/2014/10/15/dockerpr/#sm.000uatmy5115te5avb62jyeq9a5fg
2016年7月18日
其他

docker4dotnet #2 容器化主机

以往我们必须给不同的应用创建不同的运行环境,而且这个环境必须从操作系统开始一层层搭建;使用容器话之后,不同类型的应用可以运行在统一的操作系统层之上,大大提高了资源利用率和灵活性。
2016年7月15日
其他

docker4dotnet #1 – 前世今生 & 世界你好

这就是docker带给我们的,这就是为啥程序员们急不可耐的开始使用docker,而且愿意冲破阻力让运维去接受docker,这种事情在历史上好像没有出现过;从来都是运维要求开发使用标准化环境的。
2016年7月11日
其他

TFS 2015 敏捷开发实践 – 看板的使用

黑色背景的是没有评估工作量的,白色背景是没有指派的,每个成员认领的PBI都用不同的颜色区分,因此我们能在上图上直观的看到团队当前的迭代的研发状态及各成员的工作状态。
2016年6月23日
其他

DockerCon 2016 – 微软带来了什么?

https://azure.microsoft.com/en-us/marketplace/partners/docker/dockerdatacenterdocker-datacenter/
2016年6月23日