coursera-cloud-computing-specialization

两个月前,机缘巧合之下看到了Coursera上的专项付费系列:云计算 专项。这个系列包含六门课程,主要是讲解了云计算的基础概念,理论,实现和应用。如果你有志于云计算/分布式开发,而且有一定的编程经验(C++与Python),这个系列的课程很适合你。至于我,其实已经从业五年了,重新夯实基础,补齐理论知识是我的主要目的。这个课程的编程题都不难,写的水一些,不用太考虑完美,都能拿到(编程题部分的)满分。

学了一个月多,快把这六门课都学完了,在此记录一下自己的心得体会。

第一课 云计算基础 1

课程链接:基础1

得分:92.4

介绍:第一课的内容偏概念和介绍比较多,比较教科书。内容包括云计算相关的名词概念介绍,MapReduce范式,Gossip协议,P2P DHT理论,CAP理论,分布式时序,分布式一致性算法Paxos。

评价:整体而言,这门课的信息量还是有点大的,基本上把云计算的传统概念都包圆了,课中和课后习题也会对讲解的理论进行测验;需要好好记笔记,不然课后习题会挂(Coursera可以允许反复做题取最高分,我当初就是不知道有这个机制,不然也不会这么低分😢)。这门课的额外阅读材料都是可选的,如果没用过Hadoop/Spakr/Zookeeper之类的分布式应用,还是看一下这些项目的介绍和原理比较好。这门课最后还有一个大作业,用C++实现一个Gossip协议,不用操心网络层和应用层,填充部分代码实现中间Gossip协议就行。参考Gossip简介,更容易理解一些。

第二课 云计算基础 2

课程链接:基础2

得分:95.8

介绍:第二课延续第一课,继续讲解云计算领域的算法理论与工程实践,包括选主与互斥算法,并发控制与复制控制,新兴分布式领域:流式处理与图计算,经典分布式系统:共享文件系统与共享内存,现实云计算的挑战

评价:这门课除了补充上节课剩余的理论算法相关知识以外,还着重介绍了云计算的实际应用:传统分布式系统和新兴流处理与图计算,有兴趣的可以自行深入挖掘。可惜没有对Flink的介绍。最后的大作业是实现一个分布式KV存储,主要是通过一致性哈希解决冗余备份的问题即可

第三课 云计算应用 1

课程链接:应用1

得分:95.8

介绍:这门课主要介绍了云计算的基础理论和底层虚拟化技术,接口协议,以及云存储的各种优劣

评价:由于我有过虚拟化和云运维的经验,因此这门课难度相对来说比较小,基本上作用就是用来印证一下自己的过往经验是否存在偏差。这门课对于各种云存储的优劣对比,相对还是比较有用的,可以作为一个独立的调研报告了😏

第四课 云计算应用 2

课程链接:应用2

得分:97.5

介绍:这门课着重介绍了Spark计算与HBASE分布式存储设计以及图计算/机器学习相关的Demo实践

评价:如果说上门课和底层技术相关,这门课就是和云计算应用层相关了。除了对HBase的原理性介绍,主要介绍了如何使用Spark完成计算任务,以及各种技术栈在流式处理与图计算中的应用。大数据工程师值得学一下。这两门课都没有大作业

第五课 云端计算

课程链接:云网络

得分:95.4

介绍:主要介绍了云计算系统中的网络挑战,机房内,跨机房以及面向终端用户不同场景下的网络设计

评价:说实话,这门课有好有坏。好的地方是,云端网络是一个很大的课题,可以包容很多的内容进来,这门课也确实做到了这点,仔细的讲解了机房内部,机房间,机房与用户间不同场景下的流量特点,网络挑战与解决方案,对SDN,CDN,TCP优化,新兴网络协议都有进行深入的阐述,收获满满。但是,课程附带的大作业就相对比较水了,在一个安装了OpenFlow的虚拟机中实现一个简单的流量控制逻辑,简单的不能再简单了,水的不能再水了。

第六课 云计算项目实践

课程链接:项目实践

得分:Nan

介绍:没有介绍新内容,主要是项目实践。这门课首先需要在AWS上申请AWS Educate(一直没批下来),然后要在8月份才开课,主要项目实践内容是分别通过MapReduce与Spark两种方式,针对一个大数据集进行分析,回答一系列指定问题。

评价:运气不好,没赶上上一拨开课流程,这一拨得等到8月份了。要回答的问题虽然比较多,但是都有答案。作业形式是实验报告,得分主要看同学互评,放轻松一些

反思

两年前刚接触AWS以及相关的云计算概念的时候,那时候如果能学到这门课程对我的帮助会是最大的。可惜并没有,走了不少弯路,后来才慢慢云开雾明。这也说明了,掌握正确的学习方式和有领路人的重要性。在崭新的陌生领域,一个提纲挈领的入门教学的指导作用是巨大的,谨记。