Download - 北京 Docker 容器大会分享
北京容器大会分享陈杨文
陈杨文● wenerme@● wenerme@● wenerme@
分享内容
包含
● 容器的背景和历程
● 如何规模化容器
● 产品化过程中常见的问题
● 容器的前景
不包含
● 怎么使用容器
● 容器是什么○ Containers include the application and all of its
dependencies, but share the kernel with other containers.
● 为什么使用容器○ 省时省力省钱
● Git● Docker , Machine , Swarm, Registry● Kubernetes ● Service Discovery 服务发现
● Microservice 微服务
● Software Define Network SDN 软件定义网络
● Mesos, Marathon● Load Banlance, Fault Tolerant, Auto Scale 负载均衡,容错,自动扩容
● Consul, Etcd● Elasticsearch, Logstash, Kibana, cAdvisor, Beats● Golang● Ansible, Chef, Puppet, Salt
相关术语
背景
背景
如何容器化
● 选择一门开源
● 学习选择的工具和技术
● 适配公司现有技术栈
● 与集群容器化的产品非常多,每个公司选择都不尽相同
● 每个公司都会在自己选择的基础上对自己公司的业务和现有服务进行适配
● 这个过程中会产生出大量的定制化开发工作内容
开源技术选型
技术栈完善
● 每个公司都在打造一个基本
类似的 PaaS
常见的问题
● 网络和服务发现○ Etcd,Consul,SkyDNS○ Flannel,weave,Calico
● 日志和容器监控○ cAdvisor,Logstash
● 集群编排和管理○ Kubernetes,YARN,MESOS,Fleet,Swarm
● 安全和容器限制
● 选择
容器化给我们带来的实际影响
● 改变了传统的开发流程和开发模式
● 改变了传统开发流程中的人员角色○ 开发 + 运维 = DevOps○ 缩短整个开发部署流程
○ 要求我们必须顺应新的技术发展
● 更快的应对新的改变
案例一:开发
● 极大的加快了从
开发到部署运维
的速度
● 降低了软件开发
难度
● 提升了软件开发
的灵活性
● 对程序员水平要
求更高
案例一:开发
● 开源开发流程是
最好的实践
● 跟随开源的开发
模式来开发企业
应用
● 只需要使用内部
服务来替代公共
服务
IT 就是在不停抽象
● 线程 -> 进程 -> 集群
● 应用 = 进程 + 依赖
● 容器 = 进程 + 依赖 = 应用
● IPC = TCP/UDP,内存,文件
● 容器通信 = Flannel,weave,Calico,... = 一组容器组成一个网络 = SDN = 服务
● 容器能做到的事情,不用容器也都能做到○ 但是使用容器能更快更方便更省事
○ 使用 Java 能做到的事情使用 C 也能做到
○ 在更短的时间内创造更高的价值