Heroku黑客指南(一)

为何使用Heroku

(一)简单

在所有云解决方案中,Heroku最简单。Heroku基于Unix philosophy原则构建,它意味着你只需要做一件事,并且把它做好。部署应用到Heroku,你只需将你的git repo推送到他们的服务器,应用立刻就部署好并运行了。

需要更多的功能组件,比如数据库、缓存服务器、K/V存储?没问题,你可以自己创建它们并绑定到应用。

因为Heroku够简单、够现代,你无需花费时间处理架构、高可用、部署等问题,把时间花在代码上吧。

(二)历史悠久

Heroku开始于2007年,他们是最早的云平台之一。因为云计算领域很新(亚马逊的AWS也才发起于2006年),这就意味着Heroku在这个行业已称得上元老了。

而且Heroku由Salesforce.com拥有,后者是最大的传统云企业服务公司。所以不用担心Heroku的生存问题,他们不会一夜之间跑路让你的工作努力付诸东流。

(三)流行度

Heroku在程序员间非常流行,你也许已经听说或使用过它。正因为它流行,所以在遇到问题时,更容易得到有经验的程序员帮助。而且相对来说,项目招人也更容易。

(四)多语言支持

Heroku的另一个核心优势是它支持多编程语言和web框架。它至少支持如下程序语言:

  • Clojure
  • Java
  • Python
  • Scala
  • Javascript
  • Ruby
  • Go
  • PHP

这意味着不管你使用何种技术,甚至在一个项目里使用了多种编程语言,它们的运行平台和部署方式都类似。

(五)稳定

Heroku构建在亚马逊的AWS上,AWS是世界上最大、最老、最广泛使用的云基础服务平台。AWS以速度、可用性和灵活性著称。Heroku在AWS上做了许多抽象工作,让你的业务运行更快更稳定。

(六)最佳实践

Heroku基于12 factor design原则构建,它鼓励软件开发遵循如下最佳实践:

  1. 应用由版本控制驱动
  2. 显式声明和隔离依赖
  3. 在环境变量里存储应用配置
  4. 把必要的基础设施组件当做可连接的资源
  5. 隔离构建和运行阶段
  6. 业务无状态,以便横向扩展到多实例
  7. 通过端口绑定的方式输出服务
  8. 并行方式扩展应用
  9. 可以快速启停服务
  10. 开发、测试、发布产品应尽可能简单
  11. 把日志作为事件流看待
  12. 作为一次性的过程运行管理任务

遵循这些设计原则,你的应用将更可靠、可扩展、更简洁。

此条目发表在Common分类目录,贴了, 标签。将固定链接加入收藏夹。

Heroku黑客指南(一)》有一条回应

  1. Pingback引用通告: 谈谈云环境下的软件开发 | 风河博客

评论已关闭。