首页 > 代码库 > GIS+=地理信息+容器技术(1)——容器技术概述
GIS+=地理信息+容器技术(1)——容器技术概述
--------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/chinagissoft
QQ群: idkey=db34317167632c01ab4750de87c000ae63cf173cf6fcbbd724ae60213272da91">16403743
宗旨:专注于"GIS+"前沿技术的研究与交流,将云计算技术、大数据技术、容器技术、物联网与GIS进行深度融合。探讨"GIS+"技术和行业解决方式
转载说明:文章同意转载。但必须以链接方式注明源地址,否则追究法律责任!
--------------------------------------------------------------------------------------
题记
假如我们须要部署一个Webserver,我们须要做什么样的工作呢?
1、申请、扩展、购买硬件server资源;或者租用或购买VPS(公有云虚拟云主机)
2、安装操作系统(Windows或者Linux)
3、部署Webserver软件(Apache或者Nginx)
4、部署支持Web所需的开发环境(PHP、Python等)以及数据库(MySQL)
5、有些还须要在某些框架开发(Python的Django)
6、部署代码到Webserver软件的指定文件夹
7、配置公网IP地址
当然,走到这一步我们会感觉,看上去是比較麻烦。只是现实中我们有成熟的技术来解决这些问题啊,比如虚拟化镜像,可是我们仍然会有非常多问题须要解决。比如:
- 1、同样软件环境的多个server安装(比如我们为了负载均衡)
- 2、不同软件环境server的安装(比如我们的Python环境,有的须要2.7。但有的需求3.4)
- 3、不同硬件环境的同样软件环境的安装(比如酷睿1的CPU不能满足需求。升级到酷睿5却没有同样的OS和软件环境)
root@controller:/sys/fs/cgroup/cpu# ls cgroup.clone_children cpu.cfs_period_us cpu.stat tasks cgroup.procs cpu.cfs_quota_us notify_on_release user cgroup.sane_behavior cpu.shares release_agent root@controller:/sys/fs/cgroup/cpu# cat cpu.stat nr_periods 0 nr_throttled 0 throttled_time 0
虚拟机是执行在物理宿主机上的软件抽象。配置一个虚拟机就像是购买一台计算机:你须要定义你想要的 CPU 数目、RAM 和磁盘存储容量。配置好了机器后,你为它载入操作系统。以及你想让虚拟机支持的不论什么server或者应用程序。
虚拟机同意你在一台硬件主机上执行多个模拟计算机。让你充分利用硬件资源。
这是虚拟机的优势。
可是虚拟机也有自己的不足:
全部分配给一个虚拟机的资源,不管是什么。都是专有的。
这里没有资源的流动。每台虚拟机拥有分配给它的全部资源。让它们跑起来须要非常长时间。假设你处于基础设施须要高速增长的情形,即使添加虚拟机是自己主动的。你仍然会发现你的非常多时间都浪费在等待机器上线。
容器是一个Linux 进程,Linux 觉得它仅仅是一个执行中的进程。该容器进程也分配了它自己的 IP 地址。一旦给予了一个 IP地址,该进程就是宿主网络中可识别的资源。
容器/进程以动态、合作的方式共享主机上的资源。CPU、内存和存储空间的分配是动态的,和典型虚拟机的静态方式不同。因为容器作为OS的一个进程,所以容器能很高速地启动。
总结
事实上如今对于两者而言,并没有绝对的替代关系。如今慢慢的把传统虚拟化当成云计算的IaaS,提供基础设施服务,容器很多其它的是在PaaS层。也就是执行在虚拟机内,提供服务。
GIS+=地理信息+容器技术(1)——容器技术概述