新浪云计算公开课第一期:Let’s run @ sae(丛磊)

Preview:

DESCRIPTION

 

Citation preview

Let’s run @ SAE

@kobe2011.12.25

• 为什么选择 SAE

• 功能 开发 调试优化 管理 运维

• 架构 无限扩展 高可靠性

• 特色 应用商店 开发框架 开发微博应用 开发移动互联网应用 服务商店 SWS

• 新浪云

为什么选择 SAE

•解放

•彻底的解放

•web + mobile

•转变

国内领先的 PaaS

工信部云计算理事

国家云计算政策制定参与企业

“祥云工程”项目

独立技术知识产权专利

国内领先的 PaaS

新浪及合作第三方支持新浪及合作第三方支持 微游戏、微盘、校园微博、 微游戏、微盘、校园微博、 QQ 微博、微博、互联网的那点事互联网的那点事 ......

新浪及合作第三方支持新浪及合作第三方支持 微游戏、微盘、校园微博、 微游戏、微盘、校园微博、 QQ 微博、微博、互联网的那点事互联网的那点事 ......

云计算产品研发云计算产品研发

计算类服务 、存储类服务、云应用商计算类服务 、存储类服务、云应用商店、云服务商店、店、云服务商店、 CDN...CDN... IaaSIaaS 平台、平台、 CDNCDN

云计算产品研发云计算产品研发

计算类服务 、存储类服务、云应用商计算类服务 、存储类服务、云应用商店、云服务商店、店、云服务商店、 CDN...CDN... IaaSIaaS 平台、平台、 CDNCDN

新浪云计算 新浪云计算 SinaCloud.comSinaCloud.com 新浪云计算 新浪云计算 SinaCloud.comSinaCloud.com

2009.8 2009.11 2011.5.18 2011.72010.10.10

云计算小组成立 Sina App Engine alpha 版上线

Sina App Engine alpha2 版上线

微盘上线 Sina App Engine Beta2 版上线

正式开放注册

开通支付

云应用商店上线

2010.2 2010.9

Sina App Engine Beta 版上线

SAE诞生 TmpFS 支持 首个公测版本发布

国内领先的 PaaS

国内领先的 PaaS活跃开发者: 10000+ 名,开发者认证

与 PHP 官方合作:

应用商店:

他们都在 SAE

微博图墙

教育机构与SAE

北航软件学院联合办学

云计算教材出版(图灵出版社)

• 为什么选择 SAE

• 功能 开发 调试优化 管理 运维

• 架构 无限扩展 高可靠性

• 特色 应用商店 开发框架 开发微博应用 开发移动互联网应用 服务商店 SWS

• 新浪云

功能 - 开发

•多语言开发平台

•Web 服务 http https 负载均衡

•计算型服务

•存储型服务

功能 - 开发

•Web 服务

AppConfig- passwdaccess: if(path ~ "/secret/") passwd "test:123qwe coder:123asd"- hostaccess: if(path ~ "\.conf$") allow "127.0.0.1”- rewrite: if(query_string ~ "^(so)$" && path ~ "zhaochou$") goto "/url/%1"

HTTPSisset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off'

功能 - 开发•计算型服务

CronCronCronCron ImageImageImageImage

TaskQueuTaskQueuee

TaskQueuTaskQueuee

MailMailMailMail

DeferredJoDeferredJobb

DeferredJoDeferredJobb

FetchURLFetchURLFetchURLFetchURL

功能 - 开发•Cron

自然语法 & UNIX 语法• cron:

•         - description: cron test

•         url: mycron/test.php

•         schedule: every 5 mins

•         login: kobe@12345

• cron:

•         - description: cron test

•         url: mycron/test.php

•         schedule: every 1 hour, offset 0, from 8:00 to 12:00

误差执行版本执行时间

功能 - 开发•FetchURL

•TaskQueue

应用场景队列选择

• $queue->addTask("http://freedemo.sinaapp.com/yourtask1.php");

•    $queue->addTask("http://freedemo.sinaapp.com/yourtask2.php", "postdata", true);

•DeferredJob数据导入导出sql & csv

功能 - 开发•存储型服务

MySQLMySQLMySQLMySQL MemcacheMemcacheXX

MemcacheMemcacheXX

CounterCounterCounterCounter

StorageStorageStorageStorage

RankRankRankRankKVDBKVDBKVDBKVDB TmpFSTmpFSTmpFSTmpFS

