小白自学云服务简单粗暴部署小app
云服务,云计算,cloud computing……这些词汇听起来好像很高级……
其实只要明白云服务基本概念后,小白也能按几个按钮(全程无代码),把自己做的小app部署到传说中的云上……
为什么小白需要学习云服务?
小白欠缺服务器知识,欠缺linux等操作系统基础知识……想要上线网站,app之类的……一堆专业名词就冒出来了,听不懂……亲自操刀从0开始好像有点不现实。
但是有了现代化的亲民云技术,知识有欠缺的小白也能点几个按钮,发布一个听起来很高级的云app,全程简单粗暴又迅速还很省钱。
所以云是一项对小白非常友好的技术,有兴趣一定要学起来。
简单粗暴云服务教程内容简介:
第一章:什么是云?
第二章:主流云服务厂商
第三章:PaaS级实战部署云App到Azure
第四章:IaaS级实战部署云App到Azure(选学)
(第三章加粗,说明第三章是教学重点。没碰过代码小白弄懂第三章就是里程碑式成功。能弄懂第四章,代表立地成佛修仙成功)
什么叫简单粗暴?
简单粗暴就是,头一天才初学代码,第二天就引入GraphQL概念,第三天就开始上手Vue了……
云app教学文继续走这种简单粗暴速成路线,第一天才知道什么是云,第二天就去Azure实战了,第三天虚拟机等选学内容也加入了……
不过我觉得云教学算中度简单粗暴,还是可以接受的(看看结束时的效果吧🤣)。
铺垫完毕后,简单粗暴的教程正式开始。
第一章:什么是云?
弄懂什么是云,需要先弄懂什么是服务器。
1.1 服务器
简单理解,就是一台比你现在用来打字、在马特市发文更高级的电脑。
为什么服务器要比你用来打字发文的电脑高级?
——因为服务器不是给你一个人用的。
如图所示,只要大家有网,就可以用电脑、手机……各种设备向服务器索要服务。服务包括:打开XX网页,下载XX电影,下单XX团购……
大家都通过互联网来获取服务,服务器是不是很忙?想象一下你在电脑打开1000个word文档后,电脑死机了的情形。
大家都来找服务器要服务,服务器也会死。例如:某明星开演唱会,粉丝上网疯狂抢票……造成服务器瘫痪……
所以服务器需要比我们平常用来上网打游戏的电脑配备更高级的物理硬件:比如内存,比如CPU……
基于这个原因,我们把专门用于提供服务的高级电脑统称为服务器,有别于大家平常上网打游戏使用的家用电脑。
1.2 云
如果我们把很多很多很多服务器集结在一起,这一大堆服务器就成了一朵云。集结成云的服务器提供的服务,就是云服务。
所以云服务并不是当你需要服务时,一朵云就飘来你头上了……云是一种比喻说法😬。
简单理解,云服务就是一大推大型服务器集结在一起,为用户提供更高更快更强的服务(奥运会口号)。
现实中,放云服务的地方就是个data center——大型机房。机房全天7/24开着,还有保安巡逻,防止机器被盗,机器断电之类发生……
第二章:主流云服务厂商
一台服务器的硬件就比普通家用电脑贵很多,而云服务需要很多大型服务器在一起。所以提供云服务的商家是不是需要雄厚的资本,才买得起那么多服务器??
是的,那些耳熟能详的云服务供应商都是巨头。
国内主流选项:
阿里云——阿里巴巴 腾讯云——腾讯
国外主流选项:
AWS(Amazon Web Service)——亚马逊 Azure(蔚蓝)——微软
2.1 云服务原理
别看提供云服务的平台这么多,其实原理都差不多……简单粗暴的核心就是——只要搞懂一种,就可以去各种大厂平台部署云app。
什么是简单粗暴的核心?
简单粗暴的代码核心就是:只要搞懂了一种代码,我们就会了所有代码。因为我们发现代码们都有似曾相识的变量、方法、循环、if-else判断、object、加减乘除运算……
简单粗暴的框架核心就是:只要搞懂了一种框架,我们又会了所有框架。因为我们发现框架们都有似曾相识的module、View、controller、model、绑定……
同理,简单粗暴的云核心就是:只要搞懂了一家大厂的云服务,我们就会去所有云服务平台发布小小app自娱自乐玩玩了……
云服务的核心是什么?
云服务的核心就是搞懂下面这张图,能够区分三个*aaS。
2.1.1 SaaS:Software as a Service
平常我们去XX平台XX网站下载的软件/应用就属于SaaS。
这一级别里,我们就是一纯用户,只需要会使用软件,其他一切都由服务提供者包干。
比如word文档,安装一个word到电脑,只需要会打字就行了。word开发、设计、升级……都由微软包干。
2.1.2 PaaS:Platform as a Service
平常我们说的我想做个XX网站XX博客XX应用,然后亲戚朋友都能来访问我的XX网站XX博客XX应用,属于PaaS级别。
在这个级别里,你自己负责网站代码、内容、数据、更新、推广……某一天朋友打电话说你网站图片放错了,你需要自己去修改……
而那个托管你网站的平台,负责提供让你做的网站可以跑起来让亲朋好友可以看到。你在有限的平台空间里,自己爱咋折腾咋折腾;至于这个平台需要什么技术让你的网站可以跑起来被别人看到,你不用管。
2.1.3 IaaS:Infrastructure as a Service
这个级别日常生活场景比较少。该级别和PaaS级最大的区别就是,你有了对操作系统、工具的管理和控制……除了服务器硬件设备不用你管,其他都需要你负责……
如果你曾经使用过虚拟机(Virtual Machine),简单理解IaaS和PaaS的区别就是:IaaS有虚拟机,PaaS无虚拟机……
2.1.4 On-Site
这就是传说中全部归你管,这个级别你需要拥有全方位知识,除了会写代码,搞数据库,管虚拟机,管network,还要管硬件……
虽然你拥有了全方位控制,限制少了,彻底自由了,但是花费也随之上涨了……
2.2 弄懂概念之Pizza终极类比图
鉴于小白对于虚拟机、操作系统、network等概念的印象,还比较抽象,于是引进著名的披萨类比图。
On-site:自己拥有厨房买面粉做披萨,自己动手丰衣足食;
IaaS:租一个厨房,自备食材做DIY披萨;
PaaS:做披萨需要的材料已经备齐了,随意组装烘烤即可;
SaaS:进披萨店对着菜单点,小二端上桌。
2.3 所以小白做app需要选择哪种服务?
弄懂On-site——IaaS——PaaS——SaaS的区别后,我们发现平常口中说的做一个自己网站、博客、app……即云服务中的PaaS。
所以本教程的目标就是帮助小白从SaaS级进阶到PaaS级。
只是升了一个级而已,所以还是非常简单粗暴的。
常见的云服务平台们,主要提供就是IaaS级和PaaS级服务。如上图所示,每个级别对应的技术人员支持也写出来了……
对于前不久才上W3C自学HTML的小白来说,PaaS这种只需要搞几个代码就可以跑个小小app的服务是不是最友好最经济最亲民?
搞懂理论基础和云服务级别后,明天我们就去Azure实战PaaS。