.NET 云原生架构师训练营(模块一 架构师与云原生)--学习笔记

目录

  • 什么是软件架构
  • 软件架构的基本思路
  • 单体向分布式演进、云原生、技术中台

1.1 什么是软件架构

1.1.1 什么是架构?

Software architecture = {Elements, Forms, Rationale/Constraints}

元素、形式/模式、基本原理和限制

为什么需要软件架构?

软件架构的终极目标是用最小的人力成本来满足构建和维护系统的需求

一个软件架构的优劣,可以用它满足用户需求的成本来衡量。如果该成本很低,并且在系统的整个生命周期内一直都维持这样的低成本,那么这个系统的设计就是优良的,如果该系统的每次发布都会提升下一次变更的成本,那么这个设计就是不好的,就这么简单。

–架构整洁之道

产品经理

  • 需求分析
  • 需求设计
  • 项目管理
  • 产品运营

1.1.2 什么是架构师?

系统的维度

负责整体系统的架构设计,主要是基础服务和各系统间的协调上,着眼全局不太注重某个应用本身架构,比如关注服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用等方法的基础架构设计

应用程序的维度

负责某个应用的技术架构,主要偏业务系统,关注理解业务,梳理模型,设计模式,接口,数据交互等方面

业务流程的维度

关注某一个行业、业务的领域分析,获取领域模型,最终获得系统的模型

也可以叫业务领域专家、行业专家、产品咨询师、资深顾问

降低成本

通过设计和实现优良的软件架构来持续降低软件的构建和维护成本

软件架构这项工作的实质就是规划如何将系统拆分成组件,并安排好组件之间的排列关系以及组件之间互相通信的方式

如何降低成本?

  • 低成本维护(容易被改动和理解)
  • 软件可复用
  • 轻松部署

设计原则会给我们答案

软件架构师的目标是创建一种系统形态,该形态会以策略为最基本的元素,并让细节与策略脱离关系,一个优秀的软件架构师应该致力于最大化可选项数量

职能

  1. 负责公司系统架构设计、研发工作
  2. 承担从业务向技术转换的桥梁作用
  3. 协作项目经理制定项目计划和控制项目进度
  4. 负责辅助并指导 SA 开展设计工作
  5. 负责组织技术研究和攻关工作
  6. 负责组织和管理公司内部的技术培训工作
  7. 负责组织及带领公司内部员工研究与项目相关的新技术
  8. 管理技术支撑团队并给项目、产品开发实施团队提供技术保障
  9. 理解系统的业务需求,制定系统的整体框架(包括:技术框架和业务框架)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值