打字猴:1.703952622e+09
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
1703952654 没有人了解整个系统的运作机制。因此,我们需要定义组件。视频转码和视频搜索截然不同,建立良好的数据规范非常重要。
1703952655
1703952656 效率与扩展性并重。最有效率的是用C实现进程,但这样的方式缺乏扩展性。
1703952657
1703952658 着眼于宏观层面、组件及其失败的原因,使用RPC是否明智?内联如何?进行分解研究,也许会发现不同之处。
1703952659
1703952660 重视算法。与其绞尽脑汁用Python来实现高效的算法,不如用它做些更有实用价值的事,在这方面,C语言有它的优势。
1703952661
1703952662 YouTube技术团队,很少从事面向对象设计,我们使用了大量的命名空间,使用类来组织数据,但极少使用面向对象。
1703952663
1703952664 YouTube解决问题的哲学是:简单、回归初心。许多YouTube的产品最初只是源于一个简单的Python脚本。这正是应了我们的一句老话:“不积跬步,无以至千里;不积小流,无以成江海。”
1703952665
1703952666
1703952667
1703952668
1703952669 技术管理之巅:如何从零打造高质效互联网技术团队? [:1703949784]
1703952670 技术管理之巅:如何从零打造高质效互联网技术团队? 10.2 技术管理之巅
1703952671
[ 上一页 ]  [ :1.703952622e+09 ]  [ 下一页 ]