我们先来看看什么是App Engine:
2008年,Google在Campfire One上介绍了一种简化创建、运行和构建伸缩性Web应用的工具——Google App Engine。简而言之,Google App Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。
用户不用关注linux、系统、网络等概念,只要上传php,即可发布自己的博客、应用等,十分方便。
(如果你看到这个小飞机,心里也有一凡涟漪,那就暴露年龄了)
随个谷歌的影响力,App Engine这个概念在国内也流行起来,最早是新浪的同学,使用openstack技术做底层,搭建了SAE(sina app engine),100云豆一小时最少5云豆一天=1.2元。计费可以随开随关,在技术圈风靡起来。
再后来百度云BAE、腾讯的TAE,都是看中了这块PAAS的蛋糕,分分加入其中。阿里在联合微博后,也是将SAE概念收入其中,但是S不再是Sina概念,变成了ServerLess,有蹭概念的嫌疑。
但随后研发同学的需求越来越多越来越复杂,微服务、云原生、serverless、网格等越来越流行,单纯的App Engine已经不能满足,这些年AWS、阿里云等厂商也在云平台推出了各种各样的云产品、解决方案,开发者的选择度得到了极大的提升。
上文提到,App Engine本身不是技术手段,它是一个PAAS平台,至于底层用K8s还是虚拟机、serverless还是微服务,其实都是可以的,这个概念可以越来越老,但是它简化开发者的入门门槛,通过简单的勾选即可生成一个应用,这个思想,值得PAAS平台们借鉴。
那站酷要打造一套什么系统,来支持安全、稳定、提效、降本这个基础架构原则呢?
在这半年,我们搭建了站酷云,它使用了K8s、服务网格、DevOps技术,可以满足java php node 甚至go等各类开发需求,是目前站酷容器化的重要工具,满足了社区、海洛、云软件、共创、技术中心的各类研发需求。
第一版站酷云基于kubeshpere。
整体架构如图:
站酷第一版于2022年中上线,上线后就遇到了的问题,即:配置复杂度高,有k8s学习成本。
是否我们要做一版App Engine来简化站酷云呢?但是App Engine同样也有问题:
App Engine无法满足研发同学的各类需求,同时K8s、网格的技术,还是比较前沿复杂的,需要研发人员深入理解,才能发挥它巨大的效能(面试中也往往看到,简历里写了解k8s,但真正问的时候,他们会说使用的公司的xAE,不太了解背后的逻辑)。
所以,通过APP Engine的思想,帮助我们化繁为简,降低入门门槛,是后面站酷云的重要研发目标之一。
但我们会将ZAE(Zcool App Engine)作为站酷云的一个功能点,而不是替换现有的系统:
而且我们要不同与普通app engine,因为我们不是aws之类的云平台,我们实面向公司业务的,基于应用和业务,来展现一个研发人员所有需要的资源。将会极大提高研发效率。
说干就干,整体概览如下:
1.应用
不同于原始的kubesphere,我们基于部门和应用,来展现一个研发的所有资源
2. 一键部署应用:
简单填写git地址,基本信息即可应用一键部署:使用文档
2、Devops
CICD项目设置:可以通过可视化的勾选,来实现云原生cicd,使用tekton及ArgoCD作为支持
4.应用&中间件
每个应用有自己的中间件进行维护
5.成本中心
基础架构的目的就是提效降本、安全稳定,这里可以很好的让研发了解自己应用的成本。
6.可观测性
部署的应用,通过istio的ingress,自动具有可观测性:
更多参考《站酷云原生可观测性实践》https://developer.aliyun.com/article/1121189?spm=a2c6h.13262185.profile.15.308044634nOxuB
7.服务网格
通过istio的接入,打通了php、java、node之间的网关、注册中心,统一了公司技术栈
更多参考《站酷服务治理:网格istio实践》https://developer.aliyun.com/article/1089806
未来的规划:
1.入门同学可以通过ZAE功能,简单勾选、填写域名、端口、app名称,git地址、打包命令,
即可生成从waf到asm到k8s的应用,生成完整的yaml、jenkinsfile,然后就可以直接访问你的应用了(如下图)~
2.istio的边车模式,对网络及资源损耗较大,需要关注eBPF方式,优化服务网格,在监控等方面提高服务性能。
如上随想,欢迎大家指正~
附:
《站酷云 CICD实践》https://developer.aliyun.com/article/1121228
《站酷云思考》https://developer.aliyun.com/article/1121213
《站酷云原生可观测性实践》https://developer.aliyun.com/article/1121189?spm=a2c6h.13262185.profile.15.308044634nOxuB
《站酷服务治理:网格istio实践》https://developer.aliyun.com/article/1089806