好炫的架构图,收藏起来
2013-12-17 13:55
281 查看
转载(http://www.dreamflier.net/blog/user1/3/2094.html)
美国时间12月8日,著名企业云计算平台厂商Salesforce宣布以近2.12亿美元现金收购Heroku。这是一个有些惊人的消息,显示了Salesforce CEO Marc Benioff对云计算的远见和决心。
Heroku由三位资深程序员James Lindenbaum, Adam Wiggins和Orion Henry创办于2007年,是较早的云计算公司之一,以专门为Ruby应用软件提供支持著称(最近也开始支持Node.js)。他们的理念是让开发人员专注于11月刚与Facebook达成合作协议。目前有10万以上的移动和社会化应用使用他们的平台,包括大公司和创业公司,而且每月都有数千新用户。Heroku位于旧金山,员工只有约30人。
3年,30人,价值2亿多美金,凭什么呢?听听Marc Benioff的解释吧:“云计算的下一个时代,我称之为Cloud 2,将属于移动、社会化和实时。而Ruby是Cloud 2的语言,Heroku是领先的Cloud 2 Ruby PaaS平台。这一并购将使Salesforce成为下一代应用程序员的基石。”
而Heroku创始人James Lindenbaum则在名为“The Next Level”(更上一层楼)的博客中显示了更大的雄心:“如果企业级软件的开发能像敏捷的Ruby应用一样,世界将会怎样?如果大公司也能接受Heroku和Ruby社区的理念,世界将会怎样?” 显然,他希望将互联网的敏捷通过Salesforce带入企业级开发。此外,他在文中也确认Heroku被收购后运作仍然独立,而且与Amazon Web Services的合作关系不会受到影响。
该公司网站今年4月曾给出流量的增长图,的确惊人。看来在美国云计算的采用非常迅速。
Heroku的平台架构和用户体验都做得比较出色。用户体验方面,在工作流程、界面的很多细节都考虑得非常周到,实践了他们自己宣称的“让用户的开发人员100%精力都放在自己的应用代码上”的理念。而架构方面各种组件都经过了精心选择或者设计,从下图(推荐看该公司网站原图,设计非常精致)中可以看到:
1. HTTP反向代理使用Nginx
2. HTTP缓存使用Varnish
3. 路由网(Routing Mesh)用Erlang编写
4. Dyno网格提供了很好的扩展性(dyno是运行Ruby代码的单一进程,运行在网格中的某个服务器上,每个dyno都是独立的,包含所有层次的资源)
5. SQL数据库选用PostgreSQL,也可以通过add-on方式选择其他方案,包括用Amazon RDS支持MySQL, 也支持MongoDB、Redis、CouchDB等
6. 当然,也少不了memcached
下面这幅Dyno架构图给出了系统的更多细节:
1. 操作系统用的是Debian
2. Ruby虚拟机用MRI
3. 应用服务器是基于Mongrel改写的Thin
4. Web服务器接口用Rack
5. 中间件是可选的,可以用Rack中间件,也可以用Rails Metal
6. 框架方面,应用推荐选择Rails,轻量服务用Sinatra
最后,代码的部署与Git完全相同。用户push代码时,平台会将代码编译成独立的包含所有依赖关系的只读版本(成为slug),可以随时发布。编译过程还会检查程序是否可以启动,如果不行将拒绝通过。对应用的管理选项非常完整,提供REST接口。
美国时间12月8日,著名企业云计算平台厂商Salesforce宣布以近2.12亿美元现金收购Heroku。这是一个有些惊人的消息,显示了Salesforce CEO Marc Benioff对云计算的远见和决心。
Heroku由三位资深程序员James Lindenbaum, Adam Wiggins和Orion Henry创办于2007年,是较早的云计算公司之一,以专门为Ruby应用软件提供支持著称(最近也开始支持Node.js)。他们的理念是让开发人员专注于11月刚与Facebook达成合作协议。目前有10万以上的移动和社会化应用使用他们的平台,包括大公司和创业公司,而且每月都有数千新用户。Heroku位于旧金山,员工只有约30人。
3年,30人,价值2亿多美金,凭什么呢?听听Marc Benioff的解释吧:“云计算的下一个时代,我称之为Cloud 2,将属于移动、社会化和实时。而Ruby是Cloud 2的语言,Heroku是领先的Cloud 2 Ruby PaaS平台。这一并购将使Salesforce成为下一代应用程序员的基石。”
而Heroku创始人James Lindenbaum则在名为“The Next Level”(更上一层楼)的博客中显示了更大的雄心:“如果企业级软件的开发能像敏捷的Ruby应用一样,世界将会怎样?如果大公司也能接受Heroku和Ruby社区的理念,世界将会怎样?” 显然,他希望将互联网的敏捷通过Salesforce带入企业级开发。此外,他在文中也确认Heroku被收购后运作仍然独立,而且与Amazon Web Services的合作关系不会受到影响。
该公司网站今年4月曾给出流量的增长图,的确惊人。看来在美国云计算的采用非常迅速。
Heroku的平台架构和用户体验都做得比较出色。用户体验方面,在工作流程、界面的很多细节都考虑得非常周到,实践了他们自己宣称的“让用户的开发人员100%精力都放在自己的应用代码上”的理念。而架构方面各种组件都经过了精心选择或者设计,从下图(推荐看该公司网站原图,设计非常精致)中可以看到:
1. HTTP反向代理使用Nginx
2. HTTP缓存使用Varnish
3. 路由网(Routing Mesh)用Erlang编写
4. Dyno网格提供了很好的扩展性(dyno是运行Ruby代码的单一进程,运行在网格中的某个服务器上,每个dyno都是独立的,包含所有层次的资源)
5. SQL数据库选用PostgreSQL,也可以通过add-on方式选择其他方案,包括用Amazon RDS支持MySQL, 也支持MongoDB、Redis、CouchDB等
6. 当然,也少不了memcached
下面这幅Dyno架构图给出了系统的更多细节:
1. 操作系统用的是Debian
2. Ruby虚拟机用MRI
3. 应用服务器是基于Mongrel改写的Thin
4. Web服务器接口用Rack
5. 中间件是可选的,可以用Rack中间件,也可以用Rails Metal
6. 框架方面,应用推荐选择Rails,轻量服务用Sinatra
最后,代码的部署与Git完全相同。用户push代码时,平台会将代码编译成独立的包含所有依赖关系的只读版本(成为slug),可以随时发布。编译过程还会检查程序是否可以启动,如果不行将拒绝通过。对应用的管理选项非常完整,提供REST接口。
相关文章推荐
- 转来的好东西-收藏起来:C#中对DatagridView的部分常用操作
- Log4j的配置文件,收藏起来以便日后查阅
- Linux的目录结构 我先收藏起来 ~~
- 干货阿里巴巴 开源软件列表,先收藏起来
- 公司新项目架构讨论会,程序员们打起来了,请问各位我该听谁的?
- [学习收藏]业界三种架构优缺点比较
- 软件架构师应该知道的97件事之架构决定性能-分析背后原因-起来发言
- 收藏的博客--通信架构
- 收藏一个架构博客
- mysql存储过程(存起来学习,收藏)
- 教你们怎么从菜鸟级别到电脑高手,一定要收藏起来
- vxWorks驱动架构 分类: vxWorks 2014-03-13 08:55 425人阅读 评论(0) 收藏
- 给伸手党精选的人工智能十大TED演讲 收藏起来慢慢看
- 软件架构学习小结 收藏
- 【收藏】争论:是否应该避免架构重写?
- Android app 架构的一些讨论和资源收藏
- 大型网站架构演变和知识体系[好文收藏]
- SQL 存储过程分页--在网上找到代码,收藏起来
- 12306.cn网站挂了”好文章收藏,引发的技术架构问题讨论。
- 负载均衡在分布式架构中是怎么玩起来的?(