深入浅出理解云计算

云计算是什么

原文:https://blog.csdn.net/mlsx2009/article/details/77877233

官方解释:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

我们应该如何通俗地理解:
首先按照传统方式建立网站,要怎么做呢要购买服务器,网络带宽,注册网站域名,开发,运维等一系列复杂的过程,最后才能建立起来我的网站。就好像是我们想要获得干净的水源,前期需要购置很多工具,花费大量人力,最后才能打出来一口井。

云计算是什么俗理解就是有一个云厂商已经建立好了自来水井,也铺好了自来水管道,我们直接拿被子取干净的水就好了,这就是一套自来水系统。不用再去打水井,铺管道,提高了时间效率,也大大降低了人力成本。

云计算是如何分类的

云计算一般分为三类:基础架构即服务(IaaS)、平台即服务(PaaP)和软件即服务(SaaS)

基础架构即服务(IaaS)

也就是基础设施服务,主要是通过网络的方式向用户提供计算,储存,网络等基础资源。目前中小型企业或用户都是购买这类基础性框架服务。通俗理解就是从水厂的水源,厂房,自来水管道,这类属于最基础的设施。

平台即服务(PaaP)

主要是通过平台向用户提供应用软件的开发,测试,快速部署,帮助用户快速实现更多应用功能。主要针对互联网公司,比较成型规模的公司。通俗理解就是为了达到特定的目的而提供的工具,如过滤的工具,增加矿物质的工具,增加二氧化碳含量的工具,也就是为这个自来水持续地增加它的价值。

软件即服务(SaaS)

直接加工成商品性的东西去卖就好了,通俗理解就是直接获得自来水,将水再加工处理,做成特定的产品卖出去,如纯净水,苏打水,农夫山泉,怡宝等这类产品。


一、云计算最初是实现资源管理的灵活性

云计算最初的目标是对资源的管理,管理的主要是计算资源,网络资源,存储资源三个方面。

深入浅出理解云计算有了IaaS,实现了资源层面的弹性就够了吗然不是。还有应用层面的弹性。这里举个例子,比如说实现一个电商的应用,平时十台机器就够了,双十一需要一百台。你可能觉得很好办啊,有了IaaS,新创建九十台机器就可以了啊。但是90台机器创建出来是空的啊,电商应用并没有放上去啊,只能你公司的运维人员一台一台的弄,还是需要很长时间才能安装好的。虽然资源层面实现了弹性,但是没有应用层的弹性,依然灵活性是不够的。

有没有方法解决这个问题呢是人们在IaaS平台之上又加了一层,用于管理资源以上的应用弹性的问题,这一层通常称为PaaS(Platform As A Service)。这一层往往比较难理解,其实大致分两部分,一部分我称为你自己的应用自动安装,一部分我称为通用的应用不用安装。

我们先来说第一部分,自己的应用自动安装。比如电商应用是你自己开发的,除了你自己,其他人是不知道怎么安装的,比如电商应用,安装的时候需要配置支付宝或者微信的账号,才能别人在你的电商上买东西的时候,付的钱是打到你的账户里面的,除了你,谁也不知道,所以安装的过程平台帮不了忙,但是能够帮你做的自动化,你需要做一些工作,将自己的配置信息融入到自动化的安装过程中方可。比如上面的例子,双十一新创建出来的90台机器是空的,如果能够提供一个工具,能够自动在这新的90台机器上将电商应用安装好,就能够实现应用层面的真正弹性。例如Puppet, Chef, Ansible, Cloud Foundary都可以干这件事情,最新的容器技术Docker能更好的干这件事情,不做技术的可以不用管这些词。

第二部分,通用的应用不用安装。所谓通用的应用,一般指一些复杂性比较高,但是大家都在用的,例如数据库。几乎所有的应用都会用数据库,但是数据库软件是标准的,虽然安装和维护比较复杂,但是无论谁安装都是一样。这样的应用可以变成标准的PaaS层的应用放在云平台的界面上。当用户需要一个数据库的时候,一点就出来了,用户就可以直接用了。有人问,既然谁安装都一个样,那我自己来好了,不需要花钱在云平台上买。当然不是,数据库是一个非常难的东西,光Oracle这家公司,靠数据库就能赚这么多钱。买Oracle也是要花很多很多钱的。然而大多数云平台会提供Mysql这样的开源数据库,又是开源,钱不需要花这么多了,但是维护这个数据库,却需要专门招一个很大的团队,如果这个数据库能够优化到能够支撑双十一,也不是一年两年能够搞定的。比如您是一个做单车的,当然没必要招一个非常大的数据库团队来干这件事情,成本太高了,应该交给云平台来做这件事情,专业的事情专业的人来自,云平台专门养了几百人维护这套系统,您只要专注于您的单车应用就可以了。

要么是自动部署,要么是不用部署,总的来说就是应用层你也要少操心,这就是PaaS层的重要作用。

深入浅出理解云计算容器是 Container,Container另一个意思是集装箱,其实容器的思想就是要变成软件交付的集装箱。集装箱的特点,一是封装,二是标准。
深入浅出理解云计算
那么容器如何对应用打包呢是要学习集装箱,首先要有个封闭的环境,将货物封装起来,让货物之间互不干扰,互相隔离,这样装货卸货才方便。好在 Ubuntu中的LXC技术早就能做到这一点。

封闭的环境主要使用了两种技术,一种是看起来是隔离的技术,称为 Namespace,也即每个 Namespace中的应用看到的是不同的 IP地址、用户空间、程号等。另一种是用起来是隔离的技术,称为 Cgroups,也即明明整台机器有很多的 CPU、内存,而一个应用只能用其中的一部分。

所谓的镜像,就是将你焊好集装箱的那一刻,将集装箱的状态保存下来,就像孙悟空说:“定”,集装箱里面就定在了那一刻,然后将这一刻的状态保存成一系列文件。这些文件的格式是标准的,谁看到这些文件都能还原当时定住的那个时刻。将镜像还原成运行时的过程(就是读取镜像文件,还原那个时刻的过程)就是容器运行的过程。

有了容器,使得 PaaS层对于用户自身应用的自动部署变得快速而优雅。

来源:诚(Jim Lee)

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月12日
下一篇 2019年6月12日

相关推荐