在哪些情况下考虑用docker?

大多数企业,都已经有IT构架。面对docker,相对新的技术,要把老系统,换成基于容器的构架,有哪些因素需要考虑?什么样的场景下,企业会毅然决定上容器?

猪小花1号提问于 2018-04-08 10:00
1 个回答
  • 活动主持人2018-07-13 14:27

    作为 Docker 和 Kubernetes 的资深玩家,网易云的经验是:Docker 是容器的代表技术,容器是DevOps的良好工具,容器的本质是基于镜像的跨环境迁移


    将容器当成虚拟机来用是不合理的,容器所做的事情虚拟机都能做到——如果部署的是一个传统的应用,这个应用启动速度慢,进程数量少,基本不更新,那么虚拟机完全能够满足需求。


    DevOps、微服务与容器是相辅相成,不可分割的。不是微服务,根本不需要容器,虚拟机就能搞定,不需要 DevOps,一年部署一次,开发和运维沟通再慢都能搞定。所以,容器的本质是基于镜像的跨环境迁移。镜像是容器的根本性发明,是封装和运行的标准。


    1. 第一种迁移的场景是开发,测试,生产环境之间的迁移。如果不需要迁移,或者迁移不频繁,虚拟机镜像也行,但是总是要迁移,带着几百 G 的虚拟机镜像,太大了。

    2. 第二种迁移的场景是跨云迁移,跨公有云,跨 Region,跨两个 OpenStack 的虚拟机迁移都是非常麻烦,甚至不可能的,因为公有云不提供虚拟机镜像的下载和上传功能,而且虚拟机镜像太大了,一传可能就是一天。
     


                                              将容器融入持续集成的过程中,形成DevOps的流程


    当容器集群规模比较大,应用比较复杂的时候,推荐使用 Kubernetes 来实现对于容器的自动化管理和编排。Kubernetes 模块划分得更细,模块比较多,而且模块之间完全的松耦合,可以非常方便地进行定制化。


    关于互联网架构设计的更多知识,欢迎参阅网易云团队著作《云原生应用架构实践》。