Erlang零成本实现云计算    余锋 (褚霸)    淘宝网技术专家    http://yufeng.info   中国软件技术大会 北京 2010
议题     1. Erlang天生适合云计算     2 .Erlang并行计算的效率     3. Erlang云计算基础构件     4. Erlang集群管理和维护     5. 讨论
Erlang是什么?•   通用的语言和运行环境•   内置并发,集群,容错机制•   电信和互联网行业大规模部署应用•   经过时间验证的成熟商业系统
Erlang的历史•   很老的FP语言,始于80年代末•   爱立信投资10亿美金主导开发•   EPL版权方式开源•   需要记住的几个年份     o 1987 The first experiments with Erlang.    ...
云计算定义云计算就是应用公共网络设施对逻辑的组建,像水和电一样融入大家的生活,为用户提供海量一站式的服务.                  -腾讯首席执行官马化腾Cloud = "CPU + Storage + Queues + Manage...
Erlang的进程, 天上的云"Erlang was built from the ground up for concurrency. Not justin a single machine, but in clusters of machi...
语言和虚拟机天生可伸缩          最COOL的语言特性:          •   函数式语言,方便排错          •   轻量级进程          •   异步消息机制          •   软实时          ...
内置集群和分布的基础设施和库•   进程分布和名称同步管理•   进程和节点容错管理•   rpc•   gen_server•   mnesia数据库
稳定性In 1998, the Ericsson AXD301 switch wasannounced, containing over a million lines of Erlang, andreported to achieve a r...
Erlang零成本云计算适用的领域•   互联网应用服务器•   消息推送系统•   网关代理服务器•   软实时的服务•   集群管理
Erlang社区快速壮大, 见证云计算的增长
小结Erlang天生适合特定领域       的云计算
议题     1. Erlang天生适合云计算     2 .Erlang并行计算的效率     3. Erlang云计算基础构件     4. Erlang集群管理和维护     5. 讨论
Erlang语言运行和开发效率                                                  摩托罗拉C/Erlang开发效率比较纯Erlang的运行效率大概是C的1/5, 编码效率是C的7倍,在脚本语言中属...
Erlang对SMP的支持从2006年发布的R11B开始.SMP开发人员的信条:"SMP should be transparent to programers in much the way aserlang distribution."  ...
Erlang进程调度及策略Full load or not                   多个运行队列,动态迁移进程调度器看起来很像操作系统,实际上Erlang的第一个进程名字叫做otp_ring
Erlang调度器的伸缩性小消息,大计算原则
架构设计方面的考虑•   不共享•   没有显式的同步•   并发导向的编程•   进程是低廉的,和现实世界对象1:1模型•   所有无依赖的任务,都抽象为进程并发执行•   终止的进程,一切都是垃圾,资源集中回收•   简洁为王
Erlang技术发展路线图虚拟机的运行期持续改进计划涵盖了对众核和NUMA体系结构的支持,保证了它在未来新的硬件体系结构下能持续获得更好的性能。
小结 Erlang并行计算效率高
议题     1. Erlang天生适合云计算     2 .Erlang并行计算的效率     3. Erlang云计算基础构件     4. Erlang集群管理和维护     5. 小结
从Vmware收购谈起...Vmware 计算虚拟化Redis    存储RabbitMQ 消息交换系统我们可以清楚的看到云计算的三个基础设施!
存储系统(noSQL)CouchDBRiakMembase
消息交换系统RabbitMQEjabberd
WEB服务器MochiwebErlyweb
Map/Reduce系统Disco
小结 Erlang基础设施齐全,      开发成本低
议题     1. Erlang天生适合云计算     2 .Erlang并行计算的效率     3. Erlang云计算基础构件     4. Erlang集群管理和维护     5. 讨论
集群特点及规模•   集群全连通或者分区连通•   访问授权: nothing or all策略•   节点规模可强力伸缩•   节点热插拔•   规模可达上千台                             典型系统的集群进程组织图
异构性• 不同的平台  o Windows(smp支持的有待改进)  o *nix• 不同的体系结构  o 无需关心endianess问题  o 工业级协议的支持(asn.1, snmp等)
强大的交互性, 与其他遗留系统整合•   NIF•   C节点(ei)•   Java (jinterface)•   Cobra•   TCP/HTTP•   内置RPC
部署•   Standalone发布,无需单独安装Erlang运行期•   不停机维护•   在线升级,系统同时运行新旧代码•   发现问题在线降级•   工具化, 一切自动化
代码安全• 代码可远程从网络加载, Diskless减少维护的成本• 代码可加密, 强加密防止反编译
远程维护• 强大的内置shell• ssh/sftp• 可集中管理的日志系统
监控功能• OS mon• SNMP• HTTP
小结 Erlang集群管理成本低
议题     1. Erlang天生适合云计算     2 .Erlang并行计算的效率     3. Erlang云计算基础构件     4. Erlang集群管理和维护     5. 讨论
典型成功案例国内:• 校内网• 腾讯• 华为• 游戏公司 (如4399)• ...国外:• Facebook• Github• ...
应用障碍•   FP语言, 开发人员少, 招聘成本高•   独特的并发和错误处理哲学•   开发社区偏小,知识积累不够•   应用库偏少
谢谢大家!Any questions?
Upcoming SlideShare
Loading in …5
×

Erlang low cost_clound_computing

6,130
-1

Published on

Erlang低成本云计算

