关于云计算的那点事

关于云计算的那点事

原创 角瓜哥 clouddp多云数据保护 2019-09-24

前面写了那么多数据中心灾备双活的文章,今天决定换个方案和大家聊聊关于云计算的那点事,也是这两天参加VMwre在华东区域办的一个针对Partner的会议,收获满满。

以前大家聊到云计算基本就是两个套路:OpenStack,VMware这两个方向,然后各自发表自己的看法为支持自己的厂商站脚助威。这个说KVM开源就是王道,那个说vSphere才是最成功,最成熟的虚拟化,其实很少有人真的从用户的业务层面,和落地层面去探讨什么才是适用于最终用户的云计算。

第一次接触云计算还是在2010年左右的时候我在看电脑报(新入行的小兄弟们估计都不知道这是啥了)我当时就在想这东西难度是HPC的一个变种?也没有仔细研究,后来在东华工作的时候第一次听VMware的厂商过来交流?我们那会还都是IBM的真粉还一直看不上VMware的产品,觉得x86的东西在企业级就上不台面。。。。现在天天和客户忽悠去U2VL,将小型机转移到X86,想想VMware的产品还是真香。

那么话归正题,一般从云的角度来讲还是如下这几个方面:

IAAS:基础架构即服务,在用户端就是租个虚拟机,定义网络,定义存储,至于上面是跑中间件还是数据库一般是用户端自己安装,或者定义一套模板直接克隆。

PAAS:平台即服务,以前这个概述还比较模糊,后来容器产品,K8S产品横空出世,平台厂商比较中立的就说还是需要一个IAAS平台,我们构建在虚拟机上就行,激进的就说什么虚拟化,什么存储统统的不要,我们一大堆的裸服务器安装PAAS就行,至于什么数据一致性,负载都在应用层实现。

SAAS:软件即服务,这个说实话接触的真不多,没有话语权一般像国外的 salesforce,Office365都算,这个一般是部署在公有云上的就不做过多解释啦。

一套私有云建设的蓝图如下:

关于云计算的那点事

资源池的定义是构建私有云平台的一个重要步骤(至少我这么认为,嘿嘿)资源池定义的几个标准:
      标准化:标准化就是最佳实践,比较构建标准化的计算、存储资源池,并在资源池的定义里根据最佳实践来设计相应的网络,存储。
        弹性:构建云计算对于用户来说重要的意义就是资源池的弹性扩展,纵向扩展:即通过增加内存,磁盘来扩展单个设备的性能,横向扩展:通过扩展节点实现资源池的性能扩展。
        高可用:单个资源池内必须要实现冗余,如节点间冗余,磁盘间的冗余,甚至于存储控制器的冗余,并根据对资源池的定义来设计相应的冗余,比如应对核心应用的资源池就需要设计99.999%的冗余,应用测试开发的可能可需要满足99.9%的冗余。
        松耦合:资源池内与上层应用之间需要实现松耦合,对资源池的修改不会影响到上层应用系统。
        资源池可按应用系统设计:如核心应用系统,外围应用系统,互联网应用系统,OA管理类系统也可以按照基础架构平台进行设计如:裸金属服务器资源池,虚拟化资源池,UNIX小型机资源池,分布式存储资源池,NAS,FC-SAN存储资源池,全闪资源池,SSD-SAS混合资源池。
 

关于云计算的那点事   

计算资源池定义

关于云计算的那点事

存储资源池定义

网络资源池定义:定义1级生产网络 万兆,存储交流网络:FC-SAN或IB网络,负责南北流量安全防护的硬件防火墙,负责东西流量安全防护的软件防火墙等(网络实在是弱项就不细讲啦)

下一步资源入池:这面临就是原有的应用系统梳理调研,并根据应用的需求进行最佳实践的设计比如:

关于云计算的那点事

针对中间件虚拟机的设计主要就是内存的分配,按照虚拟化的最佳实践是每个VM只运行一个JAVA实例,内存的设计就是 虚拟机内存=GuesOS内存+JVM虚拟机内存*1.2。而且中间件虚拟机基本不会写入磁盘,所以我们建议配置SAS或SAS+SSD这种混合阵列即可。

针对数据库的虚拟机就复制的多了,比如Oracle 单个VM实例的设计,RAC的设计,其实Oracle虚拟机主要是磁盘的设计,这年头SSD价格已经烂大街了,所以我们的建议就是Oracle部署在虚拟机完全没有问题,只要磁盘IO给力即可。

当我们整理完用户的应用后,即可以根据客户的SLA需求,及性能需求应用部署划分至不同的资源中,后续再根据资源池进行定价。

云计算最重要的当然就是为了业务可以快速交付,很我们交流的用户其实数据中心还是基于传统的比如三层FC-SAN架构的存储,手工的备份作业,手工去创建网络VLAN,那么如果构建了一个私有云平台当应用部门的人在门户里下发需求的时候难度要人肉带上Console线去划LUN,创建RAID,初始化,映射,创建vlan嘛?当然基于原有的数据中心这肯定是没办法实现的,所以构建一个软件定义的数据中心肯定是私有云平台的重要支撑。

关于云计算的那点事

  私有云示意图

如上图,当用户端发一起一个请求的时候最理想的状态肯定是通过自动创建VM,可以自动创建基于数据副本的虚拟机存储或者分布式存储。自动创建VLAN,创建防火墙,负载均衡等,甚至可以实现基于数据AI算法的自动化创建,当用户端设定一个阀值,探听到应用负载的压力就可以自动创建相应的前置机和中间件服务器,并实现与应用端的自动负载均衡。

前面说了这么多,在云的层面还需要对整个资源池的可视化管理,现有的都是基于大数据算法的自动化运维,基于机器学习的日志级的可视运维管理啦。

这上面罗哩罗嗦说了这么多,这些还都是基于上一代的企业云平台,现在新的云数据中心都是基于应用持续交付的全栈云了。

关于云计算的那点事

可以实现面向应用端的持续开发,持续迭代。其实我们看到在很多的互联网平台项目中应用的话语权越来越重,很多的高可用冗余都是通过应用逻辑来实现的,所以这对传统的IT架构提出了更高的要求,需要可以提供更好的灵活性,可以实现更快速的交付。

所以说这么多,我们认为现在很多的产品经理和厂商的有严重的钉锤思维,就是我卖的就是最好的,其它的都是垃圾,其实用户上云的意义是什么呢?我认为在技术层面或者说在业务层面就是为了实现简化运维,快速迭代应用,快速交付,使IT资产可视化那么其实无论是VMware还是OpenStac还是阿里,腾讯只要符合用户需求的云就是好用的云,那么做为服务商干什么呢?就是深度理解用户的现状和应用场景,把最适用于用户场景的云产品落地到用户应用环境之上。