BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

QCon速递:亚马逊AWS技术应用实践

| 作者 包研 关注 0 他的粉丝 发布于 2015年4月26日. 估计阅读时间: 8 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

2015年4月23日,为期3天的QCon全球软件开发大会(北京站)正式拉开帷幕。在『亚马逊AWS技术应用实践』专题中,讨论了亚马逊AWS热门服务与工具及典型架构,涉及自动化运维、混合云、移动应用开发和Python开发,也讨论了TCL通讯、猎豹移动、小米在AWS上的应用实践。本专题从两个角度来输出价值:

  • 以AWS的视角,帮助大家更合理的理解云上的服务和工具,以及针对特定的业务和场景将这些服务搭建成自己的架构,并通过AWS提供的工具及第三方工具提升技术设施管理、应用部署过程中的效率。
  • 猎豹移动、TCL通讯、小米在AWS上的实践经验,包括需求分析、选型、实践及优化成长之路、踩过的坑等。

让我们来详细回顾下本专题的内容:

“基于AWS的DevOps实践指南”——亚马逊AWS解决方案架构师代闻

AWS提供了实现DevOps的平台和工具支持,包括:代码和命令行工具、CloudFormation、CodeDeploy、OpsWorks、ElasticBeanstalk及第三方服务支持。可以通过三种方式控制AWS,包括管理控制台、API和SDK、命令行接口(CLI),其中后两者可用于DevOps。

在AWS看来,对大规模基础架构实现DevOps除了需要CloudFormation、CodeDeploy、OpsWorks、ElasticBeanstalk及第三方服务支持,还需要IAM安全认证工具。

CloudFormation可以让基础设施变成一段代码,他带来的好处是:

  • 简化AWS服务的部署,快速部署一个Stack
  • 模板化基础平台
  • CloudFormation自动解决资源部署的先后和依赖关系
  • 版本控制
  • 第三方管理工具可以通过API集成CloudFormation

通过CloudWatch和IAM实现贯彻始终的监控与安全。

“猎豹在AWS上的运维自动化实践分享”——猎豹移动海外运维经理王琰

在搬上AWS之前,猎豹移动的基础设施为自建方式。在AWS上,猎豹移动使用了部分AWS工具和第三方工具,ansible负责操作系统的重启和按装,配置管理,部署,上下游关联。Nagios和Zabbix负责基础监控。CloudWatch负责监控http业务状态,数据库和cache。

“用AWS云平台搭建混合云的最佳实践”——亚马逊AWS首席云计算企业顾问张侠

为什么会有混合云,混合云的优势是:

  • 继续使用已经建设的设施
  • 在投资CapEx和运营OpEx之间控制支出
  • 合规或行业性要求
  • 降低单个供应商风险
  • 实现独特的功能性能
  • 商业授权维护支持的限制
  • 兼得私有云和公有云的好处

AWS提供了工具集来支持混合云:

  • VPC
  • DirectConnect
  • VPN
  • Directory服务
  • AWS Import/Export
  • AWS Storage Gateway

在AWS实现混合云的集中典型的场景:

  • 存储扩展
  • 备份和存档:冷数据可以从S3向Glacier备份,充分利用现有的投资
  • 使用各种AWS的托管服务(EMR等):灵活快速,弹性,安全,自动维护升级
  • 灾难恢复
  • 开发与测试验证

小米米粉节案例分析

  • AWS的工程师与小米的员工一起工作
  • 针对每2个小时一次抢购,提前开启预热实例
  • 小米承担了小部分流量,AWS承担了大部分流量

“AWS云平台的移动应用服务与移动应用开发最佳实践”——亚马逊AWS解决方案架构师、区域主管张荣典

通过AWS,让移动开发团队拥有:

  • 快速:应对新趋势;支持新设备;新的硬件和软件功能(向下兼容,精准定位)
  • 市场:全球市场

在具体的功能方面AWS提供:

  • 认证与授权
  • 数据API
  • 消息推送
  • 用户分析

具体的服务:

  • 认证:Cognito
  • 同步数据:DynamoDB
  • 搜索:CloudSearch
  • 多媒体:S3
  • 后端通知:SQS
  • 移动应用分析:Mobile Analytics
  • 商业智能:Redshift和Amazon SNS

“TCL全球移动平台架构演进”——TCL通讯云平台技术总监陈峻

TCL通讯面临的挑战:

  • 全球不同国家访问
  • 提供全球app分发渠道
  • 提供付费下载的app加速
  • 不同国家隐私保护需求
  • 海内外数据同步
  • Log统计分析

2008年-2012年的架构:

  • 2G/3G网络
  • 只是用EC2和S3

2012年-2014年的架构:

  • 智能手机+应用商店
  • EC2 +S3+RDS+CloudFront

2014年-2015年的架构:

  • 增加VPC + ELB +DynamoDB

未来:

  • 增加Multi-region Route53

Route53带来的优化可能包括:

  • 按region来提供目标用户服务,根据Geo location来判断
  • 根据权重等指标指向,不同的ELB或者域名
  • 甚至根据不同国家CDN检测,情况将请求指向其他CDN

统计分析

  • Flume插件开发 collector收集至HDFS
  • MR/Hive/Streaming方式均有使用
  • Oozie进行调度,sqoop导入db进行dashboard展示

日志分析

  • CloudFront Raw log分析,Geoip2 数据统计国家下载耗时
  • Nginx/Tomcat 请求耗时分析,判断后台性能瓶颈  
  • Appcenter log分析,运营提供支持

海内外的数据同步

  • 同步VPN
  • 端口限制
  • 新加坡AWS代理

DB数据库的同步

  • Otter

HDFS上的log数据  

  • DistCP/FastCopy

EMR

  • 尝试EMR 的job执行方式
  • 比对成本

Auto scaling

  • 大容量弹性webserver,如onetouch stream

“如何利用云开发原生的Python应用”——亚马逊AWS首席云计算技术顾问费良宏

Python是一种发展比较平稳的语言:

  • 一种通用的、高级程序设计语言
  • 一个荷兰人(Guido van Rossum )的设计 / 1991年
  • 一个榜单(TIBOE )上排名第8的语言 / 2015年4月
  • 一大批公司在使用它

但Python充满争议,由于Python3并不兼容Phthon2。

Yelp!的大数据应对之道:

  • 每天产生250GB压缩的日志文件,数据库超过7TB,二级存储达TB级
  • 通过EMR和mrjob分析数据

Netflix的在AWS上开发了系列测试工具https://netflix.github.com/

云计算应用开发利器BOTO

  • 面向 Python 开发的 AWS SDK
  • 支持 40+ AWS 服务 (S3, EC2, EMR...)

最后,费良宏分享了自己收藏的Python资源:

  • 数据分析:iPython,Numpy,Pandas,Scipy,Matplotlib
  • 机器学习:Scikit-learn
  • web数据获取:Scrapy
  • web框架:Flask

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT