关于亚马逊云科技拓宽我的视野这件事

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:[email protected]
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

关于亚马逊云科技拓宽我的视野这件事

本文关键字:亚马逊、AWS、云科技、云市场、云开发

一、个人经历

之前由于一直在国内工作,所以在使用云资源方面肯定是首选百度云、阿里云、腾讯云、华为云等国内厂商,对AWS并未有太多的接触。从开始工作至今,一晃八个年头,感觉国内外的云服务厂商都在不断的进行革新,推出和丰富了很多的产品,也间接的影响了整个产品生命周期。
目前一直在国际型公司工作,完完全全的使用AWS的产品服务,回顾自己整个的成长历程,感觉有很多可以分享的东西。我经常喜欢举的一个例子是:百度网盘在十年前刚推出的时候名称是百度云,因为在那个时候所提供的云服务以云存储为主,同时也附带一些开发者所需要的服务。在四年之后百度云更名为百度网盘,而百度云则成为更加丰富的云服务产品的代名词。

诚然,这其中有一些业务布局等方方面面的考量,但也可以看出,整个云的发展就是在刷新认知和颠覆中不断前进和成长的。现在谈起云服务,可以说基本涵盖了绝大部份的应用场景解决方案,并且依然在不断的优化和丰富。

1. 产品发布

记得自己最初接触云服务器是在2014年,那个时候使用云服务的目的主要就是为了将产品上线发布,自己当时对Linux也不熟悉,所以使用的是Windows Server 2012,所有的环境构建与项目发布都是手动完成的,对于性能优化方面也没有成熟的可以直接使用的组件。
当时我个人对云服务的认知也只停留在域名解析、云服务器、SSL证书、SMS服务接口等开发者常用的基础服务,主要目的就是将产品发布上线,因为访问量也不大,所以也并不太需要考虑到安全和瓶颈问题,而且当时自己也是一个纯小白,很多问题没有主动去考虑,光是完成手边的工作就已经有些焦头烂额了。

2. 数据分析

又过了不久的时间,大数据在国内开始慢慢崛起,自己也算是搭上了早班车,比较顺利的在大数据开发岗工作。此时的云市场对于大数据集群的解决方案多数是基于CDH的,并且还不是那么完善。接触过大数据生态圈的小伙伴应该都知道,当大的版本更新时,首先需要确认版本的兼容问题,虽然搭建和运行没有什么问题,但是在实际执行计算任务时,保不齐就会踩中什么隐藏的坑。
在那个时候,还是比较信赖已知的版本搭配,基本都是租用云服务器,手动搭建所需要的大数据环境,毕竟很多配置需要手动去修改,对于直接打包成型的云计算环境还是比较保守的。但是那几年也是这类服务迅速发展的时间,到现在很多云服务商也都有了和数据分析或是大数据平台的解决方案。

3. 服务上云

最近几年,云原生的概念越来越火热,伴随着Serverless,很多基于编程语言框架的开发都可以使用函数【如AWS的Lambda、Google的Cloud Functions、微软的Azure Functions】结合其它的云资源完整实现。

目前再去看云市场所提供的产品,除云服务器、云数据库、云存储外,还涵盖了大型企业级项目所需要的云计算、机器学习、大数据集群等各类服务。笔者目前所在的项目完全基于AWS,虽然此前已经有了比较多的云资源使用经验,但是还是存在一些差异,下面就来详细的阐述一下。

二、AWS的体验

最早接触AWS的相关服务,还只是限于自己玩耍的程度,所以并没有感觉有太大的差异,感觉只是产品的叫法不同,实际使用上并没有太大的区别。但是随着在当前项目中使用的深入,Get很多新东西,自己的视野再一次被拓宽,对于很多场景的解决方案再度被丰富。

1. 似曾相识

首先盘点一下那些基本可以无缝衔接的云服务:

  • 基础服务

像是域名、SSL证书这类产品就不需要细说了,使用上基本没有任何差别。对于功能性接口类服务,也只是认证方式上可能有所不同,根据文档中提供的算法或官方SDK就可以很快适应。

  • 云服务器

对于云服务器类产品,主要可以分为云服务器轻量应用服务器。在AWS中,云服务器被称之为EC2,远程连接验证方式稍有不同,轻量应用服务器也有相对应的Lightsail【云项目】,整体的使用区别也不是很大。