Published in: Technology
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,130
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
165
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Erlang low cost_clound_computing

  1. 1. Erlang零成本实现云计算 余锋 (褚霸) 淘宝网技术专家 http://yufeng.info 中国软件技术大会 北京 2010
  2. 2. 议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论
  3. 3. Erlang是什么?• 通用的语言和运行环境• 内置并发,集群,容错机制• 电信和互联网行业大规模部署应用• 经过时间验证的成熟商业系统
  4. 4. Erlang的历史• 很老的FP语言,始于80年代末• 爱立信投资10亿美金主导开发• EPL版权方式开源• 需要记住的几个年份 o 1987 The first experiments with Erlang. o 1993 Distribution is added to Erlang. o 2006 SMP support is added to Erlang.
  5. 5. 云计算定义云计算就是应用公共网络设施对逻辑的组建,像水和电一样融入大家的生活,为用户提供海量一站式的服务. -腾讯首席执行官马化腾Cloud = "CPU + Storage + Queues + Management" -The Amazon Web Services says essentially
  6. 6. Erlang的进程, 天上的云"Erlang was built from the ground up for concurrency. Not justin a single machine, but in clusters of machines. Lots ofmachines. Lost of machines running many processes. Soundslike a cloud, right?" -Colin Clark
  7. 7. 语言和虚拟机天生可伸缩 最COOL的语言特性: • 函数式语言,方便排错 • 轻量级进程 • 异步消息机制 • 软实时 • 代码热升级
  8. 8. 内置集群和分布的基础设施和库• 进程分布和名称同步管理• 进程和节点容错管理• rpc• gen_server• mnesia数据库
  9. 9. 稳定性In 1998, the Ericsson AXD301 switch wasannounced, containing over a million lines of Erlang, andreported to achieve a reliability of nine "9"s. -Joe Armstrong
  10. 10. Erlang零成本云计算适用的领域• 互联网应用服务器• 消息推送系统• 网关代理服务器• 软实时的服务• 集群管理
  11. 11. Erlang社区快速壮大, 见证云计算的增长
  12. 12. 小结Erlang天生适合特定领域 的云计算
  13. 13. 议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论
  14. 14. Erlang语言运行和开发效率 摩托罗拉C/Erlang开发效率比较纯Erlang的运行效率大概是C的1/5, 编码效率是C的7倍,在脚本语言中属于中等水平.但是云计算不仅仅是纯计算,任务调度和集群管理是Erlang的强项,从而拉升系统的整体表现.第三方独立评测网站 The Computer Language Benchmarks Game
  15. 15. Erlang对SMP的支持从2006年发布的R11B开始.SMP开发人员的信条:"SMP should be transparent to programers in much the way aserlang distribution." -Ulf Wiger, Ericsson AB
  16. 16. Erlang进程调度及策略Full load or not 多个运行队列,动态迁移进程调度器看起来很像操作系统,实际上Erlang的第一个进程名字叫做otp_ring
  17. 17. Erlang调度器的伸缩性小消息,大计算原则
  18. 18. 架构设计方面的考虑• 不共享• 没有显式的同步• 并发导向的编程• 进程是低廉的,和现实世界对象1:1模型• 所有无依赖的任务,都抽象为进程并发执行• 终止的进程,一切都是垃圾,资源集中回收• 简洁为王
  19. 19. Erlang技术发展路线图虚拟机的运行期持续改进计划涵盖了对众核和NUMA体系结构的支持,保证了它在未来新的硬件体系结构下能持续获得更好的性能。
  20. 20. 小结 Erlang并行计算效率高
  21. 21. 议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 小结
  22. 22. 从Vmware收购谈起...Vmware 计算虚拟化Redis 存储RabbitMQ 消息交换系统我们可以清楚的看到云计算的三个基础设施!
  23. 23. 存储系统(noSQL)CouchDBRiakMembase
  24. 24. 消息交换系统RabbitMQEjabberd
  25. 25. WEB服务器MochiwebErlyweb
  26. 26. Map/Reduce系统Disco
  27. 27. 小结 Erlang基础设施齐全, 开发成本低
  28. 28. 议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论
  29. 29. 集群特点及规模• 集群全连通或者分区连通• 访问授权: nothing or all策略• 节点规模可强力伸缩• 节点热插拔• 规模可达上千台 典型系统的集群进程组织图
  30. 30. 异构性• 不同的平台 o Windows(smp支持的有待改进) o *nix• 不同的体系结构 o 无需关心endianess问题 o 工业级协议的支持(asn.1, snmp等)
  31. 31. 强大的交互性, 与其他遗留系统整合• NIF• C节点(ei)• Java (jinterface)• Cobra• TCP/HTTP• 内置RPC
  32. 32. 部署• Standalone发布,无需单独安装Erlang运行期• 不停机维护• 在线升级,系统同时运行新旧代码• 发现问题在线降级• 工具化, 一切自动化
  33. 33. 代码安全• 代码可远程从网络加载, Diskless减少维护的成本• 代码可加密, 强加密防止反编译
  34. 34. 远程维护• 强大的内置shell• ssh/sftp• 可集中管理的日志系统
  35. 35. 监控功能• OS mon• SNMP• HTTP
  36. 36. 小结 Erlang集群管理成本低
  37. 37. 议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论
  38. 38. 典型成功案例国内:• 校内网• 腾讯• 华为• 游戏公司 (如4399)• ...国外:• Facebook• Github• ...
  39. 39. 应用障碍• FP语言, 开发人员少, 招聘成本高• 独特的并发和错误处理哲学• 开发社区偏小,知识积累不够• 应用库偏少
  40. 40. 谢谢大家!Any questions?

×