My Github

你必须知道的云计算知识(下)

最近订阅学习了《深入浅出云计算》专栏,一口气学完之后,做了一些总结笔记形成此文,特分享与你,希望对你有所帮助!本文为下半部分,主要总结了PaaS篇的核心要点。

一、PaaS篇

1、正确评估和理解PaaS

  PaaS的核心概念是Platform-as-a-Service,即云计算提供的平台类服务。它是抽象和可复用的单元,让用户将更多精力放在业务逻辑上。

  PaaS的核心优势在于生产力/效率,尤其体现在搭建和运维层面。

  怎样学习和研究PaaS呢?可以参照以下几个维度:

  (1)第一维度:服务是否带有内生的运行环境;

  (2)第二维度:PaaS服务存在的位置和范围及给予你的控制粒度;

  (3)第三维度:服务是否是“有状态的”;

  (4)第四维度:支持PaaS的虚拟机是否对外暴露;

  怎样衡量和评估PaaS呢?由于PaaS的核心在于封装既带来了效率优势也带来了灵活性上的牺牲,因此我们需要检查PaaS服务的限制,它们有:功能屏蔽、版本选择、性能极限、更新频率、版本陷阱;

  此外,当云上官方的PaaS不满足需求时也可以考虑第三方PaaS

2、对象存储服务

  对象存储的主要功能:它是云上创建的一种“网盘”,可以存储任意结构化的和非结构化的二进制文件,用户可以随时上传下载、修改删除。对象存储服务保证了数据的可靠性、可用性和扩展性。

  对象存储和云硬盘的区别:

  (1)访问的接口和形式不同 => 云硬盘作为虚拟机的块存储设备而存在,对象存储本质是一个网络化的服务;

  (2)对象存储内本身不存在一个真正的文件系统,它是一个键值形式的存储服务;

  (3)对象存储的巨大容量,能够轻松容纳PB级的大容量数据;

  对象存储的高级特性:

  (1)存储分层 => 设置访问频率从高频到低频等不同的存储级别;

  (2)生命周期管理 => 允许设置一定的过期规则,自动执行一些清理操作;

  (3)对象的版本管理 => 启用此特性会自动记录版本号以便进行回滚和恢复;

  总的来说,对象存储的应用场景就是一切需要保存数据的地方

3、应用托管服务

正确理解应用托管服务

  应用托管服务本质是为应用提供一个隔离的独立运行环境,让用户只专注于业务逻辑而无须关注运维。

  目前主流云厂商的该项服务的产品有:AWS ElasticBeanstalk、阿里云Web应用托管服务(Web+)、Azure应用服务(Azure App Service)。

应用托管的增值服务

  (1)监控:针对Web应用的特点而进行的HTTP层面的监控,基于这些监控指标可以指定相应的报警规则;

  (2)扩展:既包含了底层机器配置的垂直扩展,也包含了机器数量层面的水平扩展;

  (3)集成:与其他PaaS服务的集成很方便,与云上DevOps组件和流程的无缝对接;

4、云上数据库服务

理解数据库服务

  数据库PaaS服务是将数据库服务搬到云上,让用户更方便轻松地使用、管理和维护数据库

  数据库PaaS服务和传统关系型数据库的共同点:外部交互层面,保持了和原版数据库几乎一致的编程接口和使用体验。

  和传统关系型数据库的差异点:搭建、运维和管理层面实现了相当程度的智能化和自动化,极大提升用户友好度,降低使用门槛。

  云上数据库最具代表的高级特性:

  (1)支持读写分离 => 只需在后台略加操作配置即可完成;

  (2)支持自动调优 => 自带有性能分析和改进模块帮助发现性能热点;

新一代云原生数据库

  目前主流云原生数据库产品有:AWS Aurora、阿里云 PolarDB、Azure Cosmos DB;

  目前云原生数据库的特点:

  (1)更强的可扩展性 => 存储规模和算力;

  (2)更高的可用性和可靠性 => 默认多副本高可用;

  (3)支持多种数据模型 => 兼容关系型与NoSQL;

  (4)低成本启动 => 自然地跟随业务增长,经济适用;

数据库服务为何能不断占领市场

  除了上面提到的易用性和丰富功能性外,云厂商能够端到端地掌控影响一个数据库的设计和性能的所有因素,为它配备了最新最好的软硬件组合。

  借助云计算平台,云数据库拥有非常好的流量入口,Gartner甚至大胆预测到2023年全球3/4的数据库都会跑在云上

使用云数据库的建议

  如果是老的应用迁移/与自建数据库保持高度兼容性的场合 => 使用经典RDS服务

  如果应用场景中数据量大、性能要求高/没有历史负担 => 直接考虑云原生数据库服务

5、云上大数据服务

理解云上大数据服务

  大数据是技术手段,而云是一种资源和能力的载体!如果云是一艘航母,是一个大型综合作战品台,那大数据就好比战斗机,在航母上就是舰载机。

云上大数据的特点

  (1)简单易用,方便管理:大大降低了学习和应用大数据技术的门槛

  (2)尽可能的保证了兼容性:和熟知的大数据技术别无他样

  (3)解耦了大数据架构中的计算和存储:存储端一般优先选择对象存储,计算端集群可以动态地创建和销毁

  (4)提供了很多增值服务:如性能监控、Jupyter Notebook等;

