云计算的开发,基于云计算的开发是两个名词,但是核心是:开发。云计算的开发一般是云计算厂商(或选择自己研发云计算的甲方)的工程师,主要是针对云计算内产品的研发工作,聚焦在计算、网络、存储、PaaS等层面。一般SaaS层的开发不称自己是云计算的开发。
基于云计算的开发,和一般的开发没有什么不一样的地方,只不过在开发中需要尽可能的利用好云计算,形成云原生的应用优势。
如果你侧重IaaS层, 则你需要掌握虚拟化的知识,了解目前的vmware\xen和kvm,虚拟化相关关键技术,以及计算资源调度技术。如果你要涉及存储领域,则需要掌握的相关技术更多。
如果你侧重PaaS层,则你需要根据你的应用场景,掌握平台的架构、开放的能力有哪些、如何进行开放等。
如果你侧重SaaS层,则你只需要关注用户需求,考虑如何来实现软件的多租户和管理。
虚拟化,虚拟化技术是云计算基础架构的基石。分布式计算,谷歌提出了并行编程模型MapReduce,它允许开发者在不具备并行开发经验的前提下,也能够开发出分布式的并行程序,并让其同时运行在数百台机器上,在短时间内完成海量数据的计算。
分布式存储,GFS是谷歌推出的一款分布式文件系统,GFS具有很好的硬件容错性,可以把数据存储到成百上千台服务器上面,并在硬件出错的情况下尽量保证数据的完整性。
容器某种程度上不称之为云计算。DevOps很核心的一部分,是运维人员可以用代码的方式来做自动化运维工作。因此DevOps(Docker、K8S)的从业人员需要有开发能力,本质上是用开发的能力解决运维工作。
如果是走DevOps道路,建议是先学习运维的基本知识,当然从云计算的运维开始学问题也不大。这个学习过程最好不要考虑容器等方面,而是学习经典和传统的运维知识。在此之后,学着用DevOps的方式去解决传统运维问题。
原文地址:https://blog.51cto.com/14214237/2395904