功能 - 开发•RDC 与 MySQL

•RDC 与 DeferedJob

•MemcacheX 与 Memcache

•管理 Storage

•各种存储服务的选择( KVDB )

功能 - 开发•Counter 与 Rank

$c = new SaeCounter();$c->create('c1');  // 默认 c1 的值为 0 $c->set('c1',100); // 返回 true 设置 c1 的值为 100$c->incr('c1'); // 返回 101

$sr=new SaeRank();

    $ret=$sr->create($name,100);    $ret=$sr->set($name,$key,$value);

    $ret=$sr->getRank($name,$key);

应用场景

功能 - 开发•TmpFS

file_put_contents( SAE_TMP_PATH . '/mycode.txt' , 'dummy test' );

目的和作用域

•Wrapper storage 和 mc

file_put_contents(‘saestor://mycode.txt’,‘dummy test’);

• 为什么选择 SAE

• 功能 开发 调试优化 管理 运维

• 架构 无限扩展 高可靠性

• 特色 应用商店 开发框架 开发微博应用 开发移动互联网应用 服务商店 SWS

• 新浪云

功能 - 调试优化

•sae_debug

•display_errors

•XHProf

•应用体检

功能 - 调试优化

功能 - 调试优化

•MySQL 慢查询

•RDC/MySQL 优化建议

indexjoinsort

• 为什么选择 SAE

• 功能 开发 调试优化 管理 运维

• 架构 无限扩展 高可靠性

• 特色 应用商店 开发框架 开发微博应用 开发移动互联网应用 服务商店 SWS

• 新浪云

功能 - 管理

•账号、安全密码

•创建、删除应用

•切换版本

•服务开启、关闭

•绑定域名

功能 - 管理

•部署应用SVNSDKonline Editor

功能 - 管理

•团队管理角色:管理者、参与者、观察者权限:管理代码、服务、配额、账号

•预算设置

功能 - 运维•PV+UIP 信息,访问曲线

功能 - 运维•Memcache 请求曲线

功能 - 运维•KVDB 流入带宽曲线

功能 - 运维•Storage 外网流出带宽

功能 - 运维

•日志信息访问日志错误日志自定义日志日志搜索

功能 - 运维•成本核算、云豆报表

•服务状态

功能 - 运维•特定服务运维信息

• 为什么选择 SAE

• 功能 开发 调试优化 管理 运维

• 架构 无限扩展 高可靠性

• 特色 应用商店 开发框架 开发微博应用 开发移动互联网应用 服务商店 SWS

• 新浪云

SAE 基本架构

无限扩展

•无状态服务

•无缝重平衡

高可靠

•Q3 宕机时长: 45 分钟

•Q3 宕机次数: 4 次

•Q3 整体服务 SLA : 99.95%

高可靠•代码可靠性

CodeFS

•数据可靠性备份策略

•服务可靠性沙盒无单点设计监控策略

•配额的含义

• 为什么选择 SAE

• 功能 开发 调试优化 管理 运维

• 架构 无限扩展 高可靠性

• 特色 应用商店 开发框架 开发微博应用 开发移动互联网应用 服务商店 SWS

• 新浪云

特色 - 应用商店

特色 - 开发框架

开发一个微博应用•安装新浪微博 OAuth v2

•open.weibo.com

开发一个微博应用

// 从 POST过来的 signed_request中提取 oauth2 信息 if(!empty($_REQUEST["signed_request"])){ $o = new SaeTOAuthV2( WB_AKEY , WB_SKEY ); $data=$o->parseSignedRequest($_REQUEST["signed_request"]);if($data=='-2'){ die('签名错误 !'); }else{$_SESSION['oauth2']=$data; }}//判断用户是否授权 if (empty($_SESSION['oauth2']["user_id"])) { include "auth.php"; exit;} else { $c = new SaeTClientV2( WB_AKEY , WB_SKEY ,$_SESSION['oauth2']['oauth_token'] ,'' );}

开发移动互联网应用

开发移动互联网应用

特色 - 服务商店

•服务售卖按服务的请求次数进行计费

•公司内部服务接入分词服务全文检索服务更多服务(博客、无线、邮箱、财经 ... )

特色 -SWS

•EC2

•EBS

•S3

SinaCloud.com

End

Q & A

@SinaAppEngine

SAE意见反馈: http://sae.sina.com.cn/?m=feedbackSAE咨询邮箱: saemail@sina.cn