2010年架构社区回顾:悠长的一年

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介:

福尔斯特说:即将来临的一天,比过去的一年更为悠长。可是这即将来临的一天,无论多么的悠长,终究会流入过去的长河中。把握过去,或许可以成为另一种永恒。回眸过去的2010年,架构的发展或如花开花落如此的相似,却又如人来人往如此的不同!软件技术正是在这样一种变与不变中艰难的演进。透视InfoQ中文站架构社区在这一年中的热点,或许能帮助我们抓住架构发展的脉络。如此,在即将来临的一天,我们才不会产生面对未来的茫然。

1、云计算:依旧灿烂

在过去的几年里,整个IT行业最热的词语无疑首推“云”。凡是与云有关的产品,公司,技术与论题,都会得到极大的关注,或褒或贬,却始终遮不住云计算的灿烂光芒。整体而言,在2010年,业界对云计算的质疑渐行渐远,云也逐渐脱离“云山雾罩”的神秘外衣,人们开始更多地关注云产品的应用,成功的云案例,以及如何规范云计算。这说明云计算已经从纷争的混乱时代开始走向成熟,业界对云的态度更加审慎与理智,不过高浮夸,也不肆意诋毁,而这才是技术发展的正道。个人认为,什么时候当云不再成为热点,就说明云要么已经消亡,要么已经融入我们的生活。正如在破译云计算的7个神话中引用的Serdar对云的概括:云不是神奇的万灵药也不是一场灾难,更不是救世主也不是罪人。它是一个解决问题的新工具。想象在这么几年里,谁还在炒作PC与互联网的概念呢?

在2010年,我们看到了许多云产品或云服务的推出。Rackspace推出开源云平台,为需要创建自有云解决方案的公司提供了IaaS平台。Google向开发者提供云存储,说明Google的云战略依旧在稳步的前进。而VMware也适时地推出了vFabric,它可以说是VMware收购SpringSource之后体现其云愿景的产物。在2010年,Amazon AWS获得ISO 27001认证,标志着Amazon公共云已经真正成熟起来。显然,云计算领域中群雄并起,逐鹿中原的戏码还会继续上演。

与此同时,人们也越来越关注云的成功案例。例如,在云应用的两个案例中就提及了IBM为日本人寿保险公司以及马来西亚信息图形与动画产业构建云平台,并提供云服务。2010 Amazon AWS创业公司挑战赛的获胜者Mike Kavis,则分享了自己在云应用的成功经验,他认为云中成功的关键始于架构

关于业界对云计算审慎探讨与分析的报道,频频见于InfoQ中文站架构社区。这些内容主要包括云间整合(Cloudstreams: 云间整合的下一个挑战),云的开放(开放的云让业务更“闪亮”),虚拟化(虚拟化发展减缓)、云应用重构(为云应用重构系统)以及云计算标准(云计算标准和开源项目)。

2、NoSQL:众星追捧

突然之间,NoSQL成为了明星,而且是万众瞩目、群星追捧的超级大明星。这一结果,或许作为CAP(即Consistency,Availability,Tolerance of network Partition)理论的提出者Eric Brewer也未曾想到吧。NoSQL(Not only SQL)作为一种迥异于关系数据库的持久化解决方案,以其高性能、分布式、可伸缩性、高可用性的特征,迎合了高速发展的Web应用的需要。NoSQL的诞生与流行,可谓恰逢其时。

2010年,NoSQL产品开始扎堆出现,NoSQL家族逐渐壮大。例如,在3月23日,North Scale宣布NoSQL数据库解决方案Membase的推出。而在10月的Hadoop World大会上,Membase与Cloudera宣布整合了Membase服务器和CDH(Cloudera Distribution for Hadoop)。MongoDB则不断推出新版本,例如在它的1.6版本中就增加了Sharding机制和副本集合特性。可喜的是,我们国内的互联网公司在NoSQL领域很是给力,也推出了自己的NoSQL开源产品,例如淘宝的Tair天涯的Memlink。其实,在软件领域里,越是新的技术,我们国内的软件企业越有可能取得新的进展,提高自己的竞争力,只要我们拥有创新的精神、开阔的视野和足够的自信心。

比较而言,关系数据库在面对NoSQL咄咄逼人的态势下,显得有些心有余而力不足。例如Digg与Reddit就在2010年3月宣布加入NoSQL阵营,他们都将转向Cassandra。当然,关系数据库的厂商自然也不甘失败,在NoSQL的竞争者这篇新闻中,就提到了不弱于NoSQL的关系型数据库MySQL/HandlerSocket和VoltDB。面对NoSQL这种新类型数据库的流行,工程界人士也开始了SQL之争。在2010年GigaOM结构会议上,与会公司达成了共识,认为传统的数据库在可扩展的云环境中无法有效工作。他们开始了对SQL的声讨。10gen公司的Roger Bodamer认为NoSQL更适合于建模领域,而关系型模式由于涉及到太多的表和关系,所以需要最好的数据建模师才能使其有效发挥作用。Neo Technology公司的Emil Eifrem认为,SQL总是让人头疼,开发者讨厌SQL,并且使用工具来逃避它。