主流云厂商的大数据服务

  (1)大数据计算:AWS EMR、阿里云 MaxCompute / E-MapReduce、Azure HDInsight

  (2)大数据存储:AWS S3(EMRFS)、阿里云 OSS / JindoFS、Azure Blob Storage / Data Lake Storage Gen2

 基于阿里云MaxCompute的日志大数据分析案例

6、云上容器服务

容器和云的关系

  一方面,容器和云是相辅相成的:云承载着容器的运行,容器生态也驱动着云的发展。

  另一方面,容器与云厂商力推的一些云服务存在竞争和替代关系:其实部分PaaS服务也可以使用IaaS服务来实现,又如Google积极创立和发展CNCF推动容器应用标准化。

云上Kubernetes服务的特点

  (1)云端的多租户特性,可以免除在Master节点方面的开销;

  (2)云厂商做了很多工作,使得K8s可以和IaaS/PaaS组件有很好的的集成;

  (3)易部署多集群,保证不同的集群有更好的隔离性;

 腾讯云TKE产品架构

云上容器镜像服务

  云厂商都提供了自己的容器镜像服务,如AWS ECR、Azure ACR等。

 腾讯云容器镜像服务助力实现容器持续部署

全托管容器实例服务

  “全托管”思想在容器服务商的体现有以下几个点:

  (1)不用关心底层基础设施;

  (2)AWS Fargate、阿里云弹性容器实例等;

  (3)适合有容器镜像且想要尽快在云上跑起来的场景;

 Azure Container Instance容器实例服务创建容器实例

7、无服务器计算服务

理解无服务器计算

  无服务器:“无服务器”是云计算中资源抽象的极致体现,用户感觉不到服务器的存在,可以专注于业务逻辑而不再关心基础设施;

  无服务器计算服务:完全屏蔽计算资源,引导不再关心底层环境,主流的无服务器计算服务有AWS Lambda、阿里云函数计算 以及 Azure Functions。

无服务器计算的计费机制

  两个指标:调用次数 和 调用时长。

  适合场景:偶尔触发、短时间运行的工作。

无服务器计算是多面手

  (1)事件模型是无服务器的核心编程模型和运行逻辑;

  (2)云上Serverless服务一般都配套提供了多种多样的触发器;

  (3)多样的外部交互方式也让无服务器计算能够对外访问,并向下游输出;

  (4)以工作流的方式进行云函数等事件处理单元的组合和编排;

无服务器计算服务的限制

  无服务器计算服务的主要限制还是在于它是一个受限的环境,比如:冷启动的延时、内存的限制、云函数的运行时长、并发数上限等等。

8、云上AI服务

开箱即用的API服务

  这类服务将非结构化数据处理分析的通用需求场景,进行了封装和开放。非结构化数据包括:图像、视频、语音、文本等等。

  我们可以通过云端标准的API和SDK来进行调用,一般按调用次数进行收费。

  现在各领域的AI服务有:

  (1)计算机视觉:人脸识别、物体检测、OCR、安全扫描等;

  (2)自然语言处理:机器翻译、文本分析等;

  (3)语音类智能服务:语音识别、语音合成等;

  (4)视频类智能服务:视频分析、用户内容审查等;

 百度云图片识别服务识别到花瓶和水杯

构建自己的AI模型

  实际应用中,很多企业都需要按照特定的需求来构建自己的定制模型,是普遍而常见的场景。

  因此,云厂商开始提供帮助用户构建AI模型的基础设施服务:

  (1)主流的产品有:AWS SageMaker、Azure Machine Learning 以及 阿里云机器学习平台PAI;

  (2)适合的对象由:数据科学家、算法工程师;

  此外,云上机器学习服务可以帮助进行贯穿生命周期的模型构建和管理:

  (1)数据准备:集成了数据标注相关的功能简化操作难度;

  (2)模型训练:内置常见机器学习和深度学习算法 以及 也兼容开源的机器学习和深度学习框架;

  (3)模型发布和部署:简化了模型部署和推理调用操作难度;

 百度云EasyDL定制化图像识别模型训练报告

二、结束语

1、再看云计算

  (1)云计算是一个载体平台,承载着从IaaS到PaaS林林总总的能力;

  (2)每项能力中既包含了资源,也体现了技术,并且以产品服务的形态开放;

  (3)云的承载性是云得以包罗万象,并且与时俱进的根本原因;

2、云原生的本质

  (1)云原生的本质是用于构建现代云端应用的一系列架构理念,以及帮助这些理念落地的技术支撑最佳实践;

  (2)云原生的核心理念包括无状态、分布式、服务化、弹性扩展等等;

  (3)云原生的狭义的定义:特指容器化、容器编排和微服务架构,此外云厂商在宣传K8s服务和产品时所说的“云原生”;

  (4)云原生的广义视角:只要是适合在云上运行,具备和符合云上架构特点的应用,都可以说是属于“云原生”范畴

3、面向未来的建议

  (1)跟随云的发展脚步来不断提升自己:比如考取云厂商的认证(比如阿里云ACP认证)、参加云计算大会、积极参与云生态等;

  (2)用云来构建和开展你的业务:让云在手中发挥最大的作用和价值,抓住机会上云用效率赢取竞争优势;

推荐考取阿里云ACP认证(考证不是主要目的)

三、脑图分享

点此查看完整脑图

参考资料

何恺铎,极客时间《深入浅出云计算》专栏(推荐订阅学习

 

 

posted @ 2020-06-15 09:03  EdisonZhou  阅读(1372)  评论(1编辑  收藏  举报