通过Rainbond的团队管理去管理已有的组织架构
针对于多团队管理我先列举几个小问题,看看大家有没有共鸣,我们在刚刚接触并使用Rainbond的时候,仅仅创建一个团队,里面创建一大堆应用,看起来特别乱,进行管理的时候呢,也会非常麻烦,尤其是当团队需要划分角色进行管理的时候,就会发现没有办法将权限分配的特别细化,体现不出来应用隔离性,操作安全性,进而没有办法将Rainbond的多团队多用户的功能发挥出来。
通过这些问题,我们整理了一下,在使用平台的过程中可能遇到的组织架构,以及这些组织架构应该怎么去进行划分,怎么合理的去进行创建团队以及分配权限,希望通过本文档大家更够对Rainbond的多团队管理有更深层级的一个理解和使用。
一.Rainbond 多团队架构模式
我们先一起来看一下在使用Rainbond的过程中,各种企业架构迁移上来的时候,应该怎么去合理划分团队以及角色。
(1)项目型架构:通过不同的项目进行划分,每个项目里面包含的应用以及角色是不一样的。
(2)职能型架构:通过公司里不同的职能进行划分,将开发运维测试人员,分别加入各自的团队,对其他不可见。
(3)大型企事业单位架构:通过将不同的供应商,进行区别划分,然后进行分类的一种。
(4)复合型架构:一般用于体量大的公司,将职能,供应商,项目组一一进行划分,更加的细化。
以上几种类型就是几种比较普遍的,每个公司都会有不同的部门团队,里面有不同的角色,不同的人员,不同的权限,例如:开发者权限:只能进行增,改,查,并不能执行删除操作,管理者权限:可以全面操作增删改查功能等等,大家看看有没有适合自己公司的,接下来我拿一个复合型的架构案例进行讲解,让大家理解是怎么进行管理分配的。
二.真实场景的团队管理
拿我们的一个客户给大家更加详细的介绍他们是怎么用的,企业是一个研究院,他们的架构就是复合型的,因为体量非常的大,有自己的研发技术团队,有供应商进行供应服务,也有子团队的项目相互关联,而且有的应用之间还是有关联的,管理起来还是相对让人头痛的。
而且他们不同的供应商,团队,项目之间面临的问题、人员以及要处理的应用关系也是完全不一样的,传统的方式进行管理,整体架构会很乱,而且容易出现权限分配过大或者过小的问题,一旦权限分配过大,对于我们的安全性来讲,其实是非常低的,一旦操作失误,就会带来不可估计的损失。
针对于以上问题,我们详细进行了记录,拟定平台的解决方案:
(1)根据用户的需求进行定制化团队建设,供应商,技术团队,项目进行划分,添加相应的人员,进行分配合理的权限,因为平台特有的权限机制是角色分配,(默认是开发,管理,观察)每个角色的权限不同,当然也可以自己进行定义角色名称权限,所以可以更好的细化分配,更加具体

因为每个团队里面都有不同的角色,在这里着重说一下,平台的机制是每个团队是相互隔离的,通过不同角色进行登录所看到的应用以及可操作性是完全不一样的。

该研究院的组织架构在平台上看起来非常清晰,最重要的是他们管理各项业务时只需要进入自己相应的团队即可,当然这是管理页面,会显示全部管理的团队,当不同的团队,不同的人员,进入他们的工作环境时,自己仅仅也只能看到跟自己相关的应用。
(2)建完团队,角色等,我们就可以添加用户了,只要注意选择他们所在的团队以及要赋予的角色就行了

可以通过管理账号增加用户,并且赋予指定的权限也可以让用户自己进行注册,然后申请加入自己要加的团队都可以。
(3)根据平台的资源配额和限制的功能,解决客户资源浪费的情况。

