初入云端:大赛启幕与云架构初相识
九月的风卷着香樟树的碎叶扫过明德中学的布告栏时,林小夏正举着手机拍自己刚贴好的动漫社招新海报,镜头晃过角落一张印着烫金云纹的红色通知,她下意识按下了录制键。通知上的大字在午后的阳光下亮得晃眼:「第三届全国青少年云端创造大赛启动——以「智慧校园」为主题,设计面向K12阶段的校园综合服务平台,一等奖5000元奖金+云厂商总部参访机会,所有参赛团队可免费获得云服务资源包。」 “陈默!苏晓!快过来!”林小夏举着手机蹦到正凑在布告栏前看科技社招新启事的两人面前,把镜头怼到通知上,“咱们之前不是说要做个校园二手交易的小程序吗?这不正好撞上了?” 戴黑框眼镜的陈默推了推眼镜,指尖无意识摩挲着口袋里装着树莓派的金属外壳:“云?不就是百度网盘那种存照片、存视频的东西吗?跟做小程序有什么关系?” 梳着低马尾的苏晓皱起眉,指尖敲了敲通知上的「云计算」三个字:“我上周听信息课王老师提过,云计算可比网盘复杂多了,好像是跟远程服务器、分布式系统有关的,咱们信息课的机房的服务器之前崩过一次,全校的信息课停了一周,是不是跟云计算有关?” 三人正争论着,身后传来熟悉的笑声:“你们对云计算的印象还停留在「大号网盘」的阶段呀?” 来人是明德中学的信息技术老师王磊,也是学校科技社的指导老师,他手里拿着刚打印好的大赛细则,笑着晃了晃:“正好我给你们讲个「云端小镇」的故事,听完你们就全懂了。”
---
云端小镇:云架构的三层逻辑
“你们先想这样一个场景:咱们学校旁边要开一个面向全市中学生的共享学习空间,需要做什么?”王老师蹲下来,跟三个学生的视线齐平,“首先要买一块至少500平的地皮,然后通水电、装千兆宽带,买50套桌椅、50台电脑、投影仪、打印机,还要雇人每天打扫卫生、维护设备、修坏了的电脑,前前后后至少要投入五六十万,还不一定能招到足够的学生来付费,风险特别大。” 林小夏听得直吐舌头:“这也太麻烦了吧?要是投了钱没人来,岂不是亏死了?” “所以这时候「云端小镇」就出现了。”王老师笑着比划着,“小镇的开发者已经把地买好了,水电宽带都通到了每一块待租的空地,还提供了设备租赁、保洁、维修的全套服务,你只要付少量的租金,就能直接拎包开业,不用管地皮、水电、设备维护这些麻烦事,赚了钱再按使用量付服务费,亏了最多损失点租金,不用承担大额投入的风险。” “这个「云端小镇」就是云计算的具象化模型,而我们常说的云架构,就是给小镇做分层规划,让不同的租户能各取所需,不用重复建设。”王老师站起身,从包里掏出平板,调出一张三层架构图,“整个云服务分成三层,对应小镇的三个服务模块,我们一个个来看。”
第一层:基础设施即服务(IaaS, Infrastructure as a Service)
“小镇最基础的服务就是地皮和基础设施租赁:你只要告诉小镇你需要多大的地,需要多少水电、宽带,小镇就会把对应的地块划给你,通好水电宽带,剩下的怎么建房子、怎么装修、怎么用,都是你自己的事,按你租的地块大小、用水用电量、宽带带宽付费,用多少付多少,不用买地
“不用买地皮、不用雇人维护设备,按你租的服务器配置、运行时长、用的流量付费,用多少付多少,哪怕你只租一小时跑个程序,也只要付一小时的租金,不用花几万块买整台服务器放家里占地方。”王老师点了点平板上的IaaS模块,指尖在“云服务器ECS”的选项上敲了敲,“这个就是基础设施即服务,英文是 Infrastructure as a Service,简称IaaS,对应云端小镇的地皮+基础设施租赁服务。你们平时接触的云服务器、云存储、云网络,都属于IaaS的范畴。”
陈默的眼睛一下子亮了,他上周刚用树莓派搭了个智能垃圾桶的模型,想跑YOLO目标识别模型识别塑料瓶,结果树莓派的算力不够,跑了三天还没出结果,要是租云服务器的话:“我之前参加机器人竞赛,需要跑深度学习模型训练避障算法,自己买GPU显卡要一万多,我妈不同意,后来我查了,租云厂商的IaaS GPU实例,一小时才2块钱,跑了20小时只花了40块,就训好了模型,拿了市二等奖!原来这就是IaaS啊!” “没错!”王老师笑着点头,“IaaS的核心就是「租硬件」,你不用买服务器、不用管机房制冷、不用担心硬盘坏了数据丢,云厂商都给你搞定,你只要远程登录到租的服务器上,想装什么系统、想跑什么程序都行,完全自由。比如你们学校之前信息课机房崩了停了一周,就是当时只有一台物理服务器,选课的时候3000个学生同时访问,扛不住就崩了。要是用IaaS的话,平时上课用2台服务器,选课高峰期自动加到10台,放假了关掉8台,只花平时的钱,绝对不会崩。” 林小夏听得直点头:“那是不是开Minecraft联机服务器也可以用这个?我之前想和朋友开服务器,我爸不同意买新电脑,说24小时开着费电,要是租云服务器的话,一个月才几十块?” “聪明!”王老师打了个响指,“很多同学都这么做,租个IaaS实例当游戏服务器,比用自己的电脑稳定多了,还能加模组,支持几十个人同时联机,玩完就关,非常划算。现在国内主流的IaaS厂商有阿里云、腾讯云、华为云,国外的有AWS、Google Cloud,学生认证的话都有优惠,一个月十几块钱就能租到够用的配置。”
讲完IaaS,王老师翻到下一页的PaaS模块,继续用云端小镇的类比:“那如果你连装修、买设备、装系统都懒得弄呢?比如你完全不会装修,也不知道买什么样的操作台、冷藏柜适合做奶茶,怎么办?小镇还有第二种服务:平台即服务,英文是 Platform as a Service,简称PaaS。相当于小镇已经给你建好了带装修、带操作台、带冷藏柜、连配方都给你配好的奶茶店,你只要带点原料过来,就能直接开门卖奶茶,不用管装修、买设备、接水电这些事,按你卖出的奶茶数量付费,卖得多付得多,卖得少付得少。” 苏晓眼睛一亮,她之前帮班里做选课统计的小工具,本来想自己买服务器搭环境,结果研究了三天都没配好数据库,最后不了了之:“那是不是做小程序、做网站也可以用这个?我之前想给班级做个作业提交的小程序,要自己搭服务器、装数据库、配运行环境,搞了三天都没搞成,用PaaS的话是不是就不用管这些了?” “完全正确!”王老师调出微信云开发的界面给三人看,“比如这个微信云开发,就是典型的PaaS产品,你只要会写代码,直接把代码传上去,平台自动给你分配服务器、数据库、存储空间,还帮你做好安全防护、自动扩容,你只要专注做功能就行。哪怕你的小程序突然火了,一天有几万人访问,平台也会自动给你加服务器,不会崩,不用你手动去操作。还有阿里云函数计算、Heroku、Google App Engine,都是常用的PaaS平台,很多创业公司初期都用PaaS,不用雇运维团队,省了好多成本。” 林小夏之前帮动漫社做招新的H5页面,之前自己买域名、买服务器、配环境,花了好几天还经常出问题,听了王老师的话赶紧问:“那做H5页面也可以用吗?我之前做个动漫社招新的H5,传个图片就崩,还要自己修服务器,烦都烦死了。” “当然可以!”王老师笑着点头,“很多PaaS平台都有一键部署H5、网站的功能,你只要上传做好的页面,10分钟就能上线,自动分配域名,不用管运维,还有免费的CDN加速,就算几百个人同时访问也不会卡。你们之后做大赛作品,完全可以用PaaS来开发,省好多时间做功能。”
“那有没有更省事的?”林小夏好奇心起来了,“要是连代码都不会写,能不能直接用现成的?” 王老师笑着翻到最后一页的SaaS模块:“当然有,这就是第三种服务:软件即服务,英文是 Software as a Service,简称SaaS。相当于小镇已经开好了一家装修精美、产品齐全的奶茶店,你连原料都不用带,直接过来付钱就能喝到现成的奶茶,想喝什么口味直接点,不用自己动手做,按你喝的数量付费。” “这个我熟!”苏晓赶紧接话,“我之前当班长收集全班的疫苗接种信息,之前要发几十个Excel文件,一个个汇总,经常漏信息,后来用问卷星,发个链接大家在线填,自动就汇总成表格了,半小时就搞定,根本不用自己开发,这个就是SaaS吧?” “没错!”王老师打了个响指,“你们平时用的企业微信、钉钉、腾讯会议、石墨文档、Canva可画、问卷星,这些都是SaaS产品,不用自己开发、不用自己维护,注册个账号就能用,按使用人数或者功能付费。比如学校开线上家长会,直接用腾讯会议,能支持几百人同时在线,还有录播、签到、 breakout room 功能,不用学校自己搭直播服务器,省了好多事。甚至你们平时刷的短视频APP、玩的在线游戏,背后都有SaaS的影子,比如游戏的用户系统、支付系统,很多都是用第三方SaaS做的,不用自己开发。” 陈默听得入了神,他之前想给科技社做个报名系统,本来打算自己写代码,现在看来直接用SaaS的工具就行:“那这么说,大部分日常需求用SaaS就能搞定,只有需要定制化功能的时候才用PaaS,需要完全自定义环境的时候才用IaaS?” “你总结得太对了!”王老师赞许地点头,调出一张三层架构的对比图,刚好用Mermaid渲染出来,清晰明了: ```mermaid graph TD A[云端服务三层架构] --> B[IaaS 基础设施即服务<br>Infrastructure as a Service] A --> C[PaaS 平台即服务<br>Platform as a Service] A --> D[SaaS 软件即服务<br>Software as a Service] B --> B1[类比:租地皮+通水电<br>校园案例:租云GPU跑AI模型、租游戏服务器] B --> B2[你负责:操作系统、应用、数据<br>云厂商负责:硬件、网络、机房、硬件维护] C --> C1[类比:租带装修的店铺<br>校园案例:用云开发做小程序、一键部署网站] C --> C2[你负责:应用代码、数据<br>云厂商负责:硬件、网络、运行环境、运维、扩容] D --> D1[类比:直接进店消费<br>校园案例:用企业微信/腾讯会议/问卷星] D --> D2[你负责:使用软件、输入数据<br>云厂商负责:所有开发、运维、更新工作] ``` “很多人一开始会搞混这三者的区别,其实用个很简单的例子就能记住:”王老师