关注「 IT老兵哥 」,赋能程序人生!本系列前序文章索引:html
架构师,在开展工做的过程当中须要对接老板、产品、项目、开发、测试、安全和运营等各类岗位角色,他们都是架构须要关注和服务的内部客户,他们的痛点就是架构工做的驱动因素。架构师就是要用专业技能“搞定”这些角色的需求,输出你们都能接受的解决方案,你们好才是真正的好。为了达成此目的,咱们不需知道不一样岗位的关注点。程序员
老板的主要职责就是定方向、找人、找钱,他对架构设计的要求就是在给定的预算、时间范围内研发出软件系统,推进公司的战略或战术得以实现,也就是说架构方案不能过于理想,不能超出预算和截止时间。自从苹果公司的乔布斯封神以后,如今的互联网公司都崇尚老板担当首席产品官,例如腾讯马化腾、微信张小龙、百度李彦宏等等。产品经理须要思考打造什么样的产品才能达成公司的战略或战术目的,他要综合考虑产品是否知足功能、质量和商业等需求,知足功能需求只能达到及格线,易用性、交互体验、性能、可靠性等质量需求可否知足才是产品达到优秀的关键,以及从商业角度考虑选择什么时机将产品推向市场,有节奏地推进用户和业务的不断增加等。面试
任何技术都是服务于业务的,架构主要是承上启下的做用,架构设计须要将老板和产品的战略战术规划跟开发实现衔接起来,例如:公司准备进入某个新领域,但在没有足够把握的状况下先推出一款产品试试水,这个阶段的架构设计就不能太超前,而是要尽可能简单轻量,以便开发团队可以快速将原型产品开发出来,推向市场并收集真实用户的反馈,验证想法。若是发现原先的想法过于纸上谈兵,那么接下来就要尽快调整方向了,这时候架构过于复杂反而不利于调整。若是通过试水验证发现产品找准了市场切入口,用户和业务都开始快速增加,那这时候就须要考虑作架构升级了,必须预见到后续业务发展趋势,预留一些提早量,确保技术不会托业务发展的后腿。编程
咱们都知道,不论是传统瀑布式,仍是敏捷迭代式,项目管理主要关注范围、进度和成本铁三角,以及知足上述三个维度约束下确保质量。那么从服务好项目管理这个内部客户看,架构设计必需要听从范围、进度、成本和质量等约束,不然项目组都解散了,再好的架构也无用武之地。segmentfault
开发测试要基于架构设计作子系统的概要设计、详细设计、测试方案设计和测试用例编制等,从这项下游工做来看,开发测试就须要关注系统的逻辑划分,即系统被分解成几个子系统,每一个子系统分别承担什么职责,关键业务场景的交互流程是怎样的,子系统之间采用哪一种交互机制和通信协议等。若是缺失这些信息的输入,咱们开发测试的工做就会受到影响,严重会致使没法交付合格的产品。后端
除了承担部分设计工做以外,开发测试主要职责就是将文档图纸上的设计真正落地实现,这就涉及到具体技术栈的选型,也就是咱们程序员构建虚拟世界的工具。若以 Web 应用程序开发为例,技术栈的选型主要包含如下几个方面:安全
若是项目压力很大,那么选择熟悉的技术栈是合适的,这样咱们就能够聚焦在业务实现上,不用操心技术维度致使的问题。若是项目压力适中,团队也但愿掌握一些新技术栈,以便后续可使用新技术开发新系统,那么选择次新的、主流的技术栈是最好的,在项目中实践熟悉新技术,完成团队研发能力的升级更新。服务器
系统在发布上线以后将会被移交给运营团队,但运营团队的关注点跟开发测试不一样,他们关注系统可否稳定运行,在处理业务请求时的耗时长短、吞吐量等性能表现,当业务量爆发式增加时系统是否具有弹性伸缩能力,系统在长时间运行过程当中的稳定性、可靠性和鲁棒性等。另外,任何对用户有价值的系统上线以后都要面临黑客、羊毛党的攻击,系统必需要有安全性保障,确保用户我的信息和业务交易过程的安全。俗话说:百密必有一疏。考虑得再周全,线上仍然会发生出乎你意料的事情,系统必需要有实时检测、提早预警和过后恢复等机制,运营的职责就是系统可以提供 7*24 不间断的服务,不让系统拖业务发展的后腿。微信
在传统业务模式下,咱们企业的大部分软件系统都是用于办公自动化的,这些系统的用户数量是相对稳定的,运营团队只要保障这些系统稳定运行就能够了。可是到了互联网+时代,企业的核心系统都是面向线上全网客户的,并发访问量的波峰波谷是不断交替出现的,最大峰值流量也很难预测,这时候系统的弹性伸缩能力就显得特别重要了,运营团队比较关注系统是否方便扩容或缩容,是否支持跨数据中心部署,是否支持集群的克隆部署等。这些诉求都要归入到架构设计的驱动因素当中,确保最终输出的架构设计方案可以知足上述要求。架构
收集了解上下游客户的需求是第一步,后续咱们还须要作好平衡协调,最终输出符合各方诉求的方案。今天先分享到这里,接下来老兵哥还会分享如何评价架构方案。若是你对这个主题感兴趣,千万要记得先关注哦!坚持原创不易,若是你以为有价值,麻烦动动手指点下文 「 推荐 」按钮,让更多小伙伴能够看到,老兵哥会更有动力坚持分享的。另外,我后续还会分享职业规划、应聘面试、技能提高、影响力打造等经验,欢迎 关注 本专栏或微信公众号 「 IT老兵哥 」!
软技能-热门文章:(首发公众号)
硬技能-热门文章: