1、Microsoft Cloud Computing,Ted yu PM ,Video Microsoft Future Vision,Microsoft New Technology,互联网,数据库,服务器(云),数据传输,Technology Trend,微软对云计算定义,微软对云计算的分类,云计算能“做”什么?,“ 网络就是计算机”到“网格计算”,从“分布式计算”到“互联网计算”,长期以来,与“云计算”相类似的理念被学术界和不同的企业各自表述”张亚勤 微软公司全球资深副总裁 微软中国研发集团主席,微软(中国)有限公司董事长,为什么需要云计算?,假设我们要做一个网站,出发,半年后,你的网站火
2、了 50万用户,2000万PV/天 出现问题 WEB端动态脚本导致CPU、内存资源耗损过,造成WEB服务吞吐量低 数据量大,数据库端读压力过大 访问响应很慢很慢,怎么办?,加内存,升级CPU,上SAN存储,加带宽,上IBM小机,第一次改造,没钱?,还是从架构上下手吧 静态化、缓存 IIS+ASP.NET - Nginx + PHP (轻松支持2-3万的并发连接) MS SQL - MYSQL (至少1:3的性能差距) 分库、分表,又过了半年后,你的网站很有人气 1000万用户,1亿PV/天 出现问题 WEB端服务吞吐量不足 数据量大,数据库端读写压力过大 大量静态文件,IO效率及其低下 访问响
3、应很慢很慢,怎么办?,第二次改造,终于有钱买带款加服务器了 根据服务吞吐量买相应带宽 负载均衡,缓存怎么办? 打造缓存群(分布式缓存) 把数据库中的热数据搬到缓存里去 静态文件缓存起来:反向代理 数据库采用主从模式,读写分离,服务器扩展原则: 在对功能、架构不做任何 变动的情况下,服务器或 服务资源即插即用,火的上央视了,你的网站很有人气 5000万用户,10亿PV/天 出现问题 海量图片的管理把操作系统搞崩溃了 海量的数据把数据库搞崩溃了 崩溃了,怎么办?,第三次改造,加服务器也没用了,再次从架构上下手 MYSQL - MYSQL + NOSQL(K/V数据库,文档型数据库) 关系型数据库关
4、注数据的完整性,支持事务 NOSQL支持海量数据的快速存储和容错性 基于K/V数据库的消息服务; 基于文档数据库的存储与分布式计算(比如对海量数据的BI) Map Reduce(分布式计算)是一个处理和生成大量数据集的编程模型和相关实现。用户指定一个Map方法来处理一个键/值来生成一个中间的键/值,还有一个Reduce方法以合并所有关联到同样的中间键的中间值。以这种风格来写的程序会自动的在一个拥有大量机器的集群里并行运行。运行时系统处理输入数据的划分、程序在机器集之间执行的调度、机器失败处理和必需的内部机器交流等细节。这就允许程序员没有多少并行和分布式系统的经验就可以很容易使用一个大型分布式系统资源。 系统文件管理 - Grid模式(文件存储,支持Sharding),第三次改造:架构,Memcached 微软Velocity,Hadoop MogileFS,MS SQL MYSQL,TokyoTyrant Mongodb Cassandra,Squid,更多的用户、更多的服务,不同形式的服务不断推出,类似的框架不断搭建 我们在思考 架构基本一致,资源能共用吗? 服务器资源不平衡,服务器资源能弹性分配吗?,Question & Answer,