Azure DevOps 的架构窥探
工作的缘故,接触 TFS (Team Foundation Server)挺多的,现在改名为 Azure DevOps,分为 可私有化部署版本 Azure DevOps Server,简称ADS,以及 SAAS 版本 Azure DevOps Services。未来因为微软收购了 github,据说 TFS 的开发团队已经合并到github,所以未来可能只存在github 企业版 和 github网站。
本文根据自己的理解,基于 Azure DevOps Services 版本,总结了一下 ADS 目前的架构。
概述
微软的一个产品,提供版本控制、需求管理、报告、软件库管理、项目管理、测试、自动生成和发布管理功能。它涵盖了应用的整个生命周期,并启用了 DevOps 功能。
ADS 这个产品功能很复杂,企业在选择后通常都需要有专门的售后支持,比如如何与现有业务流程配合起来使用,如何和现有的系统做集成。
优点:
不足:
- 收费较高,中小企业不会买单,关键大点的企业又在推国产化 或 自研
- 功能上僵化,操作很繁琐,就算用插件方式做扩展,也跳不出现有的UI框架
- 什么都存储在数据库里面,时间长了运行非常的卡顿
- 技术支持响应很慢,通常以周为单位,问题解决更慢,一等就是几个月
概念

- ADS 最大的概念是集合,类似一个大组织的名称,比如xx公司,或者研发1部;
- 集合项目可以分项目,一般按照字面意思使用就好,对应到具体的项目。创建项目的时候可以选择不同的类型,比如 cmmi、scrum、basic、agile,略有不同,一般建议选择 scrum
- 项目下面有很多的工作项,看板功能(board)比较常用,上面可以自己划分泳道 和 一些工作项的显示字段

- 项目可以对应多个git仓库,但是有且仅有一个TFVC库,如果要用的话可以存一下文档
- 一个集合下可以创建多个 agent,agent 可以安装在 windows、linux、mac上,使用命令行交互的方式进行安装
- 流水线,可以在项目中创建多条,也可以去调用集合中的agent,使用他们进行构建、发布;流水线中可以包含多个task,ads 本身有大量常用的task,不够的可以去插件市场找,或者自己写一个,再不行使用 command 类型的插件自己写点shell也是可以的。

架构

