应用架构和技术架构

标签: 随笔文章 | 发表时间:2013-01-26 09:49 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
在这里再谈下应用架构和技术架构的关系和边界问题,这里的说明和标准的TOGAF会有一些区别,仅为个人理解的一些点滴记录。

首先再说下应用架构,应用架构是和业务架构有强烈的映射关系的一个架构,应用架构要说明的是整体企业内部信息化建设和规划应该分为哪些应用系统去建设,应用系统间的集成关系是如何的。即我们常说的应用架构和应用集成架构。业务架构只关系核心的业务流程,业务域,业务组件识别出来即可,应用架构在业务架构的基础上多考虑两个事情,一个是究竟如何来划分业务系统,业务系统的划分粒度如何?如何满足划分后的业务系统间的高内聚松耦合;第二个是在业务架构转换到应用架构去规划后续建设实施的时候,应该有哪些内容可复用的识别,将可复用的内容和资源共享的内容下沉到我们说的平台层,将业务系统间需要协同和整合分析的内容上升到我们常说的门户层和BI展示层。解决完这两个问题即完成业务系统朝应用架构的转化。

简单来将应用架构中的所有点都是应该后续可以规划建设的应用系统或平台。企业后续需要建设一个安全管理平台,虽然和业务无关,但是应该体现在应用架构的PaaS平台层。企业整个应用建设需要考虑IT基础设施资源池虚拟化和整合,需要体现在应用架构的IaaS基础平台层。企业没有这种单独抽出来独立建设的规划,就不用体现到应用架构中,而该点仅仅变化为应用系统中建设需要考虑的一个技术点,直接在技术架构中解决。

我原来一直强调过在产品开发里面的一个重要思路,即分为产品,平台和技术三个层面的内容。如果和这个分类方法对应,则产品和平台都应该体现在应用架构总体框架中,平台本身又分了IaaS层平台和PaaS层平台。而技术则体现在技术架构这个概念里面。即我们谈到技术架构和产品架构,平台架构都是一种松耦合的关系。技术架构本身不能形成平台或产品,而是需要在应用建设,平台建设中考虑究竟需要使用哪些技术,如何使用。产品中需要使用平台,也还需要使用平台中未涵盖的额外技术,平台建设中也需要使用各自关键技术,这些都需要体现在技术架构中进行统一的规划和考虑。

应用架构本身只关心需要有哪些应用系统,哪些平台来满足业务目标的需求,而不会关系在整个构建过程中你需要使用哪些技术;技术架构是接应用架构的技术需求,并根据识别的技术需求,进行技术的选型,并把各关键技术和技术之间的关系描述清楚。大家可以关注下互联网上各自技术架构分享资料,你最多知道一个大的业务场景,其它内容全是采用了什么样的技术,什么样的开源组件,这些技术融合在一起解决了哪些问题。而实际的应用系统长什么样子,有哪些具体的功能点在技术架构中是完全看不到的。

再回来看技术架构,技术架构解决的问题包括了如何进行纯技术层面的分层,开发框架选择,语言选择,涉及到各自非功能性需求的技术点(安全,性能,日志,异常,缓存,消息,大数据量)等需要使用的关键技术。由于我们的应用架构体系本身是分层的,那自然有和其对应的技术架构体系,大的分层包括了SOA参考架构分层模型,小的分层则是单个应用的技术分层多层框架。这些都考虑清楚的剩下的问题就简单了,即根据实际的业务场景模拟来验证各个技术点间的协同,各技术点最终形成技术组件,各个技术组件间也需要高可靠集成。

技术架构是对应用架构的一个完整支撑,应用架构和技术架构都描述清楚后还应该考虑和验证当前技术架构是否可以完整的支撑应用建设。应用架构是给技术架构输入具体的应用建设需求变转换为具体的技术需求点,各个技术点的分析,方案选型,最终形成关键技术清单,关键技术清单考虑应用架构本身的分层逻辑形成一个完整的技术架构图。对于IT基础设施架构我们常常将其纳入技术架构范畴,但是不是全部。对于单个应用系统建设的时候谈到应用本身的MVC模式分层框架更加仅仅是技术架构的一部分内容。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [应用 架构 技术] 推荐:

应用架构和技术架构

- - 人月神话的BLOG
在这里再谈下应用架构和技术架构的关系和边界问题,这里的说明和标准的TOGAF会有一些区别,仅为个人理解的一些点滴记录. 首先再说下应用架构,应用架构是和业务架构有强烈的映射关系的一个架构,应用架构要说明的是整体企业内部信息化建设和规划应该分为哪些应用系统去建设,应用系统间的集成关系是如何的. 即我们常说的应用架构和应用集成架构.

