云计算的关键技术是什么? 是虚拟镜像吗?(2)
最近一直在搞容器和动态资源调度,没搞过公有云,所以从一个外行的视角来看一下这个问题。
云计算,顾名思义,计算是放在高空的云上的。别笑,为什么取个“云”的概念,是因为以前计算资源都在自家的机房里,大家重复建设,利用率又低,浪费的不行。怎么办,把资源集中起来按需调度。
集中起来,远离了自家的一亩三分地,就像空中的云,看得见,又离自家远远的。
云计算的核心是什么,就是资源的按需调度。这里有三关键点:资源,按需,调度。
资源。最初是CPU、内存、磁盘和网络等,后来又涵盖了运行在这些资源之上的数据库、移动服务、云通信、弹性计算、视频服务、存储与CDN、分析、网络和中间件等各类服务(可到阿里云上看看现在的云产品,新资源还在不断加入)。
按需。有两层含义:一层是云上的业务系统根据需要获取上述这些资源,另一层含义是不同的主体,如我家业务系统和你家业务系统,根据需要使用上述这些资源。前者是私有云,后者为公有云,介于两者之间的为混合云。
调度。就是在上述资源和业务系统建立调配关系的基础设施。
作为本题:云计算的关键技术是什么,应该理解为实现这套基础设施的关键技术是什么。
需求是不断变化的,正如资源已不再仅限于硬件资源;技术同样是在不断变化的。
最初,庞大的资源集中在一起,厂商主导的虚拟化让硬件资源形成一个资源池,之上建立各种虚拟环境为多租户提供隔离的资源。虚拟化解决了需求的同时带来了资源浪费的问题,这是一个共识。
解决资源的浪费的一种方案是轻量级隔离,也就是现在发展火热的容器技术。容器技术覆盖云计算所有场景还有很多难点需要攻克,不过发展的速度很快。
如果容器技术发展的足够成熟,那么完全虚拟化的方案就变得多余,一种是硬件虚拟化,另一种是bare metal之上的系统软调度,也就是现在的Kubernetes和Mesos。当然,或许又有颠覆性的技术出现,那就不得而知了。