@TOC云计算基础知识
云计算
简单来说就是资源的一种服务模式,一句话就是“On-demand access to resources from the Shared pool resources”(按需从资源共享池中获取资源{网络、服务器、存储、应用及服务})
快速获取、及时释放是它的特点
说明:业界的划分只有自底向上中没有Docker as a Service,其他三种分别对应了不同的资源类型(基础设施、平台、软件)而DaaS是Doker技术发展起来后的一种新的云计算服务模式,注意这个图我没有画完,下面哒哒兔会为你解释如何完善这个图
云计算平台需要的技术
- 编程模型:主流有两个:谷歌的MapReduce(通过映射规约算子将问题进行分布式处理);Apache的Spark(先建立RDD,再使用spark内部算子进行数据处理)。这二者都是分布式计算
- 虚拟化技术:将底层硬件隔离,进行异构资源整合。虚拟化技术是云计算的基础
- 数据存储技术:Hadoop的HDFS是典型,支持数据的存储和读取
- 数据管理技术:Google的BigTable、Apache的Hive和Hbase【可以看看谷歌的”三大论文“,这三大论文奠定了谷歌在业界的地位】
- 云计算平台任务调度技术:主要是将用户的大量计算问题分发到计算资源中
云计算平台的类型:
- 存储型平台
- 计算型平台
- 综合型平台
云计算平台的服务模式
说明此图对上图进行了一定的补充,可以看看不同的服务模式之间的关系【Docker as a Service应该改为Container as a Service,即容器及服务】
容器和容器云----CaaS
先知道
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU 并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟机必须依赖hypervisor(可以理解为变相的操作系统)与物理机关联,hypervisor用来管理虚拟操作系统比如VM Ware就是这样的功能。
容器技术:【Goole制造】
容器技术是用来替代虚拟机方式来实现虚拟化技术的
事实上,容器技术的特点在于不运行完整的操作系统,在对资源进行抽象和隔离之后,由系统级别降低至进程级别,从进程的粒度来实现虚拟化,这正是它的优秀之处举个栗子: 你有一个虚机,如果你要启动它来为你提供计算能力,那你要经过一个完整的虚拟机中的系统开机的过程你有一个虚机,如果你要启动它来为你提供计算能力,那你要经过一个完整的虚拟机中的系统开机的过程然后才能在虚拟机中运行你想要执行的程序然后才能在虚拟机中运行你想要执行的程序而且,在这个虚机的运行期间,虚机内的系统需要消耗一定量的宿主机资源,比如装一个centos7,它启动需要分钟级,它运行期间,这个虚机需要占用宿主机几个G的内存,而容器运行一个程序,可能只需要毫秒级打开,占用的内存只有几十MB,所以速度快,资源占用少,当然容器也有自己的劣势,用途不一样而已。
下面是容器技术和虚拟机技术的对比
那么容器的具体结构是什么呢?
Docker是一个开源的应用容器引擎,开发者将应用和依赖包打包到可移植容器中,然后发布到Linux或Windows,它完全使用沙盒机制,相互之间不会有任何借口。Docker中的容器是资源分割和调度的基本单位。Docker使用Go语言作为编程语言。
总结
容器技术促进了微服务和无服务架构平台的发展,也促进了容器云的发展,容器云随着kubernetes的成熟而占据市场。各大提供容器技术的公司也纷纷推出容器云技术,如阿里云,Google kubernetes等
by 哒哒兔