AWS云平台的移动应用服务 与TCL通讯移动应用后台架构最佳实践 张荣典 AWS中国解决方案架构师 陈峻 TCL通讯云平台技术总监 2015/04
内容 AWS云平台的移动应用服务 TCL通讯移动应用后台架构实践 TCL通讯与移动应用产品介绍 TCL移动应用在AWS平台上的架构演进
哪些移动应用在AWS平台上? Mobile Startups on AWS Mobile Apps within Enterprises Every day, I am truly amazed to see at the depth and breadth of the AWS use cases. Every now and then, we see a truly innovative use of AWS that fascinates me. AWS has hundreds of thousands of customers in 190 countries, made up of companies of every size and in virtually every industry. We have amazing traction in the mobile space. We are powering some of the most popular mobile businesses around the world. This include high profile mobile startups like Instagram, Spotify, Airbnb, Pinterest, and Dropbox to large enterprises with mobile usecaes such Vodafone, PBS, Samsung, Nokia, and so on. High profile startups and enterprises trust AWS for its scale, flexibility and low cost.
哪些移动应用在AWS平台上? Mobile Games on AWS Its not just productivity apps and enterprise mobile apps, but some of the largest mobile gaming Clash of clans, Cut the rope top games in appstores, run on AWS.
移动应用架构的考虑因素 快速变化 差异化与创新 用户市场分布 agility backward compatible track the direction know your customer push the app open scalability geographic spread operate 24/7 差异化与创新 * fast moving * new trends coming/going * new devices but need to support the old ones as well (different versions of the app) * new hardware/software features - -> agility on client and server side - -> backwards compatible - -> track the direction (marketing campaigns) * need to differentiate/innovate * consumers need to be aware of your app and use it ongoing * others can build similar apps very fast - -> know your customer - -> try to make your users use the app every day * consumer market * lot's of users if successful * world wide marked (play store/app store/...) -> app runs world wide - -> scalability - -> geographic spread - -> keep you backend running 24/7 - -> agility * easy to integrate new features * rich api that is extendable but does not costs years of discussions between the teams - -> track the direction * track how the app behaves * track who is using your app - -> push the app open * integrate with push services to make users use your app every day * add compute power when needed * scale parts of your infrastructure when needed * global deployment if the geographical spread is too wide * how do you keep your infrastructure running 用户市场分布
Elastic Load Balancing 移动应用开发人员怎么用AWS? 很多很多自己开发的代码 部署在 Amazon EC2 Auto Scaling Elastic Load Balancing
移动应用开发人员怎么用AWS?
移动应用开发人员怎么用AWS? Amazon Route 53 Latency-based routing Amazon CloudFront static/dynamic content
移动应用开发人员告诉我们…… 数据 API 认证与授权 消息推送 用户分析 authorize all calls retrieve/sync user profile read/write shared data send data asynchronously search text/location data upload user generated media upload analytics data upload real time data Authentication providers (your own, Facebook, Google, Amazon, OpenID, …) Unauthenticated user support 消息推送 Different push providers (Apple/Google/...) Shared service to push to any phone that is registered 用户分析 ongoing/NRT marketing campaigns
AWS已经为你准备好了一切 数据API 认证与授权 消息推送 用户分析 authorize all calls AWS IAM retrieve/sync user profile read/write shared data send data asynchronously search text/location data upload user generated media upload analytics data upload real time data Amazon Cognito (Sync) Authentication providers (Facebook, …, your own) Unauthenticated user support Amazon DynamoDB Amazon Cognito (Identity Broker) Amazon SQS Amazon CloudSearch Amazon S3 消息推送 Amazon Mobile Analytics Different push providers (Apple/Google/...) Shared service to push to any phone that is registered Amazon Kinesis Amazon SNS 用户分析 Amazon Mobile Analytics ongoing/NRT marketing campaigns Amazon Redshift
AWS平台的移动应用架构 Identity Amazon Cognito Sync
AWS平台的移动应用架构 Amazon Cognito Amazon DynamoDB Amazon CloudSearch Identity Amazon Cognito Sync Amazon DynamoDB Shared Data Amazon CloudSearch Search Amazon S3 Media
AWS平台的移动应用架构 Amazon Cognito Amazon DynamoDB Amazon CloudSearch Identity Amazon Cognito Sync Amazon DynamoDB Shared Data Amazon CloudSearch Search Amazon S3 Media Custom Backend Amazon EC2 ELB Amazon SQS Backend Calls
AWS平台的移动应用架构 Amazon Cognito Amazon DynamoDB Amazon CloudSearch Identity Amazon Cognito Sync Amazon DynamoDB Shared Data Amazon CloudSearch Search Amazon S3 Media Custom Backend Amazon EC2 Amazon SQS Backend Calls Amazon Mobile Analytics Amazon Redshift BI Amazon SNS
内容 AWS云平台的移动应用服务 TCL通讯移动应用后台架构实践 TCL通讯与移动应用产品介绍 TCL移动应用在AWS平台上的架构演进
TCL通讯与移动应用产品介绍 TCL2004收购Alcatel,开拓国际市场 全球 #4 手机设备厂商2014Q4(Garnter) 194 国家 50 语言 17 海外运营中心 双+ 战略转型 (智能+互联网/产品+服务) MIEBC 新兴业务中心 负责移动互联网服务开发
TCL通讯与移动应用产品介绍 Onetouch Stream 系统级信息流 App Center 应用商店 User Center 用户中心 Game Center 游戏中心 Onetouch Store 商城 Onetouch Payment 海外支付 Apps Games Music Store Life Themes User center
我们面临的需求和挑战 全球不同国家访问挑战 提供全球app分发渠道 提供付费下载的app加速 不同国家隐私保护需求 海内外数据同步 Log 统计分析
TCL移动应用在AWS平台的架构演进 Only EC2 +S3 (2008.12-2012.10) 2g/3g wap Amazon EC2 Amazon S3 AWS cloud
TCL移动应用在AWS平台的架构演进 EC2 +S3+RDS+CloudFront (2012.10-2014.7) 智能手机时代 appcenter 商店 Amazon EC2 Amazon RDS Amazon S3 CloudFront AWS cloud
Download distribution TCL移动应用在AWS平台的架构演进 Add VPC + ELB +DynamoDB(2014.8-2015.2) Download distribution Elastic LB web servers cache servers Bucket IAM DB instance DynamoDB 兼顾到高可用性和安全性 virtual private cloud
TCL移动应用在AWS平台的架构演进 Add Multi-region Route53 (2015.2- ) 全球架构满足用户访问体验
TCL移动应用开发的技术实践 Route53带来的优化可能 按region来提供目标用户服务 根据Geo location来判断 根据权重等指标指向 不同的ELB或者域名 甚至根据不同国家CDN检测 情况将请求指向其他CDN
TCL移动应用开发的技术实践 带权限的存储及加速
TCL移动应用开发的技术实践 统计分析平台 Flume插件开发 collector收集至HDFS MR/Hive/Streaming方式均有使用 Oozie进行调度,sqoop导入db进行dashboard展示
TCL移动应用开发的技术实践 日志分析 CloudFront Raw log分析 Geoip2 数据统计 国家下载耗时 Nginx/Tomcat 请求耗时分析 判断后台性能瓶颈 Appcenter log分析 运营提供支持
TCL移动应用开发的技术实践 海内外的数据同步 DB数据库的同步 Otter(阿里开源) HDFS 上 log数据 同步VPN 端口限制 新加坡aws代理 DB数据库的同步 Otter(阿里开源) HDFS 上 log数据 DistCP/FastCopy(facebook开源)
TCL移动应用架构未来的规划 EMR Auto scaling 大容量弹性webserver,如onetouch stream 尝试EMR 的job 执行方式 比对成本 Auto scaling 大容量弹性webserver,如onetouch stream 动态扩容
Thanks!Q&A
@InfoQ infoqchina