GoogleAppEngine是什么?

简介:

这两天仔细思考了一下,GAE到底是什么?

我做事情,喜欢探讨一点背后的东东,抽象的东东,主要是因为这样可以更深地帮助我理解这个系统。我的理解,一个系统,只要对其有了一定了解,建立了世界观,知道它能做什么,不能做什么,写程序就会容易一点,起码大面上不会有什么错误。

最开始,我以为GAE是个虚拟主机,提供CGI功能,可以定制一些比较强大的网站。不过后来从深层次理解,发现这个理解并不正确。因为我发现,仅仅从虚拟主机的角度理解,可以说,GAE连1%的功能都没有发挥出来。

我们来看一台PC机有什么。有键盘鼠标,这是输入设备,有显示器,输出设备,内部有CPU,总线,内存,硬盘,有的还有光驱,然后有声卡,显卡,网卡,USB的其他设备连接手段。当然,电源机箱就不说了。

OK,我们来为这个PC机分分类,看我们大家花了几千块钱,到底买了什么东东:

1、输入,输出不说了,这是人机交互的必要手段。USB连接槽大约也是为这个目的服务的,那么,我们可以抽象一下,一台计算机需要人机交互能力。

2、网线,这个我的理解是“机机交互”能力,大家说是不是,就是两台计算设备之间实现数据交互的手段。

3、CPU、总线,我的理解是计算资源,就是完成我们最核心的数据计算业务。这个不用多说,没有就不叫计算机了。

4、硬盘,光盘,这个我的理解是永固性存储手段,其实计算机最大的应用,还是信息服务,就是把信息存下来,等需要用的时候,调出来使用。因此,永固存储能力几乎是每个完整的计算系统必须的。

5、内存,这个最难以理解,肯定不是永固存储,但说临时存储吧,它又是不可或缺的,一般不能用永固存储替代,因为硬盘什么的速度和内存比,还是太慢。同时,里面存储的数据很杂,很难归类,有操作系统的内核代码,有我们的程序,有程序的数据。不过,我认为,如果抽象到业务逻辑来说,内存更像是本次运行,本笔交易,以及某一个系统不同交易之间的一个临时数据存储区和共享变量交互区。

ok,当我们把一台PC机大卸八块之后,我们来看一个能干活的计算机系统需要啥,我的理解包含:计算能力,永固存储能力,计算中临时变量存储能力,多任务多用户系统中,跨服务,跨交易的数据交互能力,人机交互能力和机机交互能力。

那好,我们再来看看GAE

1、GAE提供程序开发手段,每一次用户访问能确保执行相应的程序模块,这说明什么?计算能力有了。

2、GAE提供最低500M永固存储,以数据库方式开发(不是关系型,是哈希型),需要的话,用户还可以进一步购买,并以Google的商业信誉做数据安全担保,这是永固存储能力,并且,我发现,这比我们PC机安全,因为硬盘可能坏,光盘可能发霉,病毒可能重做系统,而Google的商业化云计算运行保证,能最大可能保护资料不会丢失。

3、虽然GAE提供的是脚本式执行环境,看似每次用户访问交易,彼此之间互相看不到,但GAE同时提供的数据库访问和MemoryCache访问能力,其实已经跨交易实现了共享变量,这很重要,因为不同计算元之间的数据互动,是商业化大型系统的基本保证。一个没有共享变量区的多任务多用户系统毫无意义,充其量只能是n个小计算机的集合,不能起到1+1>2的作用。

4、机机交互不说了吧,这是网络服务器集群哦,天生的。另一方面,GAE从一开始就没有局限在Http服务器的范畴,它叫AppEngine,应用服务引擎,这意味着,客户端不管是人操作的浏览器,还是一个我们自己写的Client,都无所谓,只要符合协议标准,都可以请求服务。