Instagram的技术架构

- - 标点符
Instagram 被 Facebook 以10亿美金收购. 而在被Facebook收购前的一个月,整个团队才7名员工. 2011年: 3 位工程师. 2012年: 5 位工程师. 坚持 DRY(Don’t Repeat Yourself)原则. 使用通知/信号机制实现解耦. 我们大部分工作使用Python来完成,只有逼不得已的时候,才会用C.

eaby技术架构变迁

- - CSDN博客架构设计推荐文章
如果你对项目管理、系统架构有兴趣,请加微信订阅号“softjg”,加入这个PM、架构师的大家庭. 最近在infoq上面看到 ebay介绍其系统架构变迁以及系统设计分享方面的讲座,其中陈述了ebay从1995年到2006年之间系统架构的变化过程. 从这里,我们可以学习到许多宝贵的经验来设计一个大容量,高并发,分布式的系统.

企业架构-应用架构构图

- - 人月神话的BLOG
在这里要谈的是在传统的企业架构-应用架构的基础上进一步体现SOA和企业私有云平台的思想,而非传统意义上简单的原有企业各个业务系统功能架构的堆砌. 这个思想包括两个方面的内容,一个是集中化和平台化,一个是SOA服务化和业务能力组件化. 对于该构图模式考虑两种,首先第一种是充分考虑平台层独立和平台层能力的体现:.

架构面向服务的技术

- - 博客园_新闻
在其新作 《架构面向服务的技术》中,Philip Wik 总结了使用面向服务的技术搭建解决方案的三大阻力:. 如何在恰当的细节和抽象层次上为复杂的事物建模. 服务技术架构(Service Technology Architecture,后简称 STA)的基础元件是什么. 如何提升 STA 解决方案的速度和质量.

简记 YouPorn 的技术架构

- - 博客园_旁观者-郑昀
传说中占据整个互联网每秒流量2%、100Gb/s、300K queries/s的 YouPorn,关于它的 HAProxy->Varnish->Nginx->PHP-FPM->Symfony2->Doctrine->HAProxy->Redis, 郑昀简要记录几点:. 2012年2月开始,YouPorn 的主数据库正式切换为 Redis,取代了之前的 MySQL;.

Poppen.de的技术架构分享

- - 企业架构 - ITeye博客
网址:  http://www.javabloger.com/article/couchdb-erlang-rabbitmq-red5-linux-poppen-architecture.html. Poppen.de是一个德国的 交友/ 聊天/ 视频 的SNS网站, 部分内容. NSFW,网站采用了很多我们熟悉的技术,像Nginx ,MySQL,CouchDB,Erlang,Memcached的,RabbitMQ(消息服务器),采用了Graphite作为网站的系统监控,Red5作为视频服务,Tsung作为压力测试工具,选择的技术种类较多,还采用.

[原]技术架构组工作职责

- - KimmKing的技术博客
落地本部门的技术规划,负责本部门IT整体规划技术部分,指导重要项目的设计实现. 规范本部门的所有技术应用和开发内容,保障系统开发的有序、标准、一致性. 发展基础技术平台和完善通用组件,实现部门技术积累和IT资源高效复用. 解决各项目的技术难点、框架选型,保障项目开发的速度、效率、质量. 协助运维、安全和测试组的部分技术性工作,保障各组工作的顺利开展和技术积累.

技术架构组工作职责

- - zzm
落地本部门的技术规划,负责本部门IT整体规划技术部分,指导重要项目的设计实现. 规范本部门的所有技术应用和开发内容,保障系统开发的有序、标准、一致性. 发展基础技术平台和完善通用组件,实现部门技术积累和IT资源高效复用. 解决各项目的技术难点、框架选型,保障项目开发的速度、效率、质量. 协助运维、安全和测试组的部分技术性工作,保障各组工作的顺利开展和技术积累.

再谈应用架构

- - 人月神话的BLOG
前面谈了业务架构和数据架构,接着谈下应用架构,对于应用架构的描述将参考togaf信息系统架构部分的内容,但是不完全相同,总体思路是围绕在IT架构层面来谈应用架构包括的内容. 为了区分高层架构(包括多个应用的总体架构)和底层架构(针对单个业务系统的架构),前者采用企业架构中的应用架构这个词,后者采用系统架构这个词以进行区分.