云端基于Docker的微服务与持续交付实践笔记,是基于易立老师在阿里巴巴首届在线技术峰会上《云端基于Docker的微服务与持续交付实践》总结而出的。
本次主要讲了什么?
- Docker Swarm
- Docker Swarm mode
- 微服务支持(Docker集群架构体系)
- Docker的发展趋势和前沿成果
在Docker技术方面还是很佩服大牛的,所以赶紧写下笔记,追随大神的脚步。
阿里云资深专家易立,技术就不说了,他比其他直播间硬生生多讲了半个多点,于情于理还是万分感谢本次分享的(可惜devOps没时间讲了)。
总之,字里行间都是最前沿的研究成果,具体内容总结如下(原谅我没有写下阿里云Docker使用过程,大家可以购买支持嘛)。
(声明:阿里云承诺分享本次视频和ppt,无奈没找到,反正自己也要写学习笔记,在观看的同时顺便截屏,以下图片和大部分知识内容都来自Docker社区和阿里云资深专家易立,我只是总结梳理下Docker的知识体系~ ~)
Docker Compose 容器编排
Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command.
Docker Compose其实是一个管多的工具,允许定义多个容器应用和依赖文件放置一个文件中,然后一条命令来启动它。
- 优点:
- 简单好用,便于开发
- 镜像开发
- 本地环境沙箱:开发,UT
- 编排容器,存储和网络
- 不足:
- 面向开发和部署,不支持自动化运维
- 功能
- 一键部署:docker-compose up
- 手动收缩:docker-compose scale wordpress=3
Docker Swarm 容器集群管理
Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual Docker host. Because Docker Swarm serves the standard Docker API, any tool that already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts.
Swarm’s swappable design provides a smooth out-of-box experience for most use cases, and allows large-scale production deployments to swap for more powerful backends, like Mesos.
Multiple Docker Engines==Swarm
- 优点
- 兼容标准的Docker API
- 灵活,可插拔的容器,调度
- 不足
- 面向容器,缺少微服务支持
Containers as a Services (Caas 容器服务)
遵循Build—Ship—Run
- Build:Development Environments
- Ship:Secure Content&collaboration
- Run:Deploy,Manager,scale
传统云金字塔:
(金字塔底) infrastructure As A Service—Platform As A Service(抽象级别过高)—Software As A Service(抽象级别过低) (金字塔顶)
容器服务定位
其实在金字塔的中间层做了分级,将Platform和Containers作为一个服务。实现了简洁性和灵活性间的完美平衡。
微服务架构
Build Once and Deploy Everwhere 利用容器实现持续集成和交付
从易立老师的这张图,可以看出Docker从开发,测试到最终生产环境,保证了应用的一致性。并且支持版本管理,快速上线和回滚。
完整的容器持续化交付流程
其中Jenkins是一把持续交付的利剑,附上文档链接https://hub.docker.com/r/jenkinsci/jenkins/
Docker 1.12 内置编排能力
The Best Way to Orchestrate Docker is Docker
docker峰会原话,其实剑指其他提供编排服务的工具。
Docker Swarm mode
Docker Swarm mode区别与Docker Swarm
Docker Engine 1.12 includes swarm mode for natively managing a cluster of Docker Engines called a Swarm. Use the Docker CLI to create a swarm, deploy application services to a swarm, and manage swarm behavior.
Docker Swarm是最新提出的,所以还不是很完善,但是如上他的介绍,可以定性的理解为Mesos之类的集群管理器。
服务servers
服务Servers是可以自动修复的,当集群中某个Engine失败时,可以自动修复。
复用已有的Docker Compose
吐槽
特意早早的坐在计算机前面等《首届阿里巴巴在线技术分享》盛会,并且早就关注了阿里云资深专家的《云端基于Docker的微服务与持续交付实践》。终于2016年7月19号8点开始了。我是7点30分坐等的,于是,在6000-10000人浏览(是实时浏览还是访问次数,怀疑是访问次数)时,发生了悲剧
视频很卡,而且不能选择画质,啊喂!
弹幕出BUG,啊喂!
索性直播间就关闭了弹幕功能(是关闭还是崩溃了?),啊喂!
忍不住吐槽一下,7点30分直播间试图播放阿里宣传片,结果卡到一半关闭,两三次播放,同样结局。到8点整,抢红包功能未准时,直到8点20分(我都忘记其抢红包的事了,强制刷新我的屏幕,点进去,已抢完= =)
八点多点弹幕系统无法使用。。。一直卡啊,还有BUG啊。。。我们是来测试你在线直播抗压性的么?!我们是来学技术膜拜大神的~哼!
还有奇葩的短线!好多次!一断线我就怀疑是我网络问题,去斗鱼看了下。。如此顺畅,看来有大神还是不够的,需要经验的锤炼和打磨!
好了,我是总结技术的。