云计算相关知识一

从本文开始准备开一个新坑,主要用于记录云计算相关的知识,主要参考资料为公开课Cloud Computing Concepts, Part 1。可以看做是学习记录 : )

本文将尝试回答什么是cloud,与传统的分布式系统相比较,有什么新的特点cloud comupute与早期几代分布式系统的区别

基础知识

Process = a program in action

C语言的程序,main调用f1,f1调用f2程序代码是不变的,但是有变化的组件,那些变化的组件:

  1. PC是程序计数器program counter,表明当前程序执行到哪了
  2. stack被函数用于传递参数和返回值,比如main调用f1时传递的参数就可以通过push压栈到stack中,然后f1可以通过pop获取到main传递给他的参数。

f1调用f2类似,当f2执行完毕,便可以通过push将执行结果压栈到stack顶,然后f1可以通过pop获取到f2的执行结果,类似的,main也可以获取到f1的执行结果

简化的计算机架构

两种云:私有云 公有云
私有云一般仅供公司内部使用
公有云是把服务提供给付费的用户使用,比如AWS S3,阿里云,华为云之类的公有云服务

why clouds?节约时间和金钱

如果你创办了一个公司,是使用公有云服务呢,还是自己搭建一套私有云?通常可以对比两者,看公司使用时间,如果在一年内,那使用公有云更划算,如果是使用多年,那使用私有云更划算。前期为了业务尽快上线,一般选用公有云,省时省力,当公司业务发展到一定水平,存储量业务量都很大的时候,这时候势必要上私有云了。

什么是云

For the purposes of this course, however, I’m going to come up with a very simple definition, it’s a working definition. It’s not perfect. It’s not meant to be perfect. It’s meant to be good enough for us to learn more about the technologies that exist out there. So working definition says, that a Cloud consists of a lot of storage resources, so you can store gigabytes, terabytes, petabytes, maybe even more of data with compute cycles located nearby. Notice that this definition is not the reverse which is it doesn’t say, you have compute cycles with data moving around. Essentially, there is so much data. It is a data intensive world that we live in, that you can’t really move around the data all that easily. So, you need to bring the compute closer to the data rather than bring the data closer to where the computer is.

当今的云计算,与前几代的分布式系统比,不同的地方

  • 超大规模
  • 按需访问
  • 数据密集性质
  • 新的云计算程序模型

    按需访问, 在这里我们会把它作为 aaS (即服务)行业分类的一部分来讨论。 按需访问是指 你为你已经实际使用的服务付费, 而不是支付预付成本, 或提前购买。 这就像是 叫了一辆出租车对比 租了一辆车,你需要 付一些预付款来使用 其他人已拥有的服务,或者买一辆车 相似的, 你买了自己的数据中心。 而现在,云服务让你可以 仅仅支付几十美分或几块钱来 购买CPU的运行小时, 你可以用任意你想拥有的CPU数量, 只要你的应用程序需要。 比如,AWS的EC2, 以及微软的Azure都能提供这种服务。 或者支付几十美分或几块钱 来购买每月的GB容量来存储数据。 同样的,AWS和Azure都能为你提供这种服务。 还有许多的其他公司 都能提供相似的服务,提供的条件也有竞争力。 现在整个行业经常为 提供的云服务进行分类, 按照这些服务本身的特性。 经常被分类成, aaS, “即服务” 概念。
    HaaS硬件即服务、IaaS基础设计即服务,PaaS平台及服务,SaaS软件及服务。
    云计算第三个新的方面, 今天云区别自身与 之前几代分布式系统的是 我们已经可以着手处理大数据。 然而在此之前, 是计算密集型处理技术, 比如基于消息传递接口、 即MPI的计算, 还有高性能计算技术, 当你有一个相对小的数据集的时候, 但是你仍然需要相当性能的密集型计算, 比如,天气模型就是一个密集型计算, 这里当然包括了 诸如NCSA Blue Waters 数据中心, 但是 数据密集型计算技术却有一点相反, 你有大量的数据存储在 数据中心, 而且你需要附近的计算节点, 是因为你要处理海量的数据。
    在计算密集型的应用中,CPU利用率,被视为资源利用率 最主要的衡量指标, 但在数据密集型的云服务中, CPU已经不再是最主要的度量, I/O才是最重要的度量,disk I/O 和 network I/O。

参考资料:

Cloud Computing Concepts, Part 1

如果你觉得本文对你有帮助,欢迎打赏