Docker容器:典型应用场景
容器典型应用场景
容器技术的特点:
1.轻量化:
相比虚拟机,容器提供了更小的镜像,更快的部署速度; 非常适合需要批量快速上线的应用或快速规模弹缩应用,如互联网web应用;
2.性能高、资源省:
相比虚拟化,容器接近物理机的性能,系统开销大幅降低,资源利用率高;
容器的高性能适合对计算资源要求较高的应用,如大数据和高性能计算应用;
3.跨平台:
容器技术实现了OS解耦,应用一次打包,可到处运行; 跨平台能力非常适合作为DevOps的下层封装平台,实现应用的CI/CD流水线; 容器应用可跨异构环境在不同云平台、公有云和私有云上部署,也非常适合作为混合云的平台;
4.细粒度:
容器本身的“轻”和“小”的特性非常匹配细粒度服务对资源的诉求,与微服务化技术的发展相辅相成,可作为分布式微服务应用的最佳载体;
一、互联网web类应用
容器技术最广泛使用的场景; web应用通常是三层架构;对于无状态的web前端,非常适合使用容器部署; 无状态的app服务节点,或通过无状态化改造,也可以打包为容器,提供快速弹缩能力;
二、CI/CD开发测试云
Docker开源后,成为一款开发者和运维共同认可的DevOps工具,继而成为容器的事实标准;
Docker为实现DevOps的四个技术基础提供了完善的解决方案
1.分布式的开发环境
Docker的分层文件系统机制,使不同的开发人员完全独立的进行开发,实现敏捷开发;
2.标准化的运行环境
Docker Image可以在各种支持Docker的开发、测试和生产环境中运行,而屏蔽不同环境间软硬件的差异;
3.丰富的应用镜像仓库
在Docker Hub和私有镜像仓库中存储着多种Image,利用仓库来存储镜像,快速搭建应用所需的标准化环境;
4.持续的自动化部署
各种Docker的编排工具,如Mesos、Kubernetes工具能够支持应用生命周期管理,支持服务发现、负载均衡和灰度升级等, 满足运维的应用不停机升级;
三、微服务管理平台
微服务是一种软件架构模式,此模式下应用被分解为一系列独立、边界明确、自主完成单一任务的服务, 服务之间解耦,可独立替换、升级和伸缩,服务间通过语言无关的轻量级接口,如网络通信、消息队列等进行协同;
微服务架构将应用解耦分拆为小粒度服务模块,容器的轻量化可为微服务提供更细粒度的资源供给,有效利用资源; 服务启动快、弹缩快,能更好应对单服务和系统突发式业务访问;
四、容器主机
对于轻量虚拟机,虚拟机管理程序对硬件设备进行抽象处理,而容器只对操作系统进行抽象处理;
容器有自己的文件系统、CPU和内存,既能像虚拟机一样独立运行,又能占用更少的资源,极大的提高资源利用率;
refs
《云计算架构–技术与实践》顾炯炯