thinking

一些记录

传统软件开发流程

  • 确定产品定位和需求,确定首次迭代的范围
  • 制作界面原型
  • 技术选型,然后根据技术选型为每个开发者搭建开发环境和技术栈
    例如java环境,Ruby环境,数据库,各类中间件等
  • 构建基础技术框架和服务
    包括日志,存储,消息,缓存,搜索,数据源,集群扩展等
  • 模拟用户容量,构建测试环境。
  • 开始编写业务代码,实现产品功能
  • 迭代开发/测试,知道产品经理崩溃…

新型开发出现

所谓PaaS,全称是 Platform as a Service,平台即服务,如果采用完善的PaaS平台,就可以跳过3 、4 、5.
无论选哪个技术栈,PaaS都会为你提供相关的配套设施,包括语音环境、运行环境、存储和各种基础服务。
后来docker开源,以容器的方式自动部署应用,docker是一系列进程的集合,基于namespaces和cgroups实现资源的隔离和分组,基于copy-on-write技术创建文件系统,分层、快速、占用空间少;提供交互式shell和remote api。