扫描二维码关注公众号,回复: 15553224 查看本文章
  • 云数据库

对于关系型数据库【如MySQL、PostgreSQL等】以及内存数据库【如Redis】、缓存服务【ElasticSearch】,在AWS中都有与之对应的Amazon RDS、Amazon MemoryDB for Redis、Amazon ElastiCache,使用流程以及扩容、监控等方面也都比较相似。

  • 对象存储

国内的对象存储一般都会叫做XOS,最前面的X会因为不同的云服务商而有所区别,比如阿里云的OOS、百度云的BOS、腾讯云的COS,以及基于对象存储所派生出来的相关产品,如结合了媒体文件处理功能的数据万象

在AWS中对象存储的产品名称是Amazon S3,个人感觉十分强大,出了满足基本的文件管理、存储、API调用外,还可以作为大数据框架的数据存储位置,如将HBase的存储位置指定为S3的某一路径,不需要对结果数据进行额外的传输。

2. DynamoDB

DynamoDB提供了NoSQL数据库服务,笔者也一直在学习,在日常的开发中也一直在使用。目前是AWS的独有产品,国内的某些云服务商【如阿里云】对此也提供兼容性的解决方案。DynamoDB可以在任何规模下实现个位数毫秒级的性能,并且有以下特点:

DynamoDB可以看作是一种键值数据库,也就是说并不直接支持类似于关系型数据库的关联查询操作,在项目中使用的是另外一种表管理与数据标记模式,适应了之后感觉十分的好用,毕竟完全不用担心性能瓶颈以及扩展性的问题。

3. Amazon EMR

看到EMR产品的时候,真是心中狂喜,直接打包带走,提供了十分丰富的发行版,三个大的发行版emr-4.x、emr-5.x、emr-6.x分别对应不同的Hadoop大版本以及相关组件版本。

对于硬件配置也有多种选择,实例数量也可以方便的指定,大大节省了配置和维护的人力成本,目前并不是所有的国内厂商都提供相关的产品服务。

三、云市场的展望

目前云市场提供的服务几乎贯穿了产品整个的生命周期,包含数据分析、存储、安全、部署、扩容、监控、维护等各个方面,并在在每一个方向都不断的在优化,最后基于这么多年对于云的使用体验来做一个小的展望。

1. 开箱即用

目前对于应用级别的开箱即用已经比较成熟了,对应的产品就是Lightsail【云项目】,并且在不断的丰富。对于大数据平台方面,此前小编体验过阿里云的数加·DataWorks,提供了界面化的、较为完整的数据流控制。

在AWS中也有相应的Amazon EMRAmazon EMR StudioEMR Notebooks等,为大数据平台的部署、开发、测试提供了极大的便利,但是还是希望能够在云计算以及数据分析流程上有更多的成型案例或开箱即用的模板。

2. 无服务器

之前在Serverless刚刚推出的时候就在腾讯云上玩耍了一下,不过只限于Demo。不久之前,实现了一个较为完整的案例,使用Amazon Step Functions、Amazon EventBridge、Amazon Lambda、Amazon API Gateway、Amazon S3、Amazon DynamoDB和Amazon Cognito等服务来支撑一个常见的电商场景。

结合Step Functions中的可视化界面,可以快速的构建出所需要的流程,并方便的进行测试。整个的开发模式是一个新的趋势,但是如果没有这样一个完整的案例,对于个人学习和使用每个组件还是有一些门槛,希望有更多这方面的资源和案例。

3. 云IDE

此前笔者使用过基于华为云的云项目管理,可以实现从项目管理云上测试、安全测试、接口测试的完整流程,也可以部署在私有云。除此之外,近期在CSDN的开发云上也体验了一把云IDE,整体上感觉和VS Code差不多,实际上也可以直接兼容VS Code,对于很多项目都可以直接从仓库导入并且部署预览,进行调试。

当时自己的第一感觉就是:有点东西,但不多。并不是觉得产品不够优秀,而是说还有很多可以做的事情,包括与其它云产品的结合。将开发完全搬到云端还是需要一个过程,在这方面可以再期待一下。

扫描下方二维码,加入CSDN官方粉丝微信群,可以与我直接交流,还有更多福利哦~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u012039040/article/details/131427253