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

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

\\
  • 以AWS的视角,帮助大家更合理的理解云上的服务和工具,以及针对特定的业务和场景将这些服务搭建成自己的架构,并通过AWS提供的工具及第三方工具提升技术设施管理、应用部署过程中的效率。\\t
  • 猎豹移动、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\\t
  • 模板化基础平台\\t
  • CloudFormation自动解决资源部署的先后和依赖关系\\t
  • 版本控制\\t
  • 第三方管理工具可以通过API集成CloudFormation\

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

\\

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

\\

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

\\

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

\\

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

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

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

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

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

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

小米米粉节案例分析

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

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

\\

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

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

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

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

具体的服务:

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

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

\\

TCL通讯面临的挑战:

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

2008年-2012年的架构:

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

2012年-2014年的架构:

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

2014年-2015年的架构:

\\
  • 增加VPC + ELB +DynamoDB\

未来:

\\
  • 增加Multi-region Route53\

Route53带来的优化可能包括:

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

统计分析

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

日志分析

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

海内外的数据同步

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

DB数据库的同步

\\
  • Otter\

HDFS上的log数据  

\\
  • DistCP/FastCopy\

EMR

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

Auto scaling

\\
  • 大容量弹性webserver,如onetouch stream\

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

\\

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

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

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

\\

Yelp!的大数据应对之道:

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

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

\\

云计算应用开发利器BOTO

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

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

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

你可能感兴趣的:(数据库,devops,运维)