5、人机交互,这个比较灵活,可能这也是GAE最不像计算机的地方。不过,当我们用浏览器打开一个服务,我们想想看,浏览器的窗口,是不是就是GAE的屏幕?我们的键盘和鼠标,这会是不是已经可以通过浏览器和GAE交互?

6、比较重要的来了。所有开发过多用户应用程序,尤其是网络应用程序的程序员,应该都有体会。系统要提供个性化服务,首先要能区别每个客户,这需要一整套用户管理系统,大家可能都做过类似的练习。用户管理系统,做起来其实很简单,就是个简单的数据库应用,但实施起来,最大的难度不在技术上,在商业信誉上,为什么呢,人家不信你,不愿意把隐私资料交给你,很多网络,拼命地用垃圾邮件,拉大家入伙,其实就是想解决这“最后一下回车”的问题。但使用GAE开发部署应用,GAE提供google自己的用户数据库验证访问,一个客户,只要注册过google的邮箱,天生就可以成为我们的客户,并且,这个有google的商业信誉担保,用户比较放心,这其实已经帮助大家解决了一个很大的运营商的难题:用户不肯入网。

7、最重要的来了,GAE提供GData服务,可以无缝整合Google提供的网页Office,企业办公平台的功能,这意味着什么,GAE开发的应用,一开始就可以提供Office办公能力。大家想想,目前哪个公司提供的ERP、EIP平台,能内置一套Office?说不要自己造轮子,呵呵,这么大的轮子,我也愿意用啊。

综上所述,我们来理解一下,GAE到底是什么?

1、GAE是一台计算机,一台完整的计算设备,其提供的永固存储能力,安全性还强于目前的PC个人计算设备。

2、GAE提供多任务多用户访问能力,应用开发者无需关心用户管理和个性化服务的困难,并且无需关心服务能力的扩容,一切都是无缝可获得的,并且,价格不贵。

3、GAE是一台按需定制的计算机,我们服务的客户群小,就免费,客户多了,就收费,并且可以无级增加,一点点增加,既满足我们当前的应用需求,又不会浪费钱。

4、GAE这台计算机不会贬值。Google建设了一个计算云,我们的GAE应用是运行在云上,我们不用担心PC升级换代导致的淘汰成本。

5、针对目前计算机的两大应用领域,办公和娱乐,GAE主要针对办公应用提出完整解决方案。

这就是目前我想到的几点GAE的看法,当然,可能还很不完整,这里我抛砖引玉啊,希望大家多多补充。

本文转自 tonyxiaohome 51CTO博客,原文链接:http://blog.51cto.com/tonyxiaohome/198761 ,如需转载请自行联系原作者

