閱讀字數: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億)
今天的分享就到這裏,謝謝你們!