正是因为NoSQL呈现出来的优势与良好态势,越来越多的人开始重视NoSQL,渴望了解NoSQL。我们在对InfoQ中文站2010年的新闻进行点击量统计时,发现排名20位的文章中,与NoSQL有关的文章就包含了4篇,分别位列点击量的3位、9位、11位和19位,它们是:

分布式计算开源框架Hadoop介绍

解读NoSQL技术代表之作Dynamo

淘宝开源Key/Value结构数据存储系统Tair技术剖析

图形数据库、NOSQL和Neo4j

3、HTML5:Web的未来

毫无疑问,HTML 5将在未来的Web中占有举足轻重的地位。然而,在这其中不知又开始了多少利益的纷争。Microsoft、Adobe、Google以及Apple都在打HTML 5的牌,却又不愿意完全放弃自己原有的前端技术。事实上,Web标准对于他们而言,既是灾难,又充满了巨大的诱惑。如何在未来的Web中分得一杯羹,那就得看他们拥抱HTML 5的态度了。

在评论雾里看花:微软的前端技术战略何去何从中,提及了微软开发者平台产品管理部经理Brad Becker的态度,认为微软将致力于使用Silverlight实现HTML无法完成的解决方案来扩展Web功能。而在微软推出的Internet Explorer 9 Preview 3中,则提供了更好的HTML 5支持。显然,选择Silverlight还是HTML 5,微软的战略有些摇摆不定。Adobe面对HTML 5,已经开始积极地面对。在2010年的开发者大会上,Adobe向公众展示了一款用于HTML5动画制作的IDE。可是在视频方面,Adobe又该如何决策Flash的前途呢?现在,有许多视频网站已经开始从Flash迁移到HTML 5,尤其是在Apple不愿意支持Flash的前提之下。例如,YouTube就发布了HTML 5视频beta版,紧接着Vimeo也发布了HTML 5的beta版。至于Google,也开始布局HTML 5。它的Chrome浏览器目前已经能够支持75%以上的HTML 5特性。而在2010年11月召开的Google开发者日上,Freiheit.com的CTO Stefan Richter 则谈到了使用HTML 5与Google App Engine编写富Internet应用的愿景。虽然这并非官方发言,但Google开发者的声音,可能更草根,态度却也更鲜明。Apple的步伐依然快速。至少在目前,Apple在移动互联网的地位依旧不可撼动。如今,iPhone的Mobile Safari浏览器已经能够支持HTML5的Canvas/Canvas2D、Video、Audio、Geolocation、Local Storage/Session Storage、Application Cache、Web SQL Database等。显然,Apple的HTML 5战略已经落地。毕竟,Apple可不像微软那样,还要为选择自己的技术而犹疑不定。

虽然在2010年InfoQ中文站架构社区中,对HTML 5的关注度似乎还不算高;但InfoQ的作者们对于HTML 5的前景却前所未有的保持一致的肯定态度。Abel Avram撰文称HTML5已经起飞,豆瓣前端工程师张克军则认为前端的HTML5时代来临。当然,我们必须正视HTML 5,了解其本质。正如《HTML 5专业开发》一书的作者Peter Lubbers所说:“HTML5不仅仅是HTML的更新换代,它已经孕育很久了。”或许,正是因为我们等待得太久,才对它充满了期待吧。

4、架构质量:大事件

随着软件系统变得越来越复杂,规模越来越庞大,对架构的质量要求也就变得越来越高。如何改善架构的质量,成为了架构师不能承受之轻。是的,随着相关理论的逐渐完善,我们已经可以罗列出改善架构质量属性的技术矩阵。弓箭与靶已经准备就绪,我们却很难寻找到技艺高超的精灵弓箭手,来射出这有力而精准的一箭。一种好的学习方式是提炼最佳实践,所以在2010年的QCon北京大会上,Twitter与Facebook架构师的演讲才会如此引人瞩目。

纵览2010年InfoQ中文站的架构社区,有两个与架构质量相关的事件值得我们关注。一个是FourSquare的宕机事件,准确地说,应该是FourSquare的MongoDB宕机事件。InfoQ有三篇文章FourSquare经历两次宕机MongoDB创始人Eliot Horowitz分析FourSquare宕机原因Foursquare的MongoDB宕机事件报道和分析了此次事件,从不同的角度讨论和剖析了宕机事件的原因、解决办法和带来的教训。将它们串联起来读一读,或能启人深思。