通过集群里对不同团队资源限制和配额,一方面可以提高资源利用,另一方面我们可以更好的管理每个团队的资源实现最大化利用。
(4)该研究院拥有多个集群,如何统一的管理这些集群呢?Rainbond 天生支持基于统一控制台的多集群管理。同个团队可以在多个集群之间同时开通,团队所辖的用户及对应的角色都可以在开通的多个集群中生效,这一点是 Rainbond 抽象出的团队概念,和一般租户概念的差别很大。用户通过团队中指向不同集群的入口,即可进入对应集群的工作空间之中,使用调度其中的资源。
该能力适用于独享或共享集群计算资源这一场景:
当集群仅被一个团队开通时,其资源只会被当前团队所辖的用户使用,即独享了该集群的计算资源。研究院所对接的某集群仅供负责该项目的团队所开通,所以仅有该项目团队成员可以向这个集群交付应用。
当集群被多个团队开通时,其资源被所有团队的成员共享使用,即共享了该集群的计算资源,企业管理员可以通过团队资源限额来管理所有团队的资源占用上限。该研究院自身运营的平台,面对所有开发团队、项目团队、供应商团队开放,就是一种共享资源的使用方式。 

(5)最后就是考虑到网络的隔离性 ,Rainbond平台是基于kubernetes之上做的云原生应用管理平台,所以底层隔离逻辑完全可以通过不同的SDN(软件定义网络)来达到我们想要的不同效果,
例如:Calico从路由规则上隔离;Flannel 是一个非常简单的能够满足 Kubernetes 所需要的覆盖网络。Romana 是一个开源网络和安全自动化解决方案。 它可以让你在没有覆盖网络的情况下部署 Kubernetes。 Romana 支持 Kubernetes 网络策略, 来提供跨网络命名空间的隔离。
平台能够进行定义不同的SDN是因为我们对于K8S是没有侵入的,用户完全可以根据自己的需求进行自主选择。
三.多级团队管理解决思路
通过上述大家应该对于如何去使用多团队管理有了一个非常好的认识,但只是针对于单层级的一个管理,那么多层级的管理是怎样的呢?单层级团队管理与多层级团队管理最大的区别,在于父级团队管理人员可以管理子级团队,简单实现只需要把父团队管理人员分别加入子团队,并且赋予相对应的角色权限,就能实现多级的管理。
四.小结
相信看到这里,大家对多团队管理有了更深一个层级的理解,那么我们应该怎么去合理利用,并使用这些机制呢,大家可以参考Rainbond团队管理操作文档。
五.关于Rainbond
Rainbond是一个开源的云原生应用管理平台,使用简单,不需要懂容器和Kubernetes,支持管理多个Kubernetes集群,提供企业级应用的全生命周期管理,功能包括应用开发环境、应用市场、微服务架构、应用持续交付、应用运维、应用级多云管理等。
已有上百家企业使用Rainbond管理关键业务场景,涵盖制造、能源、高校、公安、政府、交通、军工等十几个行业。客户有 京东方、百胜中国、中航信、中公高科等大型企业。
通过Rainbond的团队管理去管理已有的组织架构的更多相关文章
- [转]资深CTO:关于技术团队打造与管理的10问10答
一.你如何衡量软件工程师个人的工作表现?如何衡量整个工程师团队的工作表现? 主要从两方面: 这个员工做的工作是不是他同意做的或者应该做的?(What) 他们是如何完成自己的工作的?(How) 任何绩效 ...
- 百人研发团队的难题:研发管理、绩效考核、组织文化和OKR
分享一个公司规模近200,研发占一半的创业公司 Worktile 在研发团队管理方面的玩法,仅供百人左右研发团队参考~ 什么是研发团队?简单的说,你熟悉的那帮穿格子衬衫,以程序员为核心组成的团队,就是 ...
- 如何从投票的网站的管理后台导出已投票的邀请码数据至Excel,并且稍修改,再导入到现场抽奖软件中?
第一步:进入投票网站的管理后台,导出 已投票 的 邀请码 相关信息至Excel中,下图所示: 并且 删除第一行表头汉字信息. 第二步:把第A列 数值 信息 转换 为 文本 信息(注:转换方法详细点击此 ...
- Git 在小团队中的管理流程(转)
目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...
- 多人合作项目如何去管理git仓库
前记:在git之前依稀记得有SVN去管理代码仓库,现在多用git去管理我们的代码:现在一般的项目大多数是多人同时开发,这样就会存在一个问题就是如何去协调开发:这也是lz当前使用git开发管理的些许经验 ...
- 利用AFNetworking框架去管理从聚合数据上面请求到的数据
数据从JSON文档中读取处理的过程称为“解码”过程,即解析和读取过程,来看一下如果利用AFNetworking框架去管理从聚合数据上面请求到的数据. 一.下载并导入AFNetworking框架 这部分 ...
- 使用 Git 命令去管理项目的版本控制(一)
参考资料:参考 参考 声明本文是作者原创,是自己的学习笔记,仅供学习参考. 在 10.11.2Mac系统中,要显示隐藏的文件夹使用命令行: defaults write com.apple.find ...
- NetworkManager的坑(如何让network manager不去管理网络端口)
在CentOS上,有时你需要停止并禁用 NetworkManager.但这样做了之后,其实NetworkManager还在影响着你的端口. 比如你有端口配置如下: [root@compute02 ~] ...
- Git 在小团队中的管理流程
目标读者:了解 Git 的基本概念,能够使用 Git 进行基本的本地和远程操作. 有关 Git 的基础知识可以参见 知乎回答-怎样使用 GitHub?,天猪(刘勇)给出了一些很好的学习资料. 本文介绍 ...
随机推荐
- hdoj_Problem1.1.8_A+B for Input-Output Practice (VIII)
A+B for Input-Output Practice (VIII) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3276 ...
- 使用寄存器点亮LED——2
1. 项目:使用stm32寄存器点亮LED, 分别点亮红.绿.蓝3个灯. 2. 步骤 先新建个文件夹保存项目 再新建项目 将startup_stm32f10x_hd.s拷贝到该文件夹下 新建main. ...
- javascript-vue介绍
vue.js是一个用于创建web交互页面的库 从技术角度讲,vue专注于MVVM模型的viewModel层,它通过双向数据绑定把view层和model层连接起来,实际DOM封装和输出格式都被抽象为Di ...
- [no code][scrum meeting] Beta 11
$( "#cnblogs_post_body" ).catalog() 例会时间:5月26日11:30,主持者:肖思炀 下次例会时间:5月27日11:30,主持者:乔玺华 一.工作 ...
- [技术博客] 利用SharedPreferences来实现登录状态的记忆功能
[技术博客] 利用SharedPreferences来实现登录状态的记忆功能 一.SharedPreferences简介 SharedPreferences是Android平台上一个轻量级的存储辅助类 ...
- flink中使用lambda表达式
flink中使用lambda表达式 1.使用lambda的一个示例 2.使用上面这种写法通常或得到如下错误 3.解决方案 4.建议 5.完整代码 在 java8中有一种新的语法糖,即 lambda表达 ...
- echart3 力引导布局实现节点的提示和折叠
最近在项目中需要开发一个图表来显示人员的各种属性,类似于一种树形的结构进行显示数据.如果多个人员有同一个属性,那么需要将相同的属性进行连线,即关联起来.即形成一个关系图,由于我自身对echarts稍微 ...
- linux shell 基本语法之快速上手shell编程
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...
- numpy中的nan和常用方法
1.数组的拼接 import numpy as np t1 = np.array([[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11]]) t2 = np.array([ ...
- 手把手教你学Dapr - 3. 使用Dapr运行第一个.Net程序
上一篇:手把手教你学Dapr - 2. 必须知道的概念 注意: 文章中提到的命令行工具即是Windows Terminal/PowerShell/cmd其中的一个,推荐使用Windows Termin ...