简易的 Docker 开发环境

Docker 大大简化了环境的初始化过程和应用部署过程。通过将执行过程模板化,可以做到在部署环境上 DO NOT REPEAT YOUR SELF 。

Docker 之前

以前设计一个应用或者架构,会仔细考虑部署的复杂度和所依赖中间件的初始化和搭建成本。尽量用部署简单的产品,避免部署复杂的产品。尽可能少的安装依赖。从这个角度看 Golang 比 Java 应用的一个优势就是不用再安装 JVM ,直接启动进程。或者把 Java 应用打包成 Fat jar 当成进程启动和维护,而不再安装容器。

Docker 之后

但是这些顾虑在 Docker 出现后不再那么强烈。因为维护成本大大降低了。

使用 Docker 也可以避免这些中间件对开发环境的污染。不用再担心在自己开发环境安装 Hadoop 这样的重量级产品。

而一些常用的重量级产品:Zookeeper、Kafka、Spark 也可以轻松用 Docker 维护,启停自如。不用担心部署的复杂度而不用这些产品。

Docker templates

为此我在 Github 上建立了一个 Docker templates 项目:

https://github.com/doubaokun/dockers

主要目的是用在自己的开发环境上,随时启用这些可能用到的依赖环境。

目前包含了这几个模板:Java 应用;Zookeeper;Kafka;  Spark。

生产环境

针对于生产环境,很多公有云已经支持 Docker 的部署

Google Cloud:https://cloud.google.com/container-engine/

AWS: http://aws.amazon.com/elasticbeanstalk/

个人和小团队用的话推荐:DigitalOcean 可以平滑的从 $5 美元开始过度到数十台服务器。

注册 DigitalOcean 免费获得 $10 折扣

关于创业市场、商业模式、线上社区的几篇文章

什么样的内容会病毒传播,研究 100 万文章后的结论
http://okdork.com/2014/04/21/why-content-goes-viral-what-analyzing-100-millions-articles-taught-us/

1. 长文章比短文章更容易传播
2. 至少包含 1 个图片更容易传播
3. 调动积极的情绪
4. 人们喜欢分享列表和信息图
5. 10 是一个魔幻数字
6. 人们喜欢分享有权威的内容
7. 让权威人士帮助转发
8. 定期重新推旧文章
9. 一周中星期二是最好的日子

为什么我被 Facebook 解雇了 (100 万美元的教训)
http://okdork.com/2012/09/29/why-i-got-fired-from-facebook-a-100-million-dollar-lesson/

如何帮 Mint 在刚刚开放的 6 个月内增长 100 万新用户
http://okdork.com/2010/07/15/quant-based-marketing-for-pre-launch-start-ups/

在 Facebook 上花了 200 万美元后学到了什么?这是一篇非常详细的 FB 广告使用指南
http://okdork.com/2014/03/04/how-to-start-advertising-on-facebook/