另一个事件就是淘宝的双十一事件,InfoQ中文站对此次事件做了一系列的深度采访,分别就技术和运维的角度剖析双十一事件中淘宝制定的方案与解决办法。这些采访包括:淘宝双十一事件的前中后技术事康伯谈淘宝双十一事件中的CDN优化伏威谈淘宝网的高并发处理与压力测试。双十一事件在国内技术圈儿的影响极为深远,相信在很长的时间内,人们还会津津乐道于这一事件。

最佳实践不嫌其多。在2010年InfoQ中文站架构社区,我们可以看到Facebook分享了如何利用BigPipe优化页面加载时间,以及如何使用Hadoop来计算大规模分析;Google则介绍了索引系统Percolator的技术细节,用于大数据集增量更新系统;Zynga的CTO则讨论了如何设计高可扩展性社交游戏;又拍网分享了架构中的分库设计;还有InfoQ自己的案例分析,介绍了InfoQ网站的数据库升级过程。此外,架构社区还深入分析和讨论了架构质量中关键的属性:系统级复用性能优化与缓存架构安全数据恢复与备份系统集成以及可伸缩系统的设计模式

5、企业架构:旧事重提

企业架构(Enterprise Architecture)是新玩意儿吗?不是!如果以IT行业的年龄来看,它或许可以称为老古董。在1987年,John Zachman就提出: “为了避免企业分崩离析,信息系统架构已经不再是一个可有可无的选择,而是企业的必需”。从那时起,企业架构的理论就得到了缓慢的发展。那么,它的理论如今已经成熟了吗?很多架构师认为,企业架构的原则仍然缺乏稳固的基础。

随着云计算进入架构师的视野,它与企业架构之间的关系也引起了业内的争执。我注意到该文中的一个观点是“转向云计算为的是敏捷和灵活,企业架构正好与之相反。”这又引申出另外一个话题,那就是敏捷与企业架构的关系。Jean-Jacques Dubray带着疑问的色彩发出呼吁,是否该重新思考企业架构了?敏捷的提出是为了应对软件的变化,而微软的Gabriel Morgan则认为“EA不应该包含面向公司变化的业务功能,而是应该通过正确的方式教育和协助建立这些业务功能。”这么说来,或许敏捷的架构可以作为企业架构的一种补充。整体而言,企业架构关注更多的是企业战略的层面。在对业务架构的进行更合理抽象能成为企业架构的关键吗一文中,Fujitsu的云架构师Ian的基本观点是,在不同抽象层次上建立业务架构的资产,产出一套适合企业环境的方法,从而有利于更全面的决策与实施。

我的眼光还在穿越这悠长的2010年,意犹未尽。我发现还有很多与架构相关的话题值得我们关注,例如REST,例如模型驱动,例如敏捷与架构的关系,例如软件工艺与良好的设计。它们影响着系统的架构,或者作为架构的一部分决定着架构的优劣。

架构不是一天就能建成的,成为软件架构师的路线更是一个渐进的过程。Simon Brown认为:“拥有持续的、跨不同领域的技能、知识和经验构成了软件架构的职责。跨越软件开发者和架构师的界限取决于你自己,但是首先你要明白你的经验水平,才能开始架构师之旅的第一站。”这段话撷取于他在InfoQ发表的文章你是个软件架构师吗,这篇文章是2010年InfoQ中文站架构社区最热最火的一篇文章,一共有21条回复。看起来,软件开发者真的很在意软件架构师这个头衔!架构师的技能必须全面而专业,这就要求我们必须广泛阅读与涉猎架构领域的知识,套用Simon的话,来一句广告,那就是——时刻关注InfoQ架构社区,或许可以成为你开始架构师之旅的第一站。

2010年已经过去,让我们欢迎2011年的到来!个人认为,2011年的架构仍然会逃不出本文所涉及的五个范畴。除此之外,也许我们还会看到有关物联网和移动开发对架构带来的影响。而自敏捷宣言诞生到现在,已经过去了10个年头,或许在2011年会看到更多对敏捷架构的讨论。究竟如何,让我们拭目以待!