微软的产品当然大部分是基于微软的技术,部署的话都是在windows server上,目前没有看到linux 或者 容器化部署的方法。
- 用户身份验证是基于windows的域账号体系,所以需要一个域控服务,到也不是说你的电脑要加入域,登录的时候弹一个原始的alret框而已。
- 数据库是基于sqlserver的,oracle、mysql 你就不要想了,如果数据多了可以考虑集群的处理方法,或者可以考虑每个集合单独建库,或者一些业务数据直接缓存到公司的数据中心
- web,都是部署在iis上的,这里解决高并发的手段主要是服务器做负载,iis开多进程模式
- Elasticsearch 用于加快搜索,比如搜代码之类的都是基于这个,如果直接查数据库或者放内存,不是数据库爆掉就是web应用爆掉,Elasticsearch 果然是大杀器
Azure DevOps 的架构窥探的更多相关文章
- 微软改名部又出动啦!微软宣布VSTS改名为Azure DevOps
本篇为翻译,原文地址:https://azure.microsoft.com/en-us/blog/introducing-azure-devops/ 作者:Jamie Cool,Azure DevO ...
- 在Azure DevOps Server中运行基于Spring Boot和Consul的微服务项目单元测试
1 概述 谈到微服务架构体系,绕不开服务发现这个功能.服务发现机制是简化微服务配置.实现容灾.水平扩缩容.提高运维效率的重要方式.在服务发现工具中,Consul在部署和使用方面与容器结合的天衣无缝,成 ...
- Azure Data Factory(三)集成 Azure Devops 实现CI/CD
一,引言 由于上一节文章内容过长,无法分享Azure Data Factory 的持续集成,持续发布.今天将着重介绍一下在使用 Azure DevOps Pipeline 发布,自动进行持续集成,并且 ...
- Azure Terraform(五)利用Azure DevOps 实现自动化部署基础资源
一,引言 上一篇我们结合学习 Azure Traffic Manger 的内容,做了一个负载均衡的基础设施架构.通过 Terraform 部署执行计划,将整个 Azure Traffic Manage ...
- Azure Terraform(八)利用Azure DevOps 实现Infra资源和.NET CORE Web 应用程序的持续集成、持续部署
一,引言 上一篇讲解到利用 Azure DevOps 将整个 Azure Web App,Azure Traffic Manager profile,Azure Storage Account,Azu ...
- Azure Devops/Tfs 编译的时候自动修改版本号
看到阿迪王那边出品了一个基于Azure Devops自增版本号 链接 http://edi.wang/post/2019/3/1/incremental-build-number-for-net-c ...
- 如何将Azure DevOps中的代码发布到Azure App Service中
标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...
- Azure DevOps to Azure AppServices
Azure DevOps is a complete solution for software development, from planning to building to deploymen ...
- Azure DevOps
Azure DevOps https://azure.microsoft.com/zh-cn/services/devops/ It looks great!
- 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化
介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...
随机推荐
- 220702 T1 玩具 (图的同构,全排列判定)
[题目描述] Tom和Jerry各有一个玩具,每个玩具都是由M根绳子连接到N个球上制成的. 在Tom的玩具中,球的编号为1,-,N,第i条绳子将球Ai和Bi连接起来. 类似地,在Jerry的玩具中,球 ...
- NOIP 2013 洛谷P1966 火柴排队 (树状数组求逆序对)
对于a[],b[]两个数组,我们应选取其中一个为基准,再运用树状数组求逆序对的方法就行了. 大佬博客:https://www.cnblogs.com/luckyblock/p/11482130.htm ...
- Linux系统管理_软件管理
RPM命令 #管理.rpm文件 #RPM包软件命名规则:name-version-releases.arch.rpm rpm -ivh pkgname #安装软件包 rpm -ivh --test p ...
- RedHat7.6安装mysql8步骤
1.官网下载mysql安装包 直达链接:https://dev.mysql.com/downloads/mysql/ 2.将下载好的安装包上传到redhat系统上(有多种上传方式,本次使用Sec ...
- Codeforces Round #816 (Div. 2)/CodeForces1715
CodeForces1715 Crossmarket 解析: 题目大意 有一个 \(n \times m\) 的空间,Stanley 需要从左上角到右下角:Megan 则需要从左下角到右上角.两人可以 ...
- 笔记:Debian下为sublime text建立软链接[像vi一样到处使用]
先查询sublime-text安装路径 :~$ dpkg -L sublime-text /. /opt /opt/sublime_text ... /opt/sublime_text/sublime ...
- 从小白到架构师(4): Feed 流系统实战
「从小白到架构师」系列努力以浅显易懂.图文并茂的方式向各位读者朋友介绍 WEB 服务端从单体架构到今天的大型分布式系统.微服务架构的演进历程.读了三篇万字长文之后各位想必已经累了(主要是我写累了), ...
- Jenkinsfile Pipeline 使用 SSH 连接
前提 首先你需要将用到的 SSH 私钥保存到 Jenkins 的凭据中,这样你会获得一个 credentialId.这不是本文主要的内容,故不在此展开赘述,详情可参考官方文档:https://www. ...
- <二>自己实现简单的string
我们结合运算符重载知识实现string 类 在自己实现的String类中可以参考C++中string的方法 例如构造,加法,大小比较,长度,[] 等操作. 当前的MyString 类中,暂时不加入迭代 ...
- 获取联通光猫PT952G的管理员密码
前言 普通用户的帐号和密码在光猫的背面 输入光猫网关即可跳转到登录界面 但是没有什么权限操作东西,所以我找到了管理员界面 输入 网关+cu.html 即可跳转到管理员界面 例如我这里是http://1 ...