456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > 行業資訊 >

客戶數據中心segment如何利用自動化的基礎設施來武裝工程師


2015-12-11 09:09 作者:admin 瀏覽量:

  發展企業是艱難的,發展一個支撐企業前行的工程團隊可以說是更加困難的。但是沒有一套穩定的基礎設施,做這兩件事基本是不可能的。特別是對于高速發展的企業,必須授權每一個工程師在編碼、測試和交付代碼方面具有高度的自主權。

  segment是一家客戶數據中心,致力于幫助數千家公司收集、處理數據,本文主要講了segment在自動化基礎設施方面的實踐,主要包括同步開發環境、映射開發環境和生產環境、本地開發和部署到生產環境。

  過去的一年中,我們增加了達60個新的系統集成環境(總數超過160個),為合作伙伴建立了一個平臺,用以編寫他們自己的集成,發布了Redshift(紅移)集成,同時發表了幾個重大的產品公告。那段時間,圍繞多環境管理、部署代碼和通常的開發工作流程,我們經歷了許多成長的煩惱。之后,我們的工程師是最幸福、最具生產力的,因為他們的時間都花在發布商品,打造工具和擴展服務上。開發流程和它所支持的基礎設施簡單易用、擴展靈活是至關重要的。

  這就是為什么我們自動化了自己的基礎設施的眾多方面。下面我將分享關于我們當下的一些更加詳細的設置,主要包括這幾個領域:

  同步開發環境

  映射開發環境和生產環境

  本地開發

  部署到生產環境

  一起來深入的探討一下吧!

  同步開發環境

  由于代碼的復雜性的增長和工程團隊的擴大,在所有的工程師中保持開發環境的一致會變得更加困難。

  在我們現有解決方案出現之前,我們的工程師所面臨的一個大問題是同步開發環境。我們有一個Github庫,里面有一組shell腳本,所有新來的工程師執行這些腳本,將必要的工具和身份驗證令牌裝到他們本地的機器上,這些腳本也會建立Vagrant和一個虛擬機。

  但是這個虛擬機是在每臺電腦上進行本地構建,如果你修改了虛擬機的狀態,那么為了使得讓它恢復到與其他工程師的虛擬機同樣的狀態,你必須從頭構建一切。而當有工程師更新了虛擬機,你必須在Slack上告訴每個人,讓他們從Github VM庫中拉取代碼并重新構建。這是一個痛苦的過程,因為 Vagrant很慢。

  對于一個竭盡全力快速前行的發展中團隊來說,上面的方法并不是一個好的解決方案。

  每次運行時,我們會通過查詢Docker Hub API來確保虛擬機是最新的。這個過程會更新工程師每天所需的包、工具等。這將耗費5秒鐘,為了確保一切運行正常,這也是必要的。

  此外,由于我們的工程師使用Mac電腦,我們從boot2dockerVirtualBox虛擬機切換到了托管于boot2docker實例的Vagrant,以便我們可以充分利用NFS的優勢來共享主機和客戶機的volumn。在本地部署的時候,使用NFS,性能得到大大提升。最后一點,NFS允許工程師在虛擬機外部所做的改變可以即時地在虛擬機內部反映出來。

  通過這個解決方案,我們大大減少了需要在宿主機上安裝依賴的數目。現在唯一需要的是Docker、Docker Compose、Go和GOPATH配置。

  映射開發環境和生產環境

  理想的情況是在開發環境和生產環境中運行相同的代碼,然而這樣分離,開發環境中的代碼可能永遠不會對生產環境中的代碼產生影響。

  之前我們將AWS狀態(由Terraform生成)存儲在Terraform的文件中,但它并不是一個完美的系統。例如,如果兩個人異步操作并應用了不同的改變,狀態將會改變,最后推送代碼的人將很難搞定合并沖突。

  我們盡可能以最簡單的方式實現了staging和production環境的映射:

  從一個文件夾復制文件到另一個文件夾。Terraform使我們在修訂基礎設施、部署新服務和做出改進方面節省了大把時間。

  在應用之前,我們通過編寫定制的構建過程以及確保恰當的安全因素已考慮在內來集成Terraform和CircleC。

  目前,我們在Github上有一個名為基礎設施的單一庫,其中包含了Terraform的腳本集合,用以為每一個容器配置環境變量和設置容器。

  當我們想要改變基礎設施中的某些東西時,將必要的修改寫進Terraform腳本,并在新的pull請求之前運行它們以便基礎設施團隊中的其他成員來review它。一旦pull請求合并到主分支,CircleCI就會啟動部署進程:狀態變為pulled,本地被修改,并再次存入到S3。

  本地部署

  種子庫

  本地開發的時候,使用虛擬數據填充本地數據庫是很重要的,這樣會讓我們的應用看起來更真實。所以,種子庫是配置開發環境的共同組成部分。

  我們依賴CircleCI、Docker和volumn容器來提供獲取虛擬數據的便捷途徑。volume容器是靜態數據的便攜鏡像。我們決定使用volume容器,因為數據模型和邏輯越來越松耦合而且容易維護。這樣做也是以防萬一,在我們的基礎設施的其他地方可以用到這些數據(比如測試等,誰知道呢)。

  當我們在開發過程中啟動app服務器時,就會自動加載種子數據到我們的本地開發環境中。例如,當app(我們的主應用)容器在開發環境中啟動,app的docker-compose.yml腳本就會從Docker Hub中拉取最新的種子鏡像,并在虛擬機中掛載原生數據。

  Docker Hub中的種子鏡像產生自Github倉庫中的種子,作為我們導入到數據庫中的原生對象,它就是一組JSON文件。為了更新種子數據,我們將 CircleCI配置到倉庫上,以便任何到主分支的推送都會構建(從Docker Hun中賺錢我們的mongodb容器和redis容器)并向Docker Hub中推送新的種子鏡像,這樣我們就能在app中使用這個容器了。

  生成微服務

  由于Segment數據密集型的特性,我們的app已經依賴幾個微服務(db,redis,nsq等)。為了使我們的工程師可以開發app,我們需要一個簡單的方法在本地構建這些服務。

  Docker再一次使得這種工作流變的非常容易。

  類似于我們使用種子volume容器掛載數據到本地虛擬機那樣,我們以同樣方式來使用微服務。我們使用doker compose文件從Docker Hub抓取鏡像來進行本地構建、設置地址并最終將復雜性降低到一條終端命令就可以讓一切啟動并運行。

  部署到生產環境

  你編寫代碼,但從不將代碼部署都生產環境,這種情況真的發生過嗎?

  部署代碼到生產環境是開發工作流程中的一個組成部分。在Segment,圍繞部署代碼到生產環境,我們優先考慮難易程度和靈活性,因為這使得工程師可以快速的行動而富有成效。我們還創造了足夠多的工具來為處理錯誤,回滾和監視構建的狀態保駕護航。

  我們使用Docker、ECS、CircleCI和Terraform來盡可能地自動化持續部署。

  當我們初次嘗試使用Docker時,我們很喜歡其在一個可復用和隔離的環境中運行代碼的能力。我們想要復用Docker的這些原則和經驗,從而在不斷擴大的工程團隊中保持開發環境的一致。

  我們寫了一堆工具為新來的工程師配置虛擬機,從基礎鏡像狀態升級或是重置。當我們的工程師初次配置虛擬機的時候,需要Github憑證和AWS令牌,然后從Docker Hub中拉取最新的鏡像并構建。


