Michael T. Nygard是一位从业二十余年的资深程序员,现任Relevance, Inc首席架构师,他被誉为在线业务的“流动解决问题专家”。Nygard曾先后为美国政府、军队、银行、金融、农业和零售等多个行业交付过运营系统,这种实际运营的经历改变了他对软件架构的看法,也让他对在相当不友好的环境下构建高性能、高可靠性的软件有了独特的见解。他写过多篇文章和社论,是软件架构经典著作《架构之美》和《软件架构师需要知道的97件事》的作者之一。
在Nygard最新出版的著作《发布!软件的设计与部署》中,他认为"功能完成"并不意味着“产品就绪”,即便所有模块都通过了测试,也不足以证明软件就可以进行实际应用了;狂热的用户、超大的流量,以及闻所未闻的病毒,都可能是软件发布1.0版要面对的残酷现实。《发布!软件的设计与部署》针对以上挑战,详细展示软件发布前可能出现的种种问题以及相应的解决之道,书中所有主题都是通过作者自己研究过的真实案例来阐述的。
作品选读:案例研究:航空系统宕机的异常
最终入选问题的提问者,将获得图灵社区送出的图灵电子书一本。
往期活动回顾:
《禽兽心理学》作者Anna Salter访谈问题有奖征集,问题入选的获奖者有:likeya,一阐提人,陈曦,normalme,cage,浅言,Zinger译《JavaScript快速全栈开发》作者Azat Mardanov访谈问题有奖征集,问题入选的获奖者有:fedoral,cage,fdy1045,2gua
《代码本色:用编程模拟自然系统》作者Daniel Shiffman访谈问题有奖征集,问题入选的获奖者有:华元,旁观者,fdy1045,samael,2gua,孤光
2. Relevance, Inc 应该是一家主要使用 Clojure 编写软件的公司,这与主流的 c/java/c# 等语言很不一样,您怎么看待编程语言的发展趋势。
3. 《Release It!》中提到的一些模式现在已经被广泛采用,如 Circuit Breaker,已经有了 Netflix 的 Hystrix 这样漂亮的实现,考虑到《Release It!》是一本2007年出版的书,如今8年已经过去,你是否看到了一些新的稳定性/容量模式?
4. 随着移动互联网的兴起,云服务的成熟,大数据被越来越多人接受,IT行业在发生天翻地覆的变化,作为一名架构师,应该重点关注哪些技术理念?
2.是否有可能制备自我学习和修复的软件?
3.to what extent do you agree with the software could work well in the bad situation?
4.你怎么看待中国这个巨量用户的软件市场?
2、在我所经历过的项目开发过的系统问题也经常出现,系统宕机也时有发生,最后定为出来也都是一些低级的错误,那么对于复杂系统而言,怎么才能保证复杂系统的运行是良好的,功能也是可用的? 我想,这应该不是一行代码的问题,是否应该引入更多机制来保证系统可用,而不是单靠程序员的优秀代码来保证呢?
07年到现在时过境迁,可以说跨越了C/S、B/S到如今的App、NoSQL等敏捷方法都在演化,Release!也一定有不同的定义。
不知道Release!第二版本是否会结合这些东西来思考和设计?