阅读字数:2157 | 5分钟阅读
前端
嘉宾演讲视频回顾及PPT:suo.im/1Oc59p
tomcat
在DevOps的领域上,只要有想法,把想法写成代码。后续一系列的部署构建,包括代码的迭代和发布这些过程所有能够变成自动化。让您真正能够聚焦在业务创新层面上,全部底层须要用到的基础设施所有能够交给亚马逊AWS。服务器
musical.ly公司成立于2013年,是一家互联网创业公司致力于打造全球化的娱乐社交平台。其开发和运营的音短视频musical.ly和视频直播平台live.ly已经成为欧美国家的主流移动社交网络,在全球超过 20 多个国家和地区的App Store总榜上排名第一,其用户规模仅次于Snapchat、Instagram、Twitter和Facebook等老牌社交应用,成为欧美 13~20 岁年轻人最喜好的移动社交应用之一。目前, musical.ly的音乐短视频社交平台的日活用户数已经超千万,用户总数过1.5亿。网络
从一台Amazon EC2 、几百位用户起步,通过短短的三年, musical.ly的日活用户数就超过了千万,同时使用的Amazon EC2数量也超过了2000台。在寻找业务方向、尝试在不一样领域开展业务的过程当中, AWS云平台给 musical.ly提供了充足的灵活性。架构
在运营系统中, musical.ly采用:app
(1)Amazon EC2做为主要的计算资源以支撑前端应用;负载均衡
(2)Amazon S3做为统一的存储以放多媒体资料及系日志信息;框架
(3)Amazon CloudFront用来进行全球化的内容分发,下降访问时延以提高用户的使用体验;运维
(4)Amazon EMR做为灵活开关的大数据处理平台来完成必要分析任务;微服务
(5)AWS Lambda、用于完成对新户的推送服务。
这些产品的使用极大地下降了musical.ly本身的应用开发工做量,在系统可靠性、稳定方面也远超过本身搭建的系统。
目前,musical.ly所使用的AWS云平台产品包括Amazon EC二、Amazon S三、Elastic Load Balancing、Amazon CloudFront、Amazon Route5三、Amazon Kinesis 、Amazon ElastiCache、Amazon EMR、Amazon VPC等,打造出一个稳定、可靠、响应迅速的全球化娱乐社交平台。
选择AWS云平台带来的好处主要体如今三个方面。首先AWS云平台提供的各项服务稳定性和可靠很是高,在系统运行的三年多来,从未出现过因云服务不稳定而致使的系统中断。其次是 AWS云平台提供了很是全面的云服务,这使得 musical.ly能够随着业务的增加随时调用新服务来添功能和扩展系统。例如, musical.ly平台最初并不具有大数据分析和处理能力,但随着用户量的激增海信息,为用户提供更有针对性的就成musical.ly的紧要任务。有了AWS云平台提供的Amazon EMR、Amazon Lambda等服务,musical.ly就可以快速地完成产品的迭代更新和功能扩展,节省了大量时间成本。还有就是AWS优异的技术支持服务帮助musical.ly节省了大量的人力成本。
一天内代码发布屡次,迭代创新。咱们但愿用户聚焦业务创新,不用把时间浪费在搭建环境上。因此咱们须要基于公有云方式的开发运维工具。
如上图所示,最下面已经提供了平台层Platform,再往上就有了API,它的API全面程度很是广。AWS还提供了各类各样版本语言的SDK,而后是一些框架,最上面是核心的code代码。
针对每个层面,亚马逊都提供了一些列甚至是托管的服务,能够帮用户直接解决一些问题。
最先期咱们也是一个单体的架构,如今演变到如何更好地去作微服务化,甚至都不用使用服务器进行管理。
上图在基本全部的互联网公司都是通用的。从最开始的开发、代码的托管,到代码的构建、测试,再到部署、搭建、监控,从而实现整个过程的自动化。
做为DevOps和微服务的深刻践行者,Amazon在内部积累了许多持续集成、交付和部署的自动化工具和平台。其中, Apollo做为代码部署的自动化平台,每一年进行超过5000万次部署。
为了可以让广大开发者和企业用户使用到功能丰富且久经考验的代码部署平台,在Apollo的经验基础上,AWS发布了自动化部署服务——CodeDeploy。
AWSCodeDeploy旨在帮助用户完成应用的快速部署,按照用户指定的策略将代码部署在一组EC2服务器上。用户策略能够包括集群部署速度、部署事件通知、警报处理策略等。此外,CodeDeploy还能够和弹性负载均衡(Elastic Load Balancer)、自动扩展组(Auto Scaling Group)等服务结合,完成无缝升级和动态部署。
CodeDeploy这个服务与咱们的开发人员和运维人员比较贴近,目前,这个服务在由光环新网运营,亚马逊AWS中国(北京)区域也是可用的。它有两个重要的概念,一个是application,另外一个是deployment groups。在deployment groups能够定义成多个环境,好比有开发环境、测试环境,还有生产环境。
准备代码,此处用 tomcat应用举例。解压代码,在工程目录里添加scripts目录和一个appspec.yml。例如上图这样的目录结构,scripts里面放部署时使用的脚本,appspec.yml文件定义代码部署到哪一个,用什么用户在什么阶段执行什么脚本。
首次部署,须要安装依赖软件和环境,以后作代码更新时就不须要了。
咱们有一些基础设施层面的服务。ElasticBeanstalk是一个相似于容器概念的服务,要起一个环境的时候能够直接用ElasticBeanstalk进行托管。
CloudFormation是一个JSON的文件,把模版定义好后放到CloudFormation作一次部署,全部须要的资源能够一键建立好。
AWS为初创企业提供支持上云的云创计划到后续为云创成员专设的GTM全方位支持。
GTM(go-to -market)支持计划:
帮助硬件类初创企业在全球市场快速部署渠道;
独享推广页面,支持影音视频内容播放;
享受亚马逊物流、客服及支付等全方位支持;
云创计划成员可得到2,500美圆Facebook广告 credits,以及AlexaFund投资的优先推荐资格;
AlexaFund是亚马逊旗下专一于声音科技的早期投资基金(基金规模1亿)
今天的分享就到这里,谢谢你们!