打字猴:1.703952604e+09
1703952604
1703952605 2014年,沃纳在北京接受了采访,聊起了亚马逊云计算的技术哲学观:终极可用性、终极简单、终极灵活。
1703952606
1703952607 1.终极可用性
1703952608
1703952609 据亚马逊的传记《一网打尽:贝佐斯与亚马逊时代》里记载,凡亚马逊高管必读《黑天鹅:如何应对不可知的未来》一书。这本由黎巴嫩作家纳西姆·尼古拉斯·塔勒布撰写的著名商业思想作品,论述了黑天鹅事件:不可预测的重大稀有事件发生在意料之外却又改变一切,例如9.11、次贷危机、东南亚海啸等。黑天鹅事件不可预知,但又不可避免。
1703952610
1703952611 当被问及是否读过《黑天鹅》一书,以及受此事何种影响时,沃纳表示,按书中的观点,从事后看历史时,历史总是可以被解释的。但当黑天鹅事件发生的时候,一切都是未知的。沃纳表示,考虑到黑天鹅事件的影响,AWS亚马逊云被设计为可在黑天鹅事件发生时仍保持可用性,或者说是可存活于黑天鹅事件及之后的世界。这就意味着,尽管不知道黑天鹅事件何时发生、在何地发生以及造成的破坏程度,仍要按着这个上限去设计亚马逊云的技术架构。“我们想要把AWS亚马逊云的可用性及可靠性带到一个全新的高度。”
1703952612
1703952613 沃纳还表示,当亚马逊开始构建AWS云计算的时候,就已经预想到当时用的软件必定与日后出现的软件不一样,“因此我们需要让软件可以实现自我进化。这就需要非常独特的软件开发与设计。”沃纳没有更多透露亚马逊云计算的底层架构设计和软件开发,但这种追求终极可用性的思想,则成为了亚马逊云计算技术哲学观的基石之一。
1703952614
1703952615 2.终极简单
1703952616
1703952617 AWS亚马逊云以简单著称,追求终极简单则是亚马逊云计算技术哲学观的又一基石。沃纳说,亚马逊云的总体思路就是让云与用户的界面越简单越好。这也是为什么亚马逊云经常以“Simple”(简单)这个词命名产品与服务,例如亚马逊简单存储服务(Simple Storage Service)、亚马逊简单数据库(Amazon SimpleDB)、亚马逊简单队列服务(Amazon Simple Queue Service)等。通过简单的界面和模块化组件,用户可以像搭积木那样在亚马逊云之上构建自己需要的服务。
1703952618
1703952619 亚马逊云最近发布的Lambda事件驱动计算服务,为程序员和开发者在云计算里编程与开发提供了非常简单的开发平台。在Lambda的编程理念里,程序员和开发者不再需要关注底层云计算资源的调度与管理问题,而把关注点转向代码自身。
1703952620
1703952621 事实上,事件驱动型软件开发的概念在PC时代就已经存在,著名的微软开发工具Visual Studio就提供了可视化的事件驱动编程语言,它通过向开发者隐去了底层计算资源的复杂调度过程而简化了编程的难度。正是因为推出了广受开发者欢迎的开发工具,微软才得以建立庞大的生态体系。Lambda事件驱动计算服务的推出,有望大幅简化云计算应用的开发流程和过程,大幅提高云计算应用开发的数量,最终扩大亚马逊云的生态社区。
1703952622
1703952623 3.终极灵活
1703952624
1703952625 “终极灵活”是亚马逊云计算技术哲学观最重要的基石。亚马逊云最大的优势之一,就是灵活而开放的架构。沃纳说,亚马逊云不锁定任何特定厂商的操作系统、中间件、数据库或编程语言,用户可以在亚马逊云上使用任何编程语言或第三方服务,这就保证了用户的最终利益。
1703952626
1703952627 在某种程度上,可以把亚马逊云比作沃尔玛超市。在亚马逊的“云超市”里,提供了各式各样的云服务和组件,可匹配各类大小的需求,用户能够随意选取需要的产品组件并组装起来。为了不断满足用户的需求,亚马逊云陆续开发了数据库、虚拟桌面、云搜索、开发工具等种各类应用。沃纳说,在现实生活里的超市,用户会遇到退货难题,而且一旦有新产品推出的时候无法退回老一代的产品。但在云计算里就不一样了,在云计算的世界里,用户不需要担心做出错误的采购决策,因为一旦发现多买或少买了云计算资源,可以随时退回或增加云计算资源,新旧替换也能非常容易地实现。
1703952628
1703952629 沃纳说,亚马逊云更多是为未来的用户需求而设计的。作为亚马逊云计算业务的架构师,沃纳必须要不断地看未来,根据未来的用户需求定义及开发今天的亚马逊云产品和服务。前不久亚马逊云推出了兼容MySQL的Aurora关系型数据库,在云里提供高端商用数据库的能力,但成本只有高端商用数据库产品的1/10。沃纳表示,其实Aurora历时近4年才开发出来。
1703952630
1703952631 展望未来,沃纳又在观察什么样的新技术与新产品,并有可能据此开发新的亚马逊云产品和服务?沃纳说,他关注的一个领域是物联网(IOT)。物联网有两个层面:一个是消费类物联网,包括智能手机、移动设备等;另一个是工业物联网,例如新型能源公司远景能源在风力发电机上安装传感器并把数据传回亚马逊云中,由此构建了能源物联网。在未来物联网的世界里,云计算有着广泛的用途。
1703952632
1703952633 技术管理之巅:如何从零打造高质效互联网技术团队? [:1703949783]
1703952634 10.1.4 最佳实践案例:YouTube的技术哲学观:回归初心
1703952635
1703952636 案例10-3 YouTube的技术哲学观:回归初心
1703952637
1703952638 YouTube是一个可以承载日访问量40亿次的网站,在线视频王者。分析其技术架构,却发现直接、简单、适度,这跟YouTube技术团队倡导的“回归初心”的技术哲学思想是有紧密联系的,当一个技术团队中吸纳了越来越多的聪明人,他们最容易犯的错误是把简单问题复杂化,而最难的事情恰恰是把复杂的问题简单化,抽丝剥茧,返璞归真,回到最初做这个事情时的想法和状态。
1703952639
1703952640 许多团队都使得他们的基础架构越来越复杂,YouTube团队却尽量保持简单的风格。他们使用Python作为主要开发语言,使用MySQL开源数据库,并一直使用Apache作为Web服务器。对一个如此庞大的站点而言,许多重要特性都源于点点滴滴的Python代码。
1703952641
1703952642 这并不意味着YouTube不追求创新,他们更追求一种技术哲学,而非炒作。究竟是什么成就了世界上最大的视频网站?我们先来看一组数字:日访问量40亿次,每分钟上传60小时的视频,超过3.5亿终端访问,利润是2010年收入的双倍,视频的数量上升了9个数量级,开发人员却只上升了2个数量级,一百万行Python代码。
1703952643
1703952644 在软件架构方面,Python是YouTube的主要编程语言;YouTube一直使用Apache,每次HTTP请求都经由Apache;Linux是构建YouTube的基石,它有许多强大的工具,如strace、tcpdump;MySQL有庞大的用户群,YouTube使用它的关系数据库特性,也使用它存储BLOB数据;Vitess是由YouTube发起的一个开源项目,旨在打造高性能的MySQL前端;Zookeeper:分布式的锁服务器;Wiseguy:一个CGI Servlet容器;Spitfire:一个模板系统;Serialization formats:YouTube重写了BSON实现,速度提升了10~15倍。
1703952645
1703952646 关于扩展性的思考,“分而治之”是扩展性技术的灵魂。考虑以层次化的方式完成所有的工作。这也是数据分片的症结所在。要知道如何将数据分区,以及如何将已分区的数据进行关联。总而言之,保持简单与松散的耦合非常必要。要相信监控系统所报告的系统运行状态,如果问题没有出现,就认为一切良好。例如,阅读评论的人和写评论的人对你刷新页面的动作会有不同的反应,但也不必完全基于事务处理进行系统设计,这会显得矫枉过正。
1703952647
1703952648 分布式系统的随机性。分布式系统就如同气象系统一样,对分布式系统进行调试会存在更多的随机性。例如缓存过期,一般情况下,服务器会将流行的视频缓存24小时,如果一旦出现缓存同时过期的情况,服务器将同时开始缓存,将产生负载风暴。
1703952649
1703952650 在Python中运用RPC重定向。程序员是代码的构建者,因此要做好约定,如果代码不幸失败了,还可以从RPC输出中追查原因。
1703952651
1703952652 没有完美的组件。一个组件的运行周期可能持续1~6个月,具体多久,谁也说不清。随着时间的推移,我们会用Python和C重写一些东西,这证明你正在淘汰旧的组件,当你观察到一个新组件出现的时候,它诞生了。
1703952653
[ 上一页 ]  [ :1.703952604e+09 ]  [ 下一页 ]