标题：SAE平台
简介
  SAE简介Sina App Engine（以下简称SAE）是新浪研发中心于2009年8月开始内部开发，并在2009年11月3日正式推出第一个Alpha版本的国内首个公有云计算平台，SAE是新浪云计算战略的核心组成部分。 SAE作为国内的公有云计算，从开发伊始借鉴吸纳Google、Amazon等国外公司的公有云计算的成功技术经验，并很快推出不同于他们的具有自身特色的云计算平台。SAE选择在国内流行最广的Web开发语言PHP作为首选的支持语言，Web开发者可以在Linux/Mac/Windows上通过SVN、SDK或者Web版在线代码编辑器进行开发、部署、调试，团队开发时还可以进行成员协作，不同的角色将对代码、项目拥有不同的权限；SAE提供了一系列分布式计算、存储服务供开发者使用，包括分布式文件存储、分布式数据库集群、分布式缓存、分布式定时服务等，这些服务将大大降低开发者的开发成本。同时又由于SAE整体架构的高可靠性和新浪的品牌保证，大大降低了开发者的运营风险。另外，作为典型的云计算，SAE采用“所付即所用，所付仅所用”的计费理念，通过日志和统计中心精确的计算每个应用的资源消耗（包括CPU、内存、磁盘等）。 
总之，SAE就是简单高效的分布式Web服务开发、运行平台。
SAE的优势
  SAE的优势SAE的基本目标用户有两种，一种是Web开发者，另一种是普通互联网上网人群。