本文转自wayfarer51CTO博客,原文链接:http://blog.51cto.com/wayfarer/477659,如需转载请自行联系原作者

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
3月前
|
安全 架构师 Java
理论实战源码齐飞!架构师社区疯传的SpringSecurity进阶小册真香
安全管理是Java应用开发中无法避免的问题,随着Spring Boot和微服务的流行,Spring Security受到越来越多Java开发者的重视,究其原因,还是沾了微服务的光。作为Spring家族中的一员,其在和Spring家族中的其他产品如SpringBoot、Spring Cloud等进行整合时,是拥有众多同类型框架无可比拟的优势的。
54 0
|
8月前
|
安全 架构师 Java
理论实战源码齐飞!架构师社区疯传的SpringSecurity进阶小册真香
安全管理是Java应用开发中无法避免的问题,随着Spring Boot和微服务的流行,Spring Security受到越来越多Java开发者的重视,究其原因,还是沾了微服务的光。作为Spring家族中的一员,其在和Spring家族中的其他产品如SpringBoot、Spring Cloud等进行整合时,是拥有众多同类型框架无可比拟的优势的。 但目前市面上缺少系统介绍Spring Security的书籍,网上的博客内容又比较零散,这为很多初次接触Spring Security 的Java工程师学习这门技术带来诸多不便。 所以借此机会今天LZ给大家带来一份近期在架构师社区疯传的SpringS
60 1
|
开发框架 自然语言处理 架构师
Linux 下一代架构基金会宣布:正式成立 NextArch 基金会微服务技术组!联手腾讯等企业/社区共同发力微服务标准化建设
Linux 下一代架构基金会宣布:正式成立 NextArch 基金会微服务技术组!联手腾讯等企业/社区共同发力微服务标准化建设
212 0
Linux 下一代架构基金会宣布:正式成立 NextArch 基金会微服务技术组!联手腾讯等企业/社区共同发力微服务标准化建设
|
安全 Linux Go
龙蜥开发者说:社区首个支持 LoongArch架构的操作系统构建之路 | 第 9 期
第一次真正走完OS构建全套流程是参与 LoongArch SIG 组以后,这给了我一个很好的机会,让我尝试从0到1去做一个系统。
龙蜥开发者说:社区首个支持 LoongArch架构的操作系统构建之路 | 第 9 期
|
运维 监控 安全
【ELK入门】Elastic中文社区运维监控实战之架构篇
阿里云MVP曾勇撰写的《ELK运维监控入门实战》系列,以Elasticsearch中文社区网站运维监控体系搭建作为案例,讲解了ELK监控系统的相关原理和技术实现,可作为对ELK感兴趣的同学的入门级文章。本篇作为第一篇,介绍了项目背景和技术架构。
6237 0
|
Cloud Native Java Go
社区会议|MOSN 社区将会发布 1.0 版本,同时推动下一代架构演进
2 月 24 日,MOSN 举办了 2022 年首次的社区会议。 MOSN 社区在会议上提出了新一年的 Roadmap,社区成员分享了 MOSN 在不同场景下落地实践的经验,以及大家一起大开脑洞,探讨了更多我们可以创造的可能性。
社区会议|MOSN 社区将会发布 1.0 版本,同时推动下一代架构演进
|
Kubernetes 网络协议 Dubbo
《Nacos 架构与原理》| Nacos社区首本电子书免费下载
《Nacos 架构与原理》是 Nacos 电子书系列计划的第一步,并且这部分内容希望和社区共同创作,社区会推动 Nacos 电子书持续更新迭代,也欢迎更多小伙伴能加入 Nacos 社区一起创作。我们把电子书文档通过语雀公开文档像社区开放评论和更新,希望大家针对于内容共同进行校对,并且也欢迎进行投稿,把经验向社区更多个人和企业进行分享。
1986 0
《Nacos 架构与原理》| Nacos社区首本电子书免费下载
|
机器学习/深度学习 人工智能 监控
知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用
谢邀!知乎 CTO 来分享下内容社区的 AI 架构搭建与应用。
155 0
知乎CTO李大海:谢邀,来分享下内容社区的AI架构搭建与应用
|
搜索推荐
解析SNS社区产品架构模型,互联网营销
  引言:   原本经济危机来了,FACEBOOK估值从150亿美金跌至40亿;国内互联网创投环境也日趋寒冷,而在舆论界,关于SNS的话题似乎热度未减,,当然在精彩文章之中也夹杂着一些隔靴搔痒式的讨论;    最近,时值腾讯QQ空间及手机社区平台高速发展,迭创新高;我也想结合自身的工作实践,简单地聊...
1493 0
|
8天前
|
API 数据库 开发者
构建高效可靠的微服务架构:后端开发的新范式
【4月更文挑战第8天】 随着现代软件开发的复杂性日益增加,传统的单体应用架构面临着可扩展性、维护性和敏捷性的挑战。为了解决这些问题,微服务架构应运而生,并迅速成为后端开发领域的一股清流。本文将深入探讨微服务架构的设计原则、实施策略及其带来的优势与挑战,为后端开发者提供一种全新视角,以实现更加灵活、高效和稳定的系统构建。
15 0