相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 久久久久久久爱_尤物九九久久国产精品的分类_三级网站午夜三级_baoyu135国产精品免费_午夜在线一区二区_欧美5区_欧美成亚洲_在线免费视频 | 国产中文福利_欧美国产精品天堂_欧洲美女与动性zozozo_亚洲欧美综合久久久久久_国产精品免费网站_在线一区二区国产_天天天天天干_日本免费无遮挡吸乳视频网站 | 欧美午夜精品久久久久久软件_亚洲第一成年人视频_边勾边做1V1H顾慕琛_午夜精品久久久99热使用方法_日韩国产精品91_国产人成在线视频免费播放_一区二区三区国产欧美日韩_动漫AV纯肉无码AV在线播放 | 欧美一级特黄aaaa_亚洲综合麻豆_人妻日本无中文字幕无码_久久久久毛片_www.伊人久久_老司机精品影院_成全动漫在线观看免费观看_日本亚洲网站 337P大尺度啪啪人体_国产一二三视频_在线亚洲网站_91av一二三区_小鸟酱福利视频_999观看免费高清www_婷婷日日_国产91精品欧美 | 欧美区一区_av网站一区二区三区_国产激情视频在线观看_日韩精品天堂_顶臀精品视频www_97免费在线_噜噜色噜噜_日韩精品免费看 | 亚洲视频一级片_欧美a网站_一级精品_91视频盛宴_一区二区不卡在线播放_国产精品久久久一区二区三区网站_国产在线不卡_国产偷啪自怕网 | 九九久久久久_国产一级毛片不卡视频_91福利视频在线观看_国产精品久久午夜夜伦鲁鲁_av激情_av无码国产精品色午夜_国产一区免费在线观看_亚洲国产成人精品无码区 | 色两性网欧美_黄色av视频_亚洲男人天堂_福利午夜国产网站在线不卡_国产精品亚洲А∨天堂网_国产伦精品_草逼欧美_亚洲毛片AV日韩AV无码 | 亚洲欧美日本精品_尤物视频最新网址_日本淫片_亚洲成人超碰_最新国产vr麻豆aⅴ精品无_av免费影院_午夜亚洲视频_国产女厕所盗摄老师厕所嘘嘘 | 成人网中文字幕_国产精品无码在线_CHINESE熟妇与小伙子MATURE_亚洲一区二区久久久_丰满少妇免费做爰大片人_亚色九九九全国免费视频_亚洲国产精品999久久久婷婷_欧美日韩一区二区三区在线视频 | 免费日韩在线视频_99久久精品免费精品国产_日韩亚洲一区在线_偷拍东北熟女BBWW_国内外免费激情视频_久久久伦理片_亚洲欧美日本国产不卡_欧美一区二区一级片 | 欧美在线视频一区在线观看_久久22_第一宅男av导航入口_亚洲欧美精品一中文字幕_国产女同91疯狂高潮互磨_youjizz国产_性天堂AV系列_97人人超碰国产精品最新O | 亚洲欧美日韩网站_免费播放毛片_欧美另类视频_男女性高爱潮免费网站_成人久久影院_中日韩一级黄色片_日韩av视屏在线观看_色戒网站 | 亚洲黄色小说图片_国产精品久久久久久久综合_色一乱一伦一图一区二区精品_免费gogo少妇大尺寸视频_欧美成免费A级毛片_伊人色吧_性猛交xxxx免费看蜜桃_亚洲第一伊人 | 亚洲国产视频二区_在线观看国产免费视频_午夜爽爽爽男女免费观看hd_亚洲成a人片在线观_玖草影院_欧亚乱熟女一区二区在线_国产精选第一页_日韩精品成人一区二区三区 | 久草新在线_亚洲婷婷六月的婷婷_欧美成人看片一区二区三区尤物_国产特黄在线_久久亚洲精中文字幕西条琉璃_久草热在线_国内91视频_欧美日本久久久 | 色八a级在线观看_久久久久国产精品一区二区三区_欧美成人69sss_91在线播_天天干夜夜透_1区2区在线观看_成人国产在线观看_日本第一页 | 久久www免费人成看片小草_国产卡一卡二卡乱码_噜啊噜在线成人A片观看_欧美一区3_欧美裸体XXXX_精品少妇一区二区三区在线视频_久草免费视_久久久国产成人一区二区 | 一边吃奶一边摸做爽视频_www.久久爽_xxxxxx性受_欧美精品二区_亚洲第一国产_巨乳一区_国产综合小视频_99热这里只有精品9988 | 国产精品一区二区免费不卡_无码专区—VA亚洲V天堂_YY6080久久亚洲精品_久久精品美女视频_性色av无码免费一区二区三区_裸体男同自慰gay网站_伊人久久综合色_中文字幕精品视频在线 | 五月天久久777_大帝av在线一区二区三区_99c视频色欲在线_中文字幕午夜精品一区二区三区_成人在线免费看_免费看黄色大全_亚洲午夜高清国产拍_天天狠天天情天天躁 | 本免费Av无码专区一区_日韩中文不卡_丝袜高潮流白浆潮喷在线播放_亚洲AV无码片区一区二区三区_春色视频成人www_久久久国产一级_日韩精品一二三区_av黄色免费 | 国产免费观看久久_91最新在线视频_曰韩免费视频_女人高潮一级一片_边摸边吃奶边做爽gif动态视频_久色国产在线_伊人网视频在线观看_午夜福利啪啪片 | 黄色影片免费看_国产精品免费区二区三区观看_人妻少妇无码精品专区_久久久久在线视频_西西人体444WwW高清大胆_中国老熟女人hd_精品一区二区久久_国产精品伦视频观看免费 | av色中色_日韩中文字幕免费观看_港台一级毛片_欧美最猛性xxxx_国产在线乱码一区二三区_www.色姐姐_中日韩毛片福利_素人一区二区三区 | 国产黄频_电家庭影院午夜_久久精品在线_成人亚洲欧美一区二区三区_一区二区在线国产_超碰97免费观看_五月婷激情_欧美激情五月 | 日产中文字幕在线观看_男人肌肌捅女人肌肌视频_99精品在线_四虎国产精品成人_在线一级成人_国产一区二区怡红院_欧美另类久久久精品_欧美顶级METART裸体全部自慰 | 久久成人影视_日韩欧美亚洲视频_欧美黑人巨大videos_成人av网站在线播放_色欲午夜无码久久久久久_精品www_午夜小片_极品国产91在线网站 | 在线观看免费国产小视频_国产黄色在线_久久久久久国产精品免费免费_成全视频在线观看免费高清在线观看_国产精品国产三级国产专播_FREEZEFRAME丰满老妇_国产强伦姧在线观看无码_国产性色强伦免费视频 | 精品国产一区二区三区久久_国产乱人伦真实精品视频_欧美肥胖老太bbw_一区二区三区在线视频_精品嫩草_欧美性xxxx视频_曰本黄色片_性XXXX中国HD | 亚洲精品国产综合久久_中文成人无字幕乱码精品区_老司机精品免费视频_日韩精品人妻系列无码专区_国产成人精品免费视频大_久久6国产_日本特黄特色大片免费视频_大陆国产乱人伦 | 国产精品www_欧美久草_国产欧美亚洲精品第三页_在线无码成本人视频动漫_国产日韩精品综合网站_国产亚洲精品91在线_中文字幕av免费观看_亚洲性视屏 | 成人活性生交大片免费看_最近2019年好看中文字幕视频_黄色一级久久_av网站一区_国产福利无码一区二区在线_亚洲人成网站在小说_久久艹国产_四虎一区二区成人免费影院网址 | 福利视频日韩_日本不卡免费一区_一久久久_粗暴进入娇小呻吟痛呼_激情伊人五月天久久综合_国产精品人妻熟女毛片av_精品少妇爆乳无码专区久久_日韩在线日韩 | 夜夜操综合_亚洲美女高潮久久久久_免费在线看片网站_神马午夜精品_国产欧美日韩亚洲精品区_欧美日韩国产精品自在自线_精品亚洲aⅴ在线观看_在线视频wwww | 亚洲m码欧洲s码sss222_午夜伦4480yy私人影院免费_成人一区二区在线观看_国内精品免费一区二区三区_久草91视频_91视频导航_蜜臀av免费_玖玖国产 | 久草久热_亚洲AV综合日韩_精品日韩一区_720lu国产刺激在线观看_日本娇小xxxⅹhd_亚洲爆乳AAA无码专区_日本少妇高潮喷水视频_久久精品国产国产精品四凭 | 亚洲中文无码永久免费_www私房写真在线观看_伊人无码一区二区三区_欧美精品在欧美一区二区_久久接色_欧美日韩精品一区_亚洲日本VA午夜在线影院_无码自拍一区 | 蜜桃在线一区_午夜福利09不卡片在线机视频_国产美女一级毛片_久久久无码a片观看免费_最新色综合_欧美肥臀大屁股MAGNET_国产亚洲欧美在线_亚洲一卡2卡3卡4卡精品 国产视频二区在线观看_久草在线免费资源_麻豆国产原创视频在线播放_久久五月丁香激情综合_亚洲精品国产福利_国产原创三级_一本一道在线人妻中文字幕_激情欲成人av在线观看av | 久久99国产亚洲高清观看首页_av最新在线观看_www蜜桃视频_78影视传媒有限公司_婷婷久久丁香_精品国产AⅤ一区二区三区V免费_性色88av老女人视频_久久艹99 | 亚洲国产成人精品无码区在线网站_国产精品免费久久影_国产一级一片免费播放_精品一卡二卡三卡_91中文啦_天天综合网页在线观看_老妇做爰xxxxhd老少配_久久久久久久久久99精品 |