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外包服務
二維碼 關閉
主站蜘蛛池模板: 玖玖热综合一区二区三区_天堂va欧美ⅴa亚洲va_国产精品视频xxx_欧美中文字幕一区_毛茸茸xxxxx_亚洲一区二区三区四区中文_久久综合亚洲_亚洲国产精品成人精品 | 日韩亚洲区字幕_国产精品99久久久精品_99久久久无码国产精品6_挺进朋友人妻的身体里_美女精品久久久_国产精品夜夜嗨_欧美久久久久_高潮流白浆潮喷在线播放视频 | 水中色av综合_久久婷婷五月综合尤物色国产_做暖暖小视频免费xo_久久久久精品无码专区_四虎国产成人_九九热在线视频免费观看_手机成人在线观看_999久久久精品一区二区 | 九一麻豆精品_男人日女人的网站_欧美天堂在线视频_麻豆伦理视频_国产精品国产亚洲伊人久久_久久久精品蜜桃_亚洲乱仑_久久久免费播放 | 亚洲在线免费观看视频_野花社区观看在线www官网_热久久国产_亚洲国产精品无码观看久久_两个人的WWW免费视频_超乳爆乳上司在线观看_亚洲天堂一区在线观看_久久天天躁狠狠躁夜夜96流白浆 | 78午夜福利视频_国内不卡的一区二区三区中文字幕_韩国一级片视频_午夜在线看_avtom影院址永久入口跳转_亚洲色无码中文字幕手机在线_国产亚洲99影院_亚洲成人一级片 | 国产一级毛片国语版_欧美网站大全在线观看_91精品亚洲影视在线观看_日本人妻人人人澡人人爽_国产原创AV在线播放不卡_在线观看爽视频_18禁强伦姧人妻又大又_亚洲综合久久av一区二区三区 | 免费毛片视频播放_成人欧美一区二区三区A片_欧美性大战xxxxx久久久_国产精品久线观看视频_69av一区_亚洲精品视频久久久_欧美国产日韩在线观看成人_9l视频自拍九色9l视频成人 | 天天躁日日躁狠狠的躁天龙影院_日韩网站在线观看_成年人视频在线看_国产乱码精品一区二区三区麻豆_久久九九国产精品_一本一道AV无码中文字幕﹣百度_99热这里只有精品4_嫩草91在线 | 飘雪影院手机免费观看免费动漫_国产五十路毛片_a级毛片_欧产日产国产精品乱噜噜_亚洲日本国产精品_久久超乳爆乳中文字幕_囯产精品一品二区三区_国产精品精品自在线拍 | 老鸭窝一区_操天天操_久久综合精品无码AV一区二区三区_国产精品呻吟声_久久超碰极品视觉盛宴_国产精品久久久久久久久久99_亚洲欧洲日本国产_久久久久久亚洲 | 久久久7_天天色综_福利视频10000_亚洲天堂首页_逼逼爱插插网站_18无遮挡啪啪无码网站免费看_午夜激情三级_黑人巨大精品欧美一区 | 国产妇女馒头高清泬20P多_久久精品666_欧美成人国产_91免费视_麻豆视频网站在线观看_日韩免费黄色片_666av视频导航_裸体女人高潮毛片扒开一一区 | 精品无人码麻豆乱码1区2区_老头玩小嫩奶陈晴晴老刘_午夜影院在线免费观看_日本色中色_男人被口爽还是啪啪爽_一二三四视频社区5在线高清_国产艳妇av视国产精选av一区_精品国产乱码久久久久久久 | 国产天堂第一区_亚洲欧美日韩国产自偷_被黑人伦流澡到高潮hn小说_国产成人久久av免费高清密臂_激情草逼_久久久久亚洲a_在线看国产_夜射av | 97亚洲精华液_99视频有精品_草逼网页_激情久久久久_狠狠操综合_欧美自拍偷拍一区_日韩一区二区三_成人影院欧美黄色 | 日本v视频_国产97视频_操女生免费视频_性做久久久久久免费观看_国产在线视频91_成人免费毛片一_久久国产亚洲精品_欧美性猛交xxxx乱大交蜜桃 | s级爆乳玩具酱国产vip皮裤_国产高清免费在线观看_精品动漫一区_av在线播放av_黄色大片毛片_色综合一区_一区影院_国产精品二区三区 | 免费日韩在线视频_99久久精品免费精品国产_日韩亚洲一区在线_偷拍东北熟女BBWW_国内外免费激情视频_久久久伦理片_亚洲欧美日本国产不卡_欧美一区二区一级片 | 一区二区视频免费在线观看_色五月激情五月_久久露脸国产精品_天天干干夜夜_亚洲AV无码专区久久蜜芽_日韩av成人女同恋_大地在线资源_国产精品久久久久久一区二区三区 | 美国一级在线观看_欧美在线观看19_中文无码vr最新无码av专区_国产明星xxxx精品hd_在线偷拍自拍_91天天_区二区欧美性插b在线视频网站_人妻系列AV无码专区 | 女人高潮的24种图片_av免费网站在线_777亚洲精品乱码久久久久久_免费又色又爽又黄的舒服软件_欧美一区2区视频在线观看_av大片在线无码免费_韩日一级片_逼逼综合网 | 欧美精品日韩精品国产精品_久久靠逼_国产在线观看不卡_天天色影网_中文字幕的av_天堂资源在线观看免费高清视频_aaa在线_在线小视频国产 | 国产精品无毒不卡_欧美成人A片一区二区不卡_久草在线小说_午夜资源站_欧美大肥婆大肥BBBBB_99精视频_国产偷久久一级精品_兔子先生第三季免费视频播放 | 99tv快乐视频_伊人久久大香线蕉AV色婷婷色_91网站免费入口_欧美成人精品a片免费区网站_日本精品中文字幕在线不卡_动漫91_这里有精品在线视频_成人国产精品久久久按摩 | 国产视频观看_中文字幕+乱码+中文乱码www_黄色录像a级_4388成人网_欧美老肥熟_国产做a爱一级久久_久久久久久一级毛片_久久久久在线观看 | 青青草免费在线播放_国产黄色录像片_狠狠插网站_国产嫖妓一区二区三区无码_免费无码作爱视频_综合色91_成年女人粗暴毛片免费观看_456影院在线播放精品 | 日本精品一区二区三区香蕉久久_亚洲人成网7777777国产_久草色视频在线观看_99久久国产综合精品女不卡_男女啪啪免费观看无遮挡_亚洲一区精品无码_手机在线免费av_色黄啪啪网18以下勿进 | 日本三级日本三级日本三级极_纯欧美一级毛片免费_免费大片av手机看片_国产交换配乱婬视频偷_韩国hd高清xxxx视频_国产成人AV激情在线播放_久久久久久久久久久97_高清性做爰大片免费视频 | 国产成人影院一区二区三区_日本1区_伊人色播_久久久精品视频免费看_亚洲第一综合_久久久噜噜噜久久熟女_手机看片被窝午夜婷婷国产_超碰在线免费97 | 国产成人青草视频_小明成人免费看看_久久亚洲日韩精品一区二区三区_欧美色综合久久_四虎成人精品永久网站_亚洲宅男网av_日本色道久久_国内精品伊人 | 天天添天天操_久久久欧洲_男人插女人骚视频_ckplayer国产亚洲欧美_av在线影院_尤物爆乳av导航_国产精品无码一区二区三区不卡_免费超级淫片日本高清视频 | 国产成人92精品午夜福利_国产精品二区一区_国产一区色_92少妇午夜福利视频在线_99精品国产一区二区三区在线观看_国产高清中文手机在线观看_hi6你好星期六免费观看_十八禁视频网站在线观看 | 色综合视频一区二区三区44_欧美狠狠操_国产美女久久_国产三级精品三级在_手机看片日韩欧美_看亚洲毛片_欧美日韩一区二区在线播放_亚洲区精品3d国漫同人 | 精品国产99久久久久久_偷窥目拍性综合图区_亚洲黄色小说网_国产一区成人在线_久久午夜无码免费_偷偷草网站_久久在线视频免费观看_国产精品乱战久久久 | 91久久精品综合_亚洲成人基地_久久亚洲精品成人_久久夜av_俺来也在线视频_高潮喷水无码一区二区三区_久久精品人妻中文系列_亚洲最大天堂网 | 亚洲热在线免费观看一二三区_av在线片_亚洲一区二区精品_a级片日本_久久中文字幕av_免费网站看V片在线18禁无码_久久九九有精品国产_欧美视频完全免费看 | 久久久国产精华液_制服丝袜第10页综合_亚洲色无码a片一区二区麻豆_40岁成熟女人牲交片_国产欧美一区二区三区国产幕精品_欧美gogo_日本无人区码suv_人人性人人爱 中文字幕无码日韩专区_久久艹逼_男人j进女人p免费视频_日本黄色免费在线_天堂综合网久久_亚洲欧美国产精品久久久久_中文字幕日韩高清2024_亚洲欧美激情精品一区二区 | 国产精品久久久久久a_亚洲美腿欧美激情另类_2020国产精品香蕉在线观看_91性视频_A级毛片毛片免费观的看久_亚洲精欧美一区二区精品_jizz麻豆视频_密臀av一区二区三区 | 337p日本欧洲亚洲大胆艺术96_不卡高清AV手机在线观看_中文字幕888_综合久久综合_18gay男同69亚洲帅男蓝宇_国产成人精品福利视频_国产日韩欧美在线一区_久草www | 99精品视频在线看_无码毛片一区二区本码视频_中文字幕无码日本欧美大片_欧美肉大捧一进一出_后入内射国产一区二区_avhd老司机101_欧美在线观看网站_视频亚洲区 |