最后更新2022/02/09
应用云
下面来看看GCP提供什么应用PaaS服务。
app engine是提供标准API的“预安装”application
-
自动部署
-
自动扩展
-
经济(免费每日额度,基于使用的计费)
-
SDK,满足开发、测试、部署要求
除此之外,gcp的app engine还有什么优势?
-
提供security scanner,自动检查使用相关应用的程序(web程序)是否有安全问题;
-
兼容大部分开发工具,可以和eclipse, intelliJ, Maven等等;
当然,也有一些局限:
- 特定版本的java,python,PHP,go,不是任何版本(小版本)都支持
- 基于engine的应用必须满足沙盒限制:
不能写本地文件系统
timeout为60秒
不能(非常有限支持)安装其它第三方软件
开发过程基于SDK和其它开发tools,在本地完成,通过GCP console对创建、运行、版本进行管理,app engine保障了安全、扩展、性能等等。
如果你的应用需要更多的资源,不想被沙盒模式限制,那可以试试app engine flexible environment(前面那个叫stand ard environment),这个其实就是个运行在vm上的docker的环境,自然随便你自己部署、操作了,而又可以享受app 自动管理的便利,包括但不限于区域可靠性保护、性能、每周自动维护(重启动、安全更新,并保证向前兼容)。能提供的服务包括:Datastore,Memcache,task queues,logging, users等。
kubernetes engine和app engine的区别呢?
以我的理解是:
compute engine + docker + others management software = kubernetes engine
kubernetes engine + 特定应用 = app engine flexible environment
特定app及更傻瓜简化版(web应用,且不提供那么多的管理或授权) = app engine standard environment
cloud endpoint,这算是管理api的api吧,负责认证、监控、logging等功能
apigee edge则类似打桩插件,帮助分析web应用问题,记录资源使用等等;
开发、部署、监控
介绍了几个功能,note有点不清不楚,以后再详细研究
本节没啥好说的。。。支持git,能创建最简单的可运行的程序片段(node.js可以跑很小的js),能当网盘只是放文件。
以100毫秒运行单位作为计费单位(噱头!跑多久还不是你说了算?你说是就是了),可以事件驱动后台跑,也可以http直接触发前台跑。
部署呢,写个.yaml就行,stackdriver帮你分析程序。提供了:
- monitoring
- error reporting
- logging
- debugger
- trace(延时显示)
- profiler(CPU,内存)