相关文章
|
敏捷开发 运维 Devops
DevOps与阿里云容器服务(一)
## 前言 本篇文章是整个系列中概念最多的一篇,后续文章大部分会以具体的场景为主,但在面对不同的场景前,希望大家记住DevOps不是银弹,一定要根据自己的需求与场景甚至公司的软件开发人员的能力与公司规模来选择具体的方案。 ## DevOps是什么 首先我们看下wiki百
29529 0
|
4小时前
|
运维 监控 Cloud Native
如何设计与构建 FinOps 流程、团队、体系与目标
企业 FinOps 实施不是一蹴而就的项目,如果您正在推进企业云原生 FinOps 落地,除了选择合适的技术手段,企业内部的流程和体系建设也尤为重要。
162112 2
|
4小时前
|
分布式计算 Java API
Java8 Lambda实现源码解析
Java8的lambda应该大家都比较熟悉了,本文主要从源码层面探讨一下lambda的设计和实现。
162529 4
|
4小时前
|
关系型数据库 Serverless 分布式数据库
PolarDB PostgreSQL版Serverless技术原理解读
数据库是现代企业IT系统中非常重要的一部分。在创建数据库时,客户往往需要比较保守地去配置数据库集群的资源,包括CPU、内存、存储以及连接数等多种参数配置,以确保业务能够在波峰和波谷都能平稳运行。在这种情况下,客户购买的集群资源在业务波谷时期会被闲置,导致整体成本偏高;而在业务压力增长阶段,集群资源又应对不足。Serverless数据库可以很好地解决这个问题。它能够让数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。 本文描述PolarDB PostgreSQL版Serverless的构建中, 如何实现弹得快、弹得准、弹得稳、弹得广的几个关键技术点。
75567 1
PolarDB PostgreSQL版Serverless技术原理解读
|
4小时前
|
存储 关系型数据库 MySQL
数据管理的艺术:PolarDB开源版详评与实战部署策略(一)
PolarDB-X是阿里巴巴自研的高性能云原生分布式数据库,基于共享存储的Shared-nothing架构,支持MySQL生态,具备金融级高可用、分布式水平扩展、HTAP混合负载等能力。它通过CN(计算节点)和DN(存储节点)实现计算与存储分离,保证数据强一致性,并支持全局二级索引和多主多写。PolarDB-X开源版提供更高程度的定制化和控制权,适合追求技术自主性和成本优化的开发者。部署方式包括RPM包、PXD工具和Kubernetes,其中PXD工具提供了一键部署的便利性。
46748 11
|
4小时前
|
存储 NoSQL 数据库
为什么要用 Tair 来服务低延时场景 - 从购物车升级说起
“购物车升级”是今年双十一期间提升用户体验的关键项目,展示了大淘宝技术团队致力于通过技术突破消费者和商家体验的天花板。低延迟是这些挑战中的核心,内存数据库Tair因其高吞吐、大连接数、热点请求处理、异常流量管理和复杂计算逻辑优化等特点,在低延迟场景下表现出色。Tair使用内存/SCM混合存储和各种索引来提供低延迟服务,并通过无锁并发、水平扩展分区等技术应对高并发。此外,Tair还通过热点策略、流控和执行流程优化等手段确保在大促时的稳定性和性能。Tair在双十一期间支持了购物车、销量统计、卖家优惠券召回和互动场景等多种业务,展现其低延迟和高并发的能力。
76573 10
|
4小时前
|
人工智能 安全 Devops
让研发规范管得住 - 我们为什么在流水线之上又做了研发流程?
研发规范的目标,是为了解决或降低出现软件危机的风险。但传统流水线受限于工具的定位,无法解决研发规范的落地问题,需要在更高的层面来解决。阿里云云效团队经过内部启发后推出的新产品:云效应用交付平台 AppStack 给出了解决方案,快来使用体验吧!
78359 3
|
4小时前
|
关系型数据库 Serverless 分布式数据库
高峰无忧,探索PolarDB PG版Serverless的弹性魅力
在数字经济时代,数据库成为企业命脉,面对爆炸式增长的数据,企业面临管理挑战。云原生和Serverless技术革新数据库领域,PolarDB PG Serverless作为阿里云的云原生数据库解决方案,融合Serverless与PostgreSQL,实现自动弹性扩展,按需计费,降低运维成本。它通过计算与存储分离技术,提供高可用性、灾备策略和简化运维。PolarDB PG Serverless智能应变业务峰值,实时监控与调整资源,确保性能稳定。通过免费体验,用户可观察其弹性性能和价格力,感受技术优势。
|
4小时前
|
API 网络安全 Swift
【一文看懂】Havenask创建表
本次分享内容为Havenask的创建表,共3个部分组成(直写表与全量表、 创建直写表、创建全量表),希望可以帮助大家更好了解和使用Havenask。
158233 1
【一文看懂】Havenask创建表
|
4小时前
|
SQL 消息中间件 Swift
【一文看懂】Havenask单机模式创建
本次分享内容为Havenask单机模式,由下面3个部分组成(Hape工具介绍、创建单机版Havenask、Hape问题排查),希望可以帮助大家更好了解和使用Havenask。
127211 1