云计算相关文章与学习笔记

发布于 2023-07-04  22 次阅读


云计算与服务

按照服务划分,云计算可以分为IaaS、PaaS、SaaS、DaaS四个层次。

IaaS(Infrastructure as a Service,基础架构即服务)将"计算能力、网络、存储"这些基础资源实现上云

在IaaS层之上的是PaaS(Platform as a Service,平台即服务)层。这一层除了提供基础计算能力,还具备了业务的开发运行环境,提供包括应用代码、SDK、操作系统以及API在内的IT组件,

支持将代码、WAR包和JAR包直接部署到云原生运行平台,平台自动对代码、WAR包和JAR包构建容器镜像;支持Java、PHP、Node.js、Python、Go等主流语言应用,支持前后端不分离应用、WebLogic、Tomcat、Spring Cloud、Spring Boot、Dubbo等应用,实现传统应用快速云原生转型

最上层是SaaS(Software as a Service,软件即服务)。

使用腾讯云的一款产品就可以知道SaaS的面向群体。

而SaaS并不支持自定义前端和后端,就和乙方安全厂商推出了一款及其优秀但是不能根据实际网络环境进行调整的安全产品一样。

于是,在此基础上分离出了BaaS,针对后端上云而前端支持自定义。

在大数据时代,数据量的爆炸和数据的处理成为重中之重,数据量的存储已经不再是主要问题,而数据处理(“需要为哪个消费者推送什么产品”)是主要问题。

DaaS 强调的是数据服务, 侧重于通过 API 的方式按需提供来自各种来源的数据,它旨在简化对数据的访问,提供了可用于多种格式的数据集或数据流,这一目标的关键在于数据虚拟化技术的使用。事实上,DaaS 体系结构可能还包括一系列数据管理技术,除了数据虚拟化,还包括数据服务、自助分析和数据编目等。此时,企业将数据上云,不需要关注数据库原理和数据处理过程、数据存储,因为这一些都在云上得到了处理。

对企业而言,可根据需要使用上述某一种层次的云服务。大型企业一般需要综合上述四个层次的云服务,即层次化的云计算服务,一般也称为I-P-S&D云计算,各层可独立提供云服务,下一层的架构为上一层云计算提供支撑。例如,某视频网站采用了上述的I-P-S&D云计算架构。

其中,由阿里云大型服务器群、高速网络、存储系统等组成IaaS架构提供基础服务;将阿里云提供的RDS、MQ等服务构建在IaaS层上;这些RDS、MQ提供的服务组成PaaS,把视频的应用逻辑(如视频编解码、视频流接入等)部署上来,提供在线的视频点播、直播等服务。

这样一个大型的系统对互联网用户而言,就是一个大规模视频类SaaS应用。对日常用户访问日志、视频观看爱好等数据做进一步的聚合分析之后,便可形成千人千面、精准推送等DaaS服务。

FaaS。可以简单的理解为云上函数。FaaS 可以将函数作为一个线上服务、远程计算服务,可以通过 API 执行、通过邮件执行、通过 Iot 执行,通过队列执行。你只需要写统一的函数就行了。即使用者只需要提供函数的输入,而函数的处理存在于云端

下面通过这个文章先简单了解一下FaaS的原理:

https://blog.csdn.net/u012271526/article/details/106396314

传统模式
FaaS模式

从上面两张图的比较中就可以看出,对于用户来说并没有发生改变,在开发侧和服务侧发生巨大变化。当需要新增业务函数函数时,开发侧不需要去准备运行环境,而只是将写好的函数提交到仓库,在FaaS中添加一个选项,云上会自动在触发到目标函数时进行分配容器和进行自动化运维管理(k8s、弹性等等关键词),同时减少了运维成本和提高容灾。

这里就涉及到分配容器时的“冷启动”问题。目前来说通过nodejs冷启动是相对较快的,当然预热也可以解决冷启动问题,不过预热是对实际情况的妥协,我个人认为并不是serverless对于云提供厂商对于资源控制的追求。

说到FaaS就不得不提到Serverless无服务器。其实FaaS就是Serverless的一种实现方式,在开发者不需要对运维知识成本的情况下,在开发时做到“无服务器”作为限制的开发,我觉得对于serverless是一种很好的理解。或者说,其实这就是一种“应用程序无状态”,有助于弹性扩展。

下面是一些serverless实践与理解的文章

https://cloud.tencent.com/developer/salon/salon-1081

https://blog.jimmylv.info/2017-06-30-serverless-in-action-build-personal-reading-statistics-system/

https://mp.weixin.qq.com/s/a5C_Tr2Nsx28K7xG2_0mBg

https://mp.weixin.qq.com/s/a5C_Tr2Nsx28K7xG2_0mBg

Serverless其实是一个FaaS+BaaS的结合体,那么,在后端(数据库、分布式等等)和函数(逻辑业务)都上云的情况下,按需自动扩缩容、免运维的优点就体现出来了。并且在实际处理中,上云涉及到的收费问题,Serverless在未实际调用的时候是并不收费的。

这些具体的实现原理会另开一篇文章进行记录。

OSS

对象存储OSS与传统存储有哪些区别?

https://zhuanlan.zhihu.com/p/287940635

我觉得这张图就很好的说明了问题,在“面向全互联网”的“海量数据”时,我们上面提到DaaS是专门针对数据处理的,此时OSS反而是更倾向于数据存储的本质的,实现多种类型的对象(不同类型的数据)、安全性、弹性。


间桐桜のお菓子屋さん