对于Web开发者，SAE带来的好处有：
· 硬件成本更低，无需预先购买设备，承担更大的投入风险
· 开发成本更低，SAE提供许多服务供开发者使用，开发者无需重复开发，包括队列、数据库、缓存、定时、验证码、计数器，几乎覆盖了Web开发的所有领域。另外对于特定开放平台的开发者，比如新浪微博开发者，SAE已经集成了完整的OpenAPI的封装，将开发者的开发成本降到最低。值得一提的是，SAE的开发者目前已经形成了良好的交流氛围，在意见反馈中心、SAE官方群，SAE官方微群可以看到很多热情的开发者在一起共同提高
· 运维成本更低，在SAE上的应用无需关心硬件维护、服务监控、数据容灾等操作，SAE会通过其高可靠的架构和方便的监控页面为用户将运维成本降到最低扩展性更强，在SAE上的服务无需关心服务压力猛增时带来的扩容等操作，SAE自动支持服务扩展
· 更加安全可靠，SAE自动提供SQL语句性能分析、前端防攻击、代码检查等功能，在SAE上的所有应用均为多机房容灾部署，比传统的部署模式更加安全可靠，并且SAE提供服务的SLA来实现对用户服务质量的承诺
对于普通上网人群，使用SAE可以：
使用推荐应用一键安装Web应用，普通用户无需会编码，也可以在瞬间拥有自己的团购、博客、微博、Wiki等应用的的多元化选择：Emlog for SAE
emlog 是 "Every Memory Log" 的简称，意即：点滴记忆。是一款基于PHP和MySQL平台的功能强大的个人博客系统(blog)。致力于为您提供快速、稳定，且在使用上又极其简单、舒适的博客服务。
WSS项目管理系统
WSS(White Shark System)基于PMI®全球项目管理标准，专注于项目管理规范性、易用性、以及视觉效果。
主要功能：项目管理、任务管理、工时管理、工作日志管理、邮件提醒等。
MediaWiKi
MediaWiki 是一套以GPL授权发行的Wiki引擎。 它具有很丰富的功能，并被维基百科及其他维基媒体基金会的计划所采用，亦为世界上很多不同的维基所采用。 MediaWiki采用 PHP语言写成，并以MySQL作为其资料库。
使用MediaWiki的维基文本格式，用户不必懂得XHTML或是CSS也可以很容易的编辑内容。
XWeibo 
Xweibo 2.1标准版(beta)是基于新浪api开发的一套微博标准版系统,拥有新浪微博的基础功能,开发者可以在此版本上进行二次开发。 
Wordpress for sae
WordPress是一种使用PHP语言开发的博客平台，用户可以在支持PHP和MySQL数据库的服务器上架设自己的网志。也可以把 WordPress 当作一个内容管理系统（CMS）来使用。WordPress 是一个免费的开源项目，在GNU通用公共许可证下授权发布。
最土团购
最土团购软件是基于Web应用的B/S架构的团购网站建设解决方案的建站系统。它可以让用户高效、快速、低成本的构建个性化、专业化、强大功能的团购网站。
Typecho
基于php5开发，支持多种数据库，是一款内核强健,扩展方便，体验友好，运行流畅的轻量级开源博客程序。
禅道项目管理软件
禅道项目管理软件(ZenTaoPMS)是一款国产的，基于LGPL协议，开源免费的项目管理软件，它集产品管理、项目管理、测试管理于一体，同时还包含了事务管理、组织管 理等诸多功能，是中小型企业项目管理的首选。
TeamToy
TeamToy是一个用于团队沟通的在线交流工具.
SAE的整体构架
SAE从架构上采用分层设计，从上往下分别为反向代理层、路由逻辑层、Web计算服务池。而从Web计算服务层延伸出SAE附属的分布式计算型服务和分布式存储型服务，具体又分成同步计算型服务、异步计算型服务、持久化存储服务、非持久化存储服务。各种服务统一向日志和统计中心汇报，参考下图：  SAE整体构架7层反向代理层：HTTP反向代理，在最外层，负责响应用户的HTTP请求，分析请求，并转发到后端的Web服务池上，并提供负载均衡、健康检查等功能。
服务路由层：逻辑层，负责根据请求的唯一标识，快速的映射（O(1)时间复杂度）到相应的Web服务池，并映射到相应的硬件路径。如果发现映射关系不存在或者错误，则给出相应的错误提示。该层对用户隐藏了很多具体地址信息，使开发者无需关心服务的内部实际分配情况。
Web服务池：由一些不同特性的Web服务池组成。每个Web服务池实际是由一组Apache(PHP)组成的，这些池按照不同的SLA提供不同级别的服务。每个Web服务进程实际处理用户的HTTP请求，进程运行在HTTP服务沙盒内，同时还内嵌同样运行在SAE沙盒内的PHP解析引擎。用户的代码最终通过接口调用各种服务。
日志和统计中心：负责对用户所使用的所有服务进行统计和资源计费，并设定的分钟配额，来判定是否有非正常的使用。分钟配额描述了资源消耗的速度，当资源消耗的速度到达一个预警阈值时，SAE通知系统会提前向用户发出一个警告，提醒用户应用在某个服务上的使用可能存在问题，需要介入关注或处理，配额系统是SAE用来保证整个平台稳定的措施之一；日志中心负责将用户所有服务的日志汇总并备份，并提供检索查询服务。
各种分布式服务：SAE提供几乎可以覆盖Web应用开发所有方面的多种服务，用户可以通过StdLib（可以理解为SAE PHP版的STL）很方便的调用它们。
SAE的功能
开发： 
· 代码检查，帮助检查不良函数并帮助移植
· 代码部署
· 分布式数据库
· 分布式文件存储
· 分布式缓存
· 各种附属分布式服务，包括图像、定时、任务队列、邮件、计数器等
· 对接多个开放平台，如新浪微博开发平台
· 代码调优，通过XHProf提供
· 数据库优化，通过RDC提供
· 团队协作，可以邀请好友以不同的权限加入项目
· 代码版本管理（计划支持）
运营：
· 应用打包，通过我们的应用向导进行推广
· 日志，包括访问日志、错误日志等
· 资源报表，消耗SAE各项资源的统计
· 服务监控，监控各项服务状态
· 数据迁移，包括数据库导入、数据库导出等
SAE提供的服务及两大特性
SAE提供的服务SAE目前已经提供了十多种服务，整体上分为计算型和存储型，计算型又包括同步计算和异步计算，而存储型则分为持久化存储和非持久化存储。具体列表如下： 
服务名称类型说明HTTP+PHP同步计算带SAE沙盒的Apache和Zend为用户提供Web计算服务Storage持久化存储提供分布式文件存储Memcache非持久化存储提供分布式缓存服务RDC持久化存储分布式数据库集群，提供MySQL服务TaskQueue异步计算异步离线轻量级任务队列，HTTP方式调用DeferredJob异步计算异步离线重量级任务队列，系统方式调用Counter持久化存储计数器服务RankDB持久化存储分布式排行榜服务KVDB持久化存储分布式key/value存储服务Cron异步计算分布式定时服务FetchURL同步计算分布式抓取服务TmpFS非持久化存储提供临时文件存储，文件生命周期在一个会话内，Http请求结束文件自动消失AppConfig​提供应用配置功能，取代Apache htaccessMail异步计算邮件发送服务Image同步计算图像处理服务XHProf同步计算Facebook提供的强大的PHP调优工具SVN持久存储用户代码部署的入口点Online CodeEditor持久存储在线代码编辑器，编辑的代码保存后入自动入SVN并部署到Web服务器两大特性：扩展性和可靠性· 扩展性 
SAE在服务的可扩展性上基本是动态可扩展性的思路，即资源和ID没有强对应关系，用户以服务使用者的身份使用SAE服务。
· 可靠性
在计算可靠性方面，SAE主要是依靠多点部署来完成可靠性，多节点的计算一致性上，SAE有分布式锁服务提供比Paxos更好的容错逻辑。
在数据可靠性方面，SAE的所有数据都通过冗余存储来达到SLA。SAE通过主动复制和被动复制来实现多点数据冗余。[1]