相对于传统的消费级IM应用,企业级IM应用的特殊之外在于它的用户关系是按照所属企业的组织架构来关联的起来,而组织架构的大小是无法预设上限的,这也要求企业级IM应用在遇到真正的超大规模组织架构时,如何保证它的应用性能不受限于(或者说是尽可能不受限于)企业架构规模,这是个比较有难度的技术问题。
当私有化的组织架构上升到100W的量级时,出现了严重影响组织架构使用的问题:打开二级部门时,加载缓慢。如图所示,loading可能持续一分钟以上。
来源:ToB老人家 作者 :王戴明 ---- 什么是B端大产品经理 相对于C端产品,B端产品有着更强的管理工具属性。其设计难度,往往随着业务复杂度呈指数级上升。因此,我们评价一个B端产品经理的能力,往往需要首先了解他所支撑的业务。 B端产品设计的难度首先取决于单一业务的复杂度。比如,商品管理模块,由于涉及到单位、规格、批次和权限管理等,可能就需要相对精巧的设计,才能够满足业务需要。 同时,不同业务板块之间的关联关系,是产品设计中相对困难的部分。比如,在贸易型业务中,采购价格构成商品成本,销售
相对于C端产品,B端产品有着更强的管理工具属性。其设计难度,往往随着业务复杂度呈指数级上升。因此,我们评价一个B端产品经理的能力,往往需要首先了解他所支撑的业务。
从这篇文章开始,准备从架构设计层面谈谈Dev和Ops的关系,而不是单纯从组织架构和协作模式上的Dev和Ops关系。
架构设计是基于架构原则和目标给出问题解决方案的过程。架构和设计遵循相同的原则和方法,只是解决问题的规模和层次不同,而这规模和层次没有明显界限。
这篇文章是软件工程系列知识总结的第五篇,同样我会以自己的理解来阐述软件工程中关于架构设计相关的知识。
1 数字化转型的思考框架是什么? 大家好,首先特别感谢各位能够出席 DTDS 全球数字人才发展峰会,我是万学凡。 我今天分享的主题是 IT 团队的数字化转型实践,希望就大型 IT 团队在数字化转型过程中如何发展、建设分享一些我的经验。在切入正题之前,我有两个问题和大家探讨。 这两个问题来自于我三个月前在 InfoQ 组织的 TGO 鲲鹏说上分享的《大型研发团队的数字化魔方》,主题思想是:在数字化转型时代,随着研发团队越来越大,组织该如何思考研发团队的建设? 有两个主题方向,一个是 IT 团队的核心价值是
今日头条目前拥有推荐引擎、搜索引擎、关注订阅和内容运营等多种分发方式,囊括图文、视频、小说、直播、音频和小程序等多种内容体裁,并涵盖科技、健康、教育等超过 100 个内容领域。在快速发展阶段,今日头条在稳定性和可用性方面承受的压力也比较大,一方面需要快速实现业务需求,另一方面也要保证高可用的技术能力,在现有的环境下做优化,不断考虑调优及应对访问压力,改善基础设施以提供更稳定的开发环境。
在大型软件系统设计时,业务一般会相对复杂,假如所有业务实现的代码都纠缠在一起,会出现逻辑不清晰、可读性差,维护困难,改动一处就牵一发而动全身等问题。为了更好解决这个问题就有了我们现在常说的分层架构设计。
康威定律对系统架构很重要吗? 背景 在了解了微服务,敏捷开发还有我们现在的组织架构,是不是之间存在一定的关联。比如A团队负责a服务,B团队服务b服务,然后整个部门之间的微服务串起来就形成了一个大的服务
这里的 'are constrained to' 即是该定律的精髓所在。如果一个公司的组织架构已经基本成型了,那么基本上设计出的系统架构和其人员组织架构必然是一致的。
👆点击“博文视点Broadview”,获取更多书讯 作为软件开发的一个永恒话题,“架构”一直在被讨论、被总结和提炼。经验越久的开发者,对“架构”越会形成下面这样一些认知: 架构不曾有一个“标准答案”,架构决策受技术框架、业务场景、团队能力、公司规模、组织架构等多种因素影响; 架构理论随着某些技术的成熟而完善,又随着某些新技术的发展,旧的成熟理论被重建; 互联网产品所引发的海量大规模分布式系统,使得架构的领域也越来越细分:基础架构、中间件、业务架构、领域建模、大数据、云原生、AI…… 因为架构需要如此多的
哈喽,大家好,我是一名科班出身的程序猿,目前从事前端方向的开发工作。记得我从学校毕业刚出道的时候,对于项目架构这个词汇很陌生,根本不清楚架构是什么,但是后来随着开发工作的技术积累,以及编程思维的沉淀,慢慢懂了什么叫架构设计,这样正是今天我要分享的主题,那么接下来大家就来跟着我的脚步,回顾一下我自己对前端项目架构设计和模块规划的理解。
开发过SaaS系统平台的小伙伴一定对多租户这个概念不陌生,简单来说一个租户就是一个公司客户,多个租户共用同一个SaaS系统,一旦SaaS系统不可用,那么所有的租户都不可用。你可以这么理解SaaS系统就像一栋大楼,而租户就是大楼里面租办公楼层的公司,平时每家公司做着自己的业务,互不干扰,但是一旦大楼的电梯坏了,那么影响到的就是所有的公司。
业务架构明确定义企业的治理结构、业务能力、业务流程、业务数据。其中,业务能力定义企业做什么,业务流程定义企业怎么做。
一晃我在软件研发行业工作十多个年头了,前面大部分时间做架构设计和开发,现在转型做研发管理。随着时间的推移,很多技战术细节性的东西 (工具,框架,编程语言) 在我脑海中渐渐模糊,但是一些平时学习积累起来,并且在实践中加深体会的软件架构设计和组织原则,这些原则性的东西却丝毫没有被时间冲淡,反而愈加清新。现在即使我不在一线开发,但这些沉淀下来的原则仍然潜移默化地影响我的日常管理和部分架构设计指导工作。我想有必要总结一下那些业界知名,给我留下深刻印象的软件架构设计和组织原则,和大家一起分享。1软件设计原则GRASP 通用职责分配软件模式
架构设计存在两类系统的设计:大型系统和简单系统的架构设计。如何进行简单系统(单系统)设计我们看到的文章很多,大型系统设计相对较少。如何进行大型系统设计?是我们今天讨论的话题。
以 PPT 方式输出系统概要设计(顶层架构设计),包含以下模型,进行架构设计评审:
前段时间有篇文章朋友圈疯传,【中台搞了2年,项目叫停,CIO被裁!本以为中台是道送分题,没想到是送命题!】。从结果来说,这个项目肯定是失败的,文章中透露出中台是“最短的笑话”和”玄学”之类的表达。很多时候把中台看成一个技术课题,但做着做着发现不对,它又是一个组织课题和业务课题。在前不久的【数字化奇葩说】第一期关于ERP和中台的讨论,我也作为嘉宾参与并发表了个人观点【见文末】。其实想表达的是,能和中台扯上关系的太多了,回到运维领域,是否有一个运维中台存在?它是否是个玄幻话题?抑或是为了概念而概念?如果有,我们该如何抽丝剥茧的理解它呢?
来源:ToB老人家|作者:王戴明 ---- 对于大部分SaaS公司来说,产品标准化程度决定了企业的生死。今天,我们就站在产品经理的角度,来看看SaaS从0到1的标准化设计应该怎么做。 限于篇幅,本文对如何画流程图、如何制作原型等基础技能就不再敷述,侧重阐述实现SaaS标准化设计的要点。 为便于大家理解,本文会以一个案例为线索,一步一步演示如何从0到1设计一款SaaS产品。 SaaS与自用系统的差异 虽然同为B端产品,SaaS与自研系统的差异却非常明显。 从根本上来说,SaaS产品需要
动物界有个非常有趣的现象,群居性动物,为了保证群体的稳定性,都有两个比较有意思的特征就是等级和分工,而等级和分工最终会演化成类似金字塔形式的结构,这种结构就是组织结构。
微服务架构设计代表了一种架构设计思想,配合现在的容器技术(如 Docker),可在软件开发流程、部署、服务维护等各方面产生效率提升。 但不一定所有的业务场景都适合微服务,有时候非常简单的业务场景下,微服务反而会降低效率。什么是微服务,其特性,好处及陷阱,是本文要讨论的内容。 一、什么是微服务 微服务是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块为基础,利用模组化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关的 API(例如 REST)集相互通讯,且每个服务可以被单独部署,它具备以下
数字化转型是企业的集体行为,应当有整体设计,这部分是数字化转型操作中最难的部分,因为多数企业目前对企业架构尤其是对其中的业务架构设计重视度不够,通常是在对整体认识不足的情况下,“押宝”技术对业务改变能力。
软件架构师负责将高层次的业务需求和技术要求转化为可执行的系统架构,并与团队合作将其变为现实。
墨菲定律 - 任何事没有表面看起来那么简单 - 所有的事都会比预计的时间长 - 可能出错的事情总会出错 - 担心某种事情发生,那么它就更有可能发生
当我们去搜索“架构”,可以得到很多的架构图片,比如组织架构、业务架构、数据架构、技术架构、安全架构、产品架构、部署架构等。
企业数智化升级,本质是用数据和智能技术,赋能企业的管理和业务流程。所以,数据智能产品能否与企业的实际业务结合起来,真正推动业务升级和管理效率提升,是问题的核心。
时光退回到七八年以前,那个时候“架构师“还是一个很“高大上“的title。可是在今天的互联网圈,随便一个工作了三、五年的开发人员,都可以称之为架构师。
架构的本质是管理复杂性,抽象、分层、分治和演化思维是我们工程师/架构师应对和管理复杂性的四种最基本武器。
👉腾小云导读 移动互联网后半场,海量技术已经成为了标配。在架构设计时,开发者能做什么、要考虑什么,从而实现一个设计精良的架构?欢迎往下阅读,和腾讯后台技术专家吕远方一起聊架构设计! 👉看目录 点收藏 1 背景 2 架构的边界 3 架构的组织属性 4 架构的反馈 5 总结 01 背景 腾讯面向内部开发者的海量服务之道系列课程颇具名气,它为司内外海量用户提供互联网服务的经验传承。无数开发者尤其是后台技术栈的开发者都获益于这些课程,从而成长起来。本篇我们将提炼这个核心课程精髓,供广泛开发者参考。 海量服务的核心
或是项目的原因,或是写作的原因,一直在思考『如何在云原生时代设计团队的协作?』以及『如何在云原生时代,重新定位开发人员的位置?』。起初,我只有一些细碎、不成体系的定义,直到这周公司大佬在内部分享了团队拓扑的理念之后。我终于找到一种合适的方式(基于这个体系),建立起有理论支撑的协作设计、体系化的开发者定位。
今天谈下云平台下的多租户架构,不论是在公有云还是私有云平台,是设计一个面向最终组织或用户的SaaS应用还是面向业务系统的PaaS平台,多租户都是前期架构设计的一个关键内容,因此有必要对里面的一些核心要点进一步说明。
上图是有赞零售SaaS业务整体业务架构概览,大体上可以分为前台业务、中台业务、后台业务。
互联网行业奇缺CTO是现状,很多人正在到处物色CTO,那么到底如何成为一名合格的CTO呢?技术管理到底应该怎么做呢?《技术管理之巅》不仅解答了这些问题,还给出了很多实践方法与案例。下面且听作者讲讲这本书的那些事儿。
文章起源于我对于模块化、微服务、Serverless 以及单体应用几种不同的架构模式的思考。而这其中的一个原因就是:人们经常从一个极端走另外一个极端。既然单体不好,那么我们就要 FAAS 来替换单体;既然模块化架构有各种问题,那么我们应该回到大单体。
来源:ToB老人家|作者:王戴明 ---- 腾讯SaaS加速器 三期40席项目招募 报名方式 腾讯SaaS加速器,作为腾讯产业加速器的重要组成部分,旨在搭建腾讯与SaaS相关企业的桥梁,通过资金、技术、资源、商机等生态层面的扶持,从战略到场景落地全方位加速企业成长,从而助力产业转型升级。 三期招募正式开始,扫描 二维码 立刻报名 (或点击文末 “阅读原文”,直达报名入口) 详情介绍:SaaS行业英雄集结令再发,腾讯SaaS加速器三期开启招募 产品方案的要点 一般情况下,从0到1的B端产
在什么情况下,公司应该使用微服务?使用微服务之后,可能会有什么样的提升?又有哪些挑战以及哪些闭坑经验?本次采访,我们邀请到了众安金融高级架构师韩冬振,请他分享了众安金融微服务落地经验,希望为你带来思考。
“架构”是我们这行业种一个很常见的词,表明其必然也是经历了很长的岁月打磨所形成的一个词。架构的这个词出现的意义是什么?为了解决什么问题?只有把这2个问题想明白了,才能设计出一个良好的项目架构。
在当今的数字化经济时代,微服务架构已经成为公司业务构建的主流架构模式,代表了未来的技术发展趋势,同时微服务也成为开发者的必备技能。
《数分狗必知必会》系列是一个数分人跨界知识“科普”性质的系列,每周五更新。计划讲一些财务、人力、法律、咨询相关的小知识。
3年疫情后的中国社会,最大的永久性变化之一,就是大多数的企业、教育机构或者政务机构,都用上了综合性的SaaS在线办公系统。而这其中,企业微信的覆盖率非常高,而且其占比还在不断增长。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文于 2022.6.22,首发于ITPUB 官方公众号,作者陈珙,未经授权禁止转载。如需转载,请联系 ITPUB 公众号。
在此前的两篇文章《研发深恶痛绝,业界持续热捧,DDD 到底是啥?》《从4万行代码降到1.8万,腾讯视频竟然用DDD做架构重构?》中,我们详细拆解了 DDD 的理论发展和实际落地过程中的量化评估方案,为大家深入浅出地揭开了 DDD 的神秘面纱。在本篇文章中,我们将重点阐述 DDD 的核心概念与关键方法。
1、频繁交付高质量的软件是研发、测试、运维的核心职责,运维并愿意承担持续改进的职责。
DDD的应用实践是一个认知的过程,在实践时团队成员尽量保持同一水平的认知,通俗来说,就是错也要错的一致,同时在落地时要以多数人的认知为基准实施,不能以认知程度高的少数人标准来落地。
云原生(Cloud Native)的概念,由来自Pivotal的MattStine于2013年首次提出,被一直延续使用至今。这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善,内容非常多,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)和12要素(TheTwelve-Factor App)等几大主题,不但包括根据业务能力对公司进行文化、组织架构的重组与建设,也包括方法论与原则,还有具体的操作工具。采用基于云原生的技术和管理方法,可以更好地把业务生于“云”或迁移到云平台,从而享受“云”的高效和持续的服务能力。
交付的第一步一定是要组建一支有战斗力的队伍,中台的建设需要的能力与传统产品还是有比较大的差别。
领取专属 10元无门槛券
手把手带您无忧上云