个人学习之道

  1. 快速入门并建立自己的docker化的代码库
  • 快速上手
  • 学习新知识的思路是通过最小系统原则,即从变量最小的系统开始学起。
  • 构建最小系统需要环境,使用Docker可以使我们将精力放在语言本身。
  • Docker化的代码库
  • 常用代码库是软件工程师实现高效交付的“绝活”。在技术团队中,同样接新任务,新人接手后,首先面对的是思路和工具的抉择,然后需要面对实践中的各种‘坑’,而资深工程师接手后,如果拥有Docker代码仓库,那么就可以快速完成任务。停止研发的历史任务,也可以以Docker容器的方式保存。以后遇到这种情况,可以直接运行,调试并复用代码。
  • 面向业务编程
  • 《程序员的自我修养——链接,构建与库》提到MOP Market/Money Oriented Programming(面向市场或利润编程)是唯一不变的编程范式。
  • 使用Docker快速掌握新技术要点并完成适当的技术储备,例如:Python技术栈的后端工程师,熟悉常规网站的后台建设,那么如何快速实现移动应用的Restful API Server呢?一般可以这样,去Docker hub搜索适合做API服务器的Python快速开发框架。如docker pull python,以此为基础,加入SSH服务,数据库和开发框架,即可构建一个Python容器。然后,通过docker run 运行容器,此时即可使用浏览器访问自定义容器中的API接口。
  1. 使用Docker Hub发布开源项目

技术创业之道

  1. 使用Docker助力DevOps
  • 敏捷开发是一套软件工程方法论,其中有一个重要的概念是DevOps。
  • DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须密切合作。
  • DevOps的核心理念在于生产团队(研发、运维和QA)之间的高效沟通协作,以解决以下的问题:
  • 更小、更频繁的需求变更
  • 生产环境不受开发人员控制
  • 业务应用程序成为中心,而不是基础设施
  • 定义简洁明了的研发部署流程需要更多的时间和成本
  • 研发部署流程无法彻底自动化
  • 现有的PaaS虚拟机难以促成开发与运营的协作
  1. 产品的Docker化发布
  • 由于Docker具有易于部署,跨平台能力强的特性,所以Docker非常适合做自动化的持续集成,和快速部署。
  • Docker化发布特别适合于BS架构的产品。