日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

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外包服務
二維碼 關閉
主站蜘蛛池模板: 亚洲中文无码卡通动漫3D_欧美精品久久凉森玲梦_国产美女mm131爽爽爽_www久久久久久久_欧美506070老妇乱子伦_亚洲精品在线视频网站_国产导航在线_懂色av中文一区二区三区 | 一级视频毛片_成人观看免费视频_97影院九七理论片在线一二_免费av一区二区三区_午夜A级成人免费毛片_一级高清免费毛片_狠狠五月激情六月丁香_久久99精品这里精品6 | www国产精品内射_欧美日韩国产精品激情在线播放_FREE性少妇饥渴XXⅩXXHD_手机福利在线_亚洲另类伦春色综合妖色成人网_久久密臀_欧美又粗又硬又大免费视频Q_亚洲无在线观看 | 日本久久精品一区_亚洲黄片在线免费_日本japanesexxxxx乱_久久久这里有精品_亚洲AV成人一区二区三区_亚洲狠狠婷婷综合久久久_欧美+日本+国产+在线观看_精品国产美女AV久久久久 | 91精彩视频_青草在线视频_69精品_女人18毛片水最多_噜啊噜在线成人A片观看_97色碰碰公开视频_色女人综合_成人在线视频一区 | 亚洲三级毛片_91超在线_久久久久久久久久艹_天天操中文字幕_japanese老熟妇乱子伦视频_国产在线视频欧美_精品一区日韩_国产日韩欧美综合在线 | 凹凸视频国产福利永久_91华人在线_亚洲免费av网站_av白浆_亚洲制服无码一区二区三区_91精产品一区一区三区_国产免费人视频在线观看免费_国产亚洲欧美日韩在线观看一区二区 | 久久久97一区蜜臀国产日产精品_亚洲视频免费在线观看_精品国产毛片_亚洲人成人网站18禁_国产精品国语对白露脸在线播放_三级理论_久久夜色撩人精品国产_国模沟沟一区二区三区 | 亚洲人成小说网站色_免费在线看黄色_久久久久久亚洲精品_一个人看的www免费观看视频_亚洲欧洲日本国产_不卡久久_性生交大片免费全毛片_兔子先生高清在线观看 | 午夜精品久久久久久久99樱桃_日本一二三高清_国产一级视频免费观看_视频在线观看网站_国产超aⅤ男人的天堂_久久九九国产视频_免费视频福利_久久国产精品偷任你爽任你 | 国产福利免费在线观看_色小姐av_男女多P混交群体交乱A片_91精品国产乱码久久蜜臀_xf在线a精品一区二区视频网站_1000部又爽又黄无遮挡的视频_精品日产一区二区三区_亚洲午夜国产 | 全部免费毛片在线播放一个_高潮又爽又无遮挡又免费_青草草在线观看免费视频_日本欧美一区二区三区不卡视频_欧美大片首页欧美大片首页_视频在线观看网站免费_国产精品乱子伦xxxx裸_全程粗话对白视频videos | 国产黄色视频白丝_午夜精品福利一区二区蜜股av_日本在线观看不卡_国产91丝袜高跟系列_亚洲国产观看_中文字幕日本精品_www.成人亚洲_国产高清一区在线 | 91麻豆精品国产91久久久久久久久_一级毛片真人实干_视频成人免费_日韩欧美亚洲视频_亚洲欧美日韩国产成人精品_成人毛片免费网站_韩国毛片在线观看_日本午夜一区 | 久久久久久臀欲欧美日韩_国产免费片_五月久久六月婷婷俺也去_久草在线欧美_一级片片_91大神精品视频_91麻豆精品国产91久久久_国产欧美精品 | 亚洲欧美18岁网站_欧美xxxx色视频在线观看免费_18禁黄网站禁片免费观看女女_收集最新中文国产中文字幕_免费日本在线观看_26uuu婷婷_亚洲一级大黄大色毛片_成人久久久精品国产乱码一区二区 | 国产精品国产三级国产有见不卡_国产在线激情视频_免费精品国产人妻国语三上悠亚_中文字幕人妻熟女人妻A片_日本无码一区二区三区在线_黄色片视频国产_精品久久人人做人人爱_欧美性大战xxxxx久久久 | www.嫩草_人人爽人人爽人人片a∨_国产三级农村妇女在线观看_99无人区码一码二码三码四码_182tv午夜_丰满少妇被猛烈进入在线播放_精品久久8X国产免费观看_欧美视频日韩视频 | 中文字幕在线观看一区二区_日本极品少妇videossexhd_欧美中文一区_亚洲成人www_国产精品一级无遮挡毛片_香蕉av久久一区二区三区_VideOS性饥渴_国产精品萝li | 私人影院免费看_日韩三级一区二区三区_欧美国产日韩在线观看成人_人人妻一区二区三区_18禁超污无遮挡无码免费网站国产_欧美xxxx做受欧美_国产精品一二三区免费_www天天干 | 日本色片视频_精品久久久久久久久久久久久久久_久久99久久99精品免视看婷婷_日本一区二三区_夜夜爽亚洲人成8888_国产av久久久久精东av_夜夜av_精品国自产在线观看 | 国产潢片AAAAAAAAA免费_天天干天天操天天操_日韩在线播放一区二区_国产日韩大片_很黄很黄的曰批视频_成人精品国产亚洲_国产麻豆一区二区三区精品_1—42集免费观看 | 免费在线全程观看_视频一区二区国产无限在线观看_国产原厂视频在线观看_MM1313亚洲精品无码久久_91人妻人人澡人人爽人人精品_亚洲熟妇色XXXXⅩ欧美_国产视频一区二区三区在线_日本艳妓BBW高潮一19 | free国产毛片一区二区_97天天综合网_又污又黄无遮掩的网站_久久精品AV无码夜色_激情男女高潮射精AV免费_嫩草视频网站_久久精品亚洲一区二区三区观看模式_免费a级黄色毛片 | 久久xxx视频_国产寡妇乱子伦一区二区三区。_精品999www_二级黄色大片_久久毛片视频_靠逼国产_精品免费国产二区三区_伊人色播 | 久久久久久精品无码人妻_亚洲欧洲日韩精品中文字幕_国产乱一乱二乱三_在线观看国产成人无码_精品人在线二区三区_性爱国产精品福利_少妇自慰流白口浆21p_神马午夜精品 | av网站免费在线观看_中文字幕色av一区二区三区不卡_国产精品午睡沙发系列_免费人成在线观看视频播放_亚洲女孩中文字幕免费视频_大地资源免费高清观看_曰曰夜夜的爱_国产av激情无码久久 | 欧美另类高清ZO欧美_老太BBwwBBww高潮_最新91视频_午夜精品久久久久久久久久久久久久_欧美一区二区视频高清专区_午夜无码A级毛片免费视频_全国最大的成人网_亚洲综合日韩精品欧美国产 | 国产精品久久久久久久福利竹菊_久久激情小视频_国产伦精品一区二区三区视频黑人_久久精品无码午夜福利理论片_久色成人在线_色婷婷久久综合中文久久_成人欧美一区二区三区黑人免费_国产高潮a片羞羞视频涩涩 | 久久久久久久久久久久91_中国孕妇变态孕交XXXX_国精品无码人妻一区二区三区_国产成人免费在线视频_成人免费看片_免费二区_91视频视频_亚洲2021av天堂手机版 | 欧美三级三级三级爽爽爽_国产欧美亚洲日韩图片_欧美日韩免费视频_亚洲23p_欧美一区二区三区免费视频_91导航在线_久久久一区国产精品无码_国产91黄色 | 美国一级欧美三级_久热精品免费视频_真实的国产乱ⅹxxx66v_免费精品国产自产拍在线观看图片_a中文在线_年轻的少妇做a_午夜影院0606_99成人精品 | 精品国产不卡一区二区_91精品国产影音先锋大全_欧美日韩精选_国产第19页精品_成人性生交大片免费看视频hd_第一av网_久久久黑人_欧精品一区 | 色欲午夜无码久久久久久_se亚洲_日本xxxx在线播放_在线精品观看国产_久久黑人_日韩一二三_国产精品网站在线观看免费传媒_在线色影院 | 在线免费91_一级久久久久久_一本大道伊人av久久乱码_一级黄片一级毛片_大地资源网视频在线观看新浪_www久久99_成人无码区免费视频_国产全肉乱妇杂乱视频 | 直接看的Av网站免费观看_精品欧美国产一区二区三区_成人黄网站片免费视频_老司机精品视频免费观看_亚洲aⅴ欧洲av国产综合图片_天天色操_久久久国产精品女同三区_日本卡一卡2卡三卡4乱卡乱码 | 国产黄色视频白丝_午夜精品福利一区二区蜜股av_日本在线观看不卡_国产91丝袜高跟系列_亚洲国产观看_中文字幕日本精品_www.成人亚洲_国产高清一区在线 | 久久久久高清视频_52avaⅴ我爱haose免费视频_亚洲日韩成人性av网站_黄色影视免费看_JVID亚洲精品无圣光图套_久久国产欧美一区二区精品爱欲_国产精品96久久久久久久_亚洲天堂区 | 亚洲AV成人精品日韩在线播放_97夜夜澡人人爽人人模人人喊_国产成人精品免费视频大全五级_日韩区欧美久久久无人区_中文天堂网www新版资源在线_欧美饥渴熟妇高潮喷水_www.青青草原.com_日韩专区一区二区 | 亚洲国产精_97伦理影院_国产放荡AV剧情演绎麻豆_国产不卡一区在线_亚洲天堂地址_又大又黄又粗又爽的免费视频_亚洲一及片_日产福利视频在线观看 | 免费成年人_亚洲熟妇中文字幕五十中出_精品一区二区三区免费在线观看_四虎永久影院_国产普通话尤物吞精视频_精精国产xxxx视频在线动漫_亚洲综人网_国产一区二区欧美 |