發表文章

目前顯示的是 5月, 2016的文章

DevOps Lessons Learned at Microsoft Engineering 筆記

原文: https://www.infoq.com/articles/devops-lessons-microsoft 筆記 組織 講Microsoft裡面的DevOps 故事描述的是Cloud & Enterprise and the Bing teams 以前,在一個Feature Team有三種角色:program managers, developers, and testers Developer與Tester在組織架構上就分開,還有一個operations team 我們想要減少內部溝通所需花的心力所以: 結合Developer與tester->software engineer:讓一個feature能從無到有產出並能正確穩定運行 把operations team的人也帶進來->service engineer 要做到最好的單一服務,就是需要一個可以緊密合作的團隊,寫code與測試與運營的人應該要能緊密合作。 最後組織的安排,把dev team與test team結合,operations team也拉進同一個大組織裡。 在這個大架構,接下來就分成Feture team,負責單一個解決方案,Feature,或Product 有專門開發運營內部工具的team 有開發功能的Feature team,由10~12人組成,採用自我組織,自我管理的方式 有4307人在Develper Division,436人在Team Service Team(指的是Visual Studio Team Service),在Team Service Team有35個Feature Team 一個Feature Team有 一個program manager 一個engneering lead 幾個software engineer 幾個service engineer,他們同時支援多個team,但是都在同一個Product裡 另外一個改變就是,相較於之前不同組織就在不同的區域,現在同一的Feture team的人都搬到一起,所以大家不管是討論、接電話,所有有關工作的事情都可以有共同的體驗 責任 上述的所有改變的主...

Riot工程師分享:THE ARCHITECTURE OF THE LEAGUE CLIENT UPDATE 筆記

參考來源: http://engineering.riotgames.com/news/architecture-league-client-update 心得 看了這篇才知道可以用CEF來開發Desktop Client,Java Script統一所有前端的浪潮還在持續呀。最後講到了”datacenter in a desktop.”也蠻有趣的,Plugin架構雖然不是什麼新觀念,但卻可以很好的解決他們遇到的問題,以後遇到可以參考一下。話說回來,要寫個windows client要同時寫C++與Java Script,好像有點OOXX,不過這是因為他們不想連遠端Server的實作都改的折衷方案,畢竟Client整修失敗,就把舊的拿出去用就好,Server整修失敗,就…. 筆記 主要就是談:the League client update,進遊戲之前的Client Application 原本使用Adobe AIR,使用它的RTMP協定,動畫呈現,而且還是跨「桌機」平台。遊戲推出的當下,可說是很好的解決方案,不過接下來就開始不合時代潮流,因此要做新架構 新架構要解決的: 用HTML5+JavaScript的解決方案,不管是在client端呈現,或是與Server溝通,還有工作流程與開發環境都比原本更有擴充性且易用。 不管是遊戲內遊戲外,玩家都可以保持連線:原本Adobe AIR的方案對PC資源使用率過大,也不支援手機。 工程師們想要有個更簡單一致的開發架構。 一開始想要改少一點,想說直接重用Adobe AIR的code來搞,但發覺現在已經有更多更好的方案。 後來選擇了 Chromium Embedded Framework (CEF) ,寫Desktop Client就像是寫網頁。對HTML 5有很好的支援,而且界面修改自訂可以更靈活。 決定重寫(!),重寫很危險,但好處比壞處多就上。 Step A 所以Client界面主要就是Java Script 為了要讓Java Script與原本的Server溝通,原本Server是支援RTMP,所以他們為Java Script Client開發了一個C++原生Library,負責用RTMP與Server溝通,以及提供非同步的處理。 為什麼Server還是用RTMP?因...