1、什么是云计算
云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。
本地通常是提前把软件基础架构部署在用户计算机上,所有资源使用者自己访问和管理; 相对于本地服务,云有以下特征:
按需服务-需要时使用;
网络访问-通过网络作为传输媒介,云提供商负责维护其基础架构;
资源共享-多个资源集中在一起,供多个客户端使用;
可伸缩性-资源具有弹性能力,最大程度节省和提高资源利用率,具有平台无关性、存储无限扩展等优势。
2、公有云的缺点在哪里?
云是公共资源,每秒都有数以百万的用户访问,云服务提供商可能遭受攻击,从而窃取用户信息,从而云在一定程度上存在安全问题。
数据存储在第三方机器,可能会出现第三方查看和修改用户隐私数据问题。
更多的控制权不在于自己,而在于云提供商,云出现问题,只能等待第三方回应。
云本身又分为公有云、私有云、混合云等,以上说的几点都是公有云的特点,很多企业不信任公有云平台,特别是国内很多企业要求对技术做到自主可控,结合本身的业务增长速度,需要搭建自己的私有云平台。那么要完成私有云平台搭建,需要完成什么工作呢?如图(a)
(a)
3、搭建企业级云平台需要完成哪些工作?
3.1、IaaS 基础架构即服务
IaaS 基础架构即服务,该服务提供了计算机体系架构和基础服务,提供了所有云计算资源供我们直接访问使用,比如数据存储、虚拟化服务、服务器和网络等。
3.2、PaaS 平台即服务
PaaS 主要是提供开发环境/平台,编程语言、操作系统、web 服务器和数据库构成,用户可在其中构建、编译、运行程序无需担心其基础架构。当今面对互联网业务量和用户量剧增,PaaS 是企业需要着重建设的部分。很多企业都以 Kubernetes 为基础建设容器云平台。常见的公有云有有阿里云,腾讯云、亚马逊云等。
3.3、SaaS 软件即服务
按需使用软件、按需付费。跟购买程序无关,该服务运行在云端,是平台无关的,无需在 PC 上安装软件。云端运行该服务一个或多个实例供多个最终用户使用,云计算大大降低企业软件运行成本。比如网盘、网上冲浪服务等。
3.4、PaaS VS IaaS
在云平台建设过程中 PaaS 和 IaaS 边界在哪里呢?很多企业在建设过程中,可能会把这两个混为一谈,其实有一定的界限。
IaaS 主要是对裸金属机器进行资源分配、操作系统安装、服务器启动、网络配置等。
PaaS 主要是对计算资源进行逻辑管理,与应用有关资源分配和调度,主要是最大程度上服务于上层应用,如图(b)。
(b)
4、云平台真的适合你吗?
建设之前,需要大量的时间去整理、评估组件的各种可行性分析。说到这里,很多人可能会知难而退;是的,坦率的说,云平台其实不适合大多数的团队,如果你在一个 15 - 20 人的小团队里,它会带给你大量痛苦,而好处却微乎其微。
4.1、以建设容器云平台举个例子
目前 A 公司的系统全部运行在裸金属 3 台服务器或者 5 个虚拟机上,考虑到硬件资源无法灵活调度,目前考虑迁移到Kubernetes上。
上面说了这么多 Kubernetes 使用问题,是不是说它就一无是处了,当然不是。比如说当前服务客户是金融业务,7*24 小时不能宕机,且有上万用户使用,这就需要考虑到服务的扩展性和升级可靠性了,这正是Kubernetes 最擅长的事情了。
4.2、容器云平台真的有必要吗?
对于任何技术,在使用之前都要持保留态度,别人说好,那是适合,换做是你,可能就是另外一种场景了,要学会洞察技术的本质,就像搭建企业级云平台一样,在搭建之前要考虑为什么要建设企业级云平台?可以从三个方面去考量建设的意义是什么?
业务系统越来越多,各个系统之间存在大量的数据交互和接口调用,规划的还有大量的系统需要建设,出现问题时总是修修补补,无法从全局、系统的角度去规划分析问题。资源管理层面上,有多个机房和数据中心,里面可能存在部分僵尸服务,无法做到有效监控、动态调度底层计算资源共享,更无法做到峰谷互补伸缩自如。需求上要求快速交付、持续运行并且已经存在或者未来可预知的大量用户和海量数据。
5、总结
随着互联网的发展和网络带宽的增加,企业应利用云计算的优势,减少了总的成本支出,同时最大限度地提高了效率和生产率,从长远来看,对于大型互联网公司而言,迁移到云是一个明智的决定。