Google与云计算的发展密切相关,不仅发表很多相关的技术论文,而且也退出很多具有代表性的云计算产品,今天我们一起看一下Google的云产品。
云产品
Google几乎大部分产品都可以被认为是典型的云计算产品,Google本身就是世界上最大的云,全球有30多个数据中心,服务器超过100万台。
SaaS:普通的SaaS服务,如:搜索、地图、视频、社交和协作工具等
企业SaaS服务,企业版Gmail、Google日历、Google文档、Google视频等
PaaS:Google App Engine提供一套开发组件让用户轻松在本地构建和调试网络应用,并且能够部署和运行网络云上,自动根据应用承受的负载进行动态扩展,主要支持Java和Python语言。
IaaS:Google的Storage云存储服务,开发者可以非常容易使用REST API对数据进行存取操作,并且在安全和空间上都有很大优势。
云客户端:Andriod、Chrome和Chrome OS,主要是基于Web的SaaS服务。在安全性、稳定性、访问速度上都有很好的提现。
核心技术
分布式基础:
GFS:前身是BigFiles用于存储搜索海量数据,有两种节点:master用于存储于数据文件相关的元数据,chunk节点用于存储数据,特点如下:大文件和大数据块,操作以添加为主,支持容错,很高的吞吐量,扩展能力强,支持压缩等。
Chubby:是分布式锁服务,主要用于GFS和MapReduce系统内部的协作工作,通过对文件创建操作实现“加锁”。
Protocal Buffer:Google内部的一种语言中立、平台中立、可扩展的序列化数据结构,提供基于java、C++和Python的实现,他是一种二进制格式,速度是xml数据交换的近10倍。
大数据处理:
MapReduce:实际上是一个编程模型,通过“map”和“reduce”这两个步骤并行处理大规模的数据
Sawzall:构建在MapReduce纸上的采用类似Java的DSL语言,也成称为分布式的AWK,主要对大规模分布式数据进行筛选和聚合处理。
数据库技术:
BigTable:一个非关系型数据库,不支持高级的SQL操作,大多是多级映射的数据结构,支持大规模数据处理、容错和自我管理等。
Sharding:关系型的数据库系统,同时针对流量巨大的需求进行分片的水平扩展解决方案,其扩展性强,吞吐量惊人,而且全球备份。
数据中心优化技术:
数据中心高温化:通过有效的控制设备临界点和精确的温度控制,数据中心在高温下工作,这样既经济,有安全
12V电池:传统的不间断电池在资源方面比较浪费,Google为每台服务器配了一个12V的电池替换常用的UPS,有效的利用资源。
服务器整合:利用虚拟化技术高效的完成服务器整合,无论从空间还是能源方面都有很大降低。
设计思想和整体架构
设计思想:接受失败,重视伸缩,预测性能,追求低延迟,廉价的硬件和软件,推崇重用,灵活设计,优先移动计算和服务模式。
整体架构:3累工作负载:本地交互服务,内容交互服务和企业关键业务;2类数据中心:巨型数据中心和大中型数据中心。
Google App Engine
简介
身为云计算发起者之一,在Amazon和Salesforce推出云计算产品之后也不能落后。Google App Engine是一款PaaS服务帮助用户快速搭建web应用,并且无需再运维花费大量的时间和精力。
功能
支持Web应用,提供持久存储空间,对应用自动扩展和负载均衡,支持Email、用户认证和缓存等多种服务等等。
组成部分
应用服务器,数据存储,服务,管理界面,本地开发环境
Google App Engine架构
设计理念:重用现有技术,无状态,硬性限制,采用分布式数据库等。
架构
释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。更多交流请关注微信公众号itboxes(IT智囊)。
注:图片来源于网络,如有异议,请联系我们,我们将即时处理。