为何说初学者都需要一台云服务器?在云计算来临之前,独立开发者犹如是原始的猎人,斧头、匕首、捕兽网等等都需要自己去制造。那时,成为一名猎人需要很高的水准,正如那时候的开发者,从基础设施到软件架构,都需要通晓,才能称得上是一名合格的工程师。
无形之中,这增加了初学者的学习成本,假如你自己开发了一个网站,想要分享到互联网上,如果你是学生,或许可以向老师申请使用学校的服务器,如果你已经毕业,那么无疑需要支付高昂的服务器租赁或者购买费用。
而后云计算到来了,首先进入市场的是IaaS(基础设施即服务),紧随其后的是PaaS、SaaS。到如今,FaaS,CaaS层出不穷。从最初的亚马逊云,国内的大鲸vps、腾讯云这些巨头也迅即加入市场。
这么多*aaS,到底是什么意思?aaS是as a service。用通俗但粗糙的比喻来解释吧,IaaS就是服务商给你提供了一个厨房,你需要自己搭建灶台(搭建环境),准备厨具(配置),烹调食物(开发);而PaaS相当于已经按照你的需求将厨房完全布置好,只需要你来烹饪即可(开发);PaaS就更方便啦,只要你提供食材,都不需要自己烹调,直接就能享用美味。
那么有人会觉得,服务这么完善,大家都用PaaS得了,岂不美哉!但是作为开发者,高度封装的东西其实是不利于学习和进步的,比如有的人框架会用,但是却不知道框架背后的机制,一出问题,束手无策,这样发展下去,只能成为“码工”。有的人能够研究开源框架,在此基础上做二次开发,然后运用到适合自己需要的场景中去,这样的开发者能称得上“大牛”。
说了这么多,回到主题:为什么初学者需要一台云服务器(IaaS)?
从我自己那仅有的一点经验来看,重点无非这一个词:实践。细数一下初学者拥有一台云服务器的好处:学习操作系统、熟悉环境大部分初学者在本地使用的是windows系统,在操作系统界,windows确实有其独到的优势,但是大多数的软件服务都是部署在Linux系统上,如果一点儿都不懂Linux,说自己是开发人员,还真的是有点羞愧的。那怎么办?学就完事儿了,在云服务器上,想怎么玩儿就怎么玩儿,搞崩了的话,镜像都给你准备好了,直接一键重装,继续搞,也不心疼。
Linux这么多发行版,都有哪些不同呢?自己都装了试试,看十次说不定抵不过自己玩儿一次。还有一些小软件开发完成在本地调试了没啥问题,上线试试?说不定仍有一些问题需要你去解决,而这些都是实际的开发经验。
部署自己的应用
将自己的应用部署在线上给大家使用,算得上是一位开发者最有成就感的事情之一。
而云服务器可以给你这样的条件,可以从几个小页面做起,可以部署自己的博客(能用自己的域名访问博客,似乎比使用第三方平台逼格要高那么一点),然后再学习一下试试微信公众号的服务开发?做一个简易的机器人小秘书等等。再往后可以找几个小伙伴合作开发软件,后台部署在云主机上提供服务等。学技术本身就是属于一件较为枯燥的事情,如果能有这些乐趣给自己反馈,相信能获得继续走下去的动力。
或者写几个多线程爬虫,抓取一些你感兴趣的东西,比如全校学生的学生证照片?再或者其他的一些资源(自己发挥想象)?在云主机上跑个几天几夜,自己则可以溜了玩去了。
学习新东西
技术层出不穷的同时也历久弥新,对于我不懂的知识,那都属于新东西。我个人喜欢一遍实作一边学习,比如作为程序员,真的vim或emacs需要学习练练,将他转化为自己手指的一部分,那将受益无穷啊。
学习分布式?那前提总该是有一个小规模的集群使用吧,前几天,我就在我的云主机上搭了个伪分布式的Hadoop来学习,为什么搭建伪分布式的?因为我只有两台云主机,所以这次双十一,准备再购入一台大鲸vps主机