中秋節前,數人雲技術團隊推出了一款新的基于swarmkit技術棧的工具。大家可能都了解到數人雲的容器技術棧是用mesos驅動的,為什麼在docker剛釋出最新的1.12版之後,我們要做出這個工具呢?在這裡分享下我們的心路曆程。
穩定可靠,還是簡單易用?
時至今日,docker技術在國内容器圈已成為實質性的應用分發标準,國内的容器公司都在以docker作為自己的技術棧,圍繞該技術進行突圍。docker swarm技術是容器叢集軟體,在它釋出之前,已經有kubernetes、mesos這兩套優秀的容器編排工具,swarm的出現讓社群感到困惑,大家看不清楚docker的方向。docker公司當然并沒有止步不前,後續又推出了swarmkit套件,把swarm的精華注入到docker這個單一的二進制檔案中,讓開發者可以非常友善地擷取原有的叢集能力。
這種颠覆是非常挑戰原則的——我們到底需要的是穩定可靠的基礎設施,還是簡單易用的基礎設施?這種疑惑在容器圈炸開了鍋。docker秉承了unix原則把每一塊都做的很小巧、簡單,但它又颠覆性地把子產品都綁定在一起。大家知道,一個系統級程式應該是一個程式隻做一件事,做到松耦合是前人的經驗結晶,沒有人願意打破這個規矩。然而,docker卻在打破它,這種創新付出的代價就是docker的架構越來越讓人擔心,擔心它無法在生産級别中使用。在我看來,docker技術引發的思想碰撞非常值得尊敬和學習。
最近,以紅帽為代表的公司開始提供forked版本的docker,從社群營運的角度來看,社群的分化在一定程度上對docker發展是有害的。因為docker這個軟體目前是由docker公司掌握的,oci标準實質上并沒有起到開源标準的作用。這個現狀把docker公司推到了風口浪尖。從技術角度來看,激烈的競争讓docker出現多個forked版本,直接推動了技術的進步,亦不失為一件好事。
中國有一句成語:合久必分,分久必合,放在這個場景下描述docker的現狀是最合适不過的。從社群營運的角度來說,docker本身的項目在github上有3萬star,1萬forked。這種熱度的開源項目已經屈指可數,我沒有細查排名,但足以說明docker是一個由全球開發者共同創造的工具。由于商業利益,無形中把開發者的貢獻割裂開來,這是任何一個社群的開發者都不願意看到的局面。是以,不管是追随docker技術,還是打擊docker技術都會讓人糾結。我本人的觀點是,結合前人的經驗,不管黑貓白描,隻要能抓到老鼠就是好貓。
對于數人雲來說,深入docker技術本身,為企業提供有力的工具是我們高效産出的最好展現,很多技術争論的對錯本身沒有錯,隻是太耗費人的精力,最終容器技術的方向,還是讓我們拭目以待看docker公司如何應對。
更多技術棧的包容
數人雲技術團隊為了幫助廣大技術愛好者對docker新版本有快速直覺的感受,制作了一款基于最新swarmkit特性的容器管理工具crane,具備一定容器開發經驗的開發者可以通過它在第一時間體驗docker的新特性。數人雲crane在開發者和數人雲之間建立了一條新的紐帶,将集結越來越多的技術愛好者把docker技術的推動落實到實作上。為了讓企業使用者了解更多crane的原理,我們還在github上把代碼開放出來,讓更多的開發者參與進來,一起推進真正的容器技術的發展。
數人雲在繼續專注mesos技術棧的同時,包容更多的容器技術。數人雲現有兩版産品——數人雲作業系統和容器管理面闆crane。數人雲作業系統針對企業客戶,幫助傳統企業實作it業務轉型,更好地應對業務變化。而數人雲容器管理面闆crane針對開發者,強調簡單易用。我們認為,容器創業公司的目的就是幫助客戶試錯,并提供更友善的容器産品以及解決方案,這就是數人雲的價值。
數人雲crane是一個極其簡化的管理控制台,它結合了國外最先進的容器技術和數人雲對容器技術的認知和實踐,數人雲選擇将它開源也是為了幫助更多的使用者了解容器的好處和限制。開源的好處是使用者可以參與進來一起讨論場景,幫助大家一起成長。
數人雲crane的釋出是數人雲迎來全容器新階段的信号,數人雲是一個容器技術驅動的公司,我們用容器技術驅動業務,未來我們會制作更多的新産品來滿足不同層面的使用者。
可以說,數人雲crane是在docker技術能否持續下去的争論中釋出的工具。國内容器圈對于docker技術也是存在各種質疑和争論。但技術就是技術,毋庸争辯,docker技術确實是一項新技術,值得我們應用起來推動自己業務的發展。是以,我推薦大家試用數人雲crane,體驗一下新技術帶來的改變。當然,數人雲将一如既往的追求商業技術的穩定和發展,如何把docker技術更好的結合起來,仍然是我們需要認真對待的課題。大家看看mesos社群,就會發現mesos技術本身也在發生巨變,原來基于http socket的api,在汲取restful的經驗之後,于1.0版本全面轉向了restful json api。最近該社群又引入了unifiedcontainer(mesos-2840)、pod(mesos-2449)等概念。很多人認為,這不是在和docker唱反調麼?其實,這就是容器技術的演進。新技術的演進在内部發展之快,正好說明容器技術的趨勢是受到業界關注的。對于數人雲來說,我們更關注的是産品的技術特性和使用體驗,對于技術内部的演變,我們的态度是擁抱變化,為更多的應用可能提供基礎。
數人雲容器管理面闆crane是一個面向最終使用者的工具,代表着數人雲技術團隊一種技術驅動的态度。我們深刻了解業界容器圈的擔憂和争論,數人雲期望通過務實的産出來表達一種觀點,那就是數人雲是一家以開源技術驅動的容器公司。期望更多的同道中人能加入我們,一起參與到容器技術的變革大潮中。