2017年3月30日 星期四

開源程式碼品質檢測系統 SonarQube



SonarQube 開源程式碼品質檢測系統,它有提供雲端版本,不過雲端版本只提供用來檢測開源專案,若您要檢測自己的專案且不公開,可以採用自建版,於公司內做更多的分析與應用。

支援超過 20 種程式語言,例如 C/C++、C#、Objective-C、JavaScript、VBNET、PHP、Swift、HTML、PL/SQL、Python、COBOL(驚!)、... 等。

透過 SonarQube 自動找出潛在問題並提供建議的解決方式,協助大量節省許多人工檢測時間。

開源弱點掃描系統 OpenVAS 推出最新版本 9



開源弱點掃描系統「OpenVAS」,24 個月後最新的 9 版終於來了。

其中一個亮點是改進了網頁介面的呈現,看看上圖這個 Dashboard,順眼多啊。

OpenVAS 9 Release 說明頁:
http://www.openvas.org/news.html#openvas9 

OpenVAS 9 的 VM 檔也已經準備好,下載頁:
http://www.openvas.org/vm.html


2017年3月29日 星期三

企業資料備份的開源方案推薦 - Duplicati




現代企業正處於「十倍速時代」,所有知識與資料的數量以非常驚人的爆炸性成長往上攀升,也因為所有的營運都與數位資料息息相關,如何儲存與備份就是一個令企業資訊單位非常頭痛的問題。



頭痛的問題點在那裡?


「儲存系統運作」

需要考量效能與管理難易,此議題可參考另一篇拙作 企業應用經驗:開源儲存系統「FreeNAS」 。


「容量無限需求」

海量數據需要依賴龐大的儲存容量,如果已經有了良好的儲存運作中心,剩下要擴充容量就只有一個因素:「錢」。 
經費是所有資訊單位的痛,關於此議題同樣可參考拙作 企業應用經驗:開源儲存系統「FreeNAS」 。



「做好備份機制」

即便解決了上述兩項問題,仍然有最後一道關卡「備份」。 
別忘了,資料不是存在良好的伺服器與硬碟上就永遠不會出問題,在電子的世界裡,沒有人能保證所有系統維持 100% 的妥善率。 
而這個備份問題,就是本篇要討論的主要題目。



資料備份又有什麼問題?


備份的問題非常複雜,除了備份軟體的功能與支援度,還有備份目的地這件事需要考量。

早期高容量儲存技術,主要以磁帶機、磁帶櫃為存放標的,隨著硬碟技術逐漸進步與成本降低,備份方式已經轉移到硬碟來做存放,例如搭配 NAS 網路儲存系統作為備份伺服器。



然而再怎麼建置備份系統,只擺一份還是危險,若整座機房發生災難,則全部毀於一旦。

因此,衍生出「異地存放」的需求,但是中小企業那裡來的錢可以找到適合的場地與線路擺放第二個異地備份裝置?

幸好,這幾年雲端服務非常火熱,相關的服務供應商雨後春筍般陸續成立,Amazon、Google、Microsotf 等紛紛投入市場,一夕之間,異地備份的問題迎刃而解。

也就是說,備份趨勢的改變,由 磁帶 ("T"ape) -> 磁碟 ("D"isk) - > 雲端 ("C"loud) 方向進行蛻變。


在備份策略上,可以進行多種應用,例如,從運作的系統先備份到另一台同樣機房裡的備份伺服器,再由此備份伺服器轉存到磁帶上,再把磁帶運送到其它地點,完成兩個備份目的端,這就是「D2D2T」的模式。


同樣道理,最後一端也可以是 NAS 伺服器,並且擺在異地,這是「D2D2D」。

最新的模式,則是將最後一端直接上傳到雲端儲存,完成真正的異地備份,這就是「D2D2C」。


有什麼好方案介紹?


當然有,市面上已經有許多發展成熟的備份軟體,在不少企業中都已應用的非常廣泛,尤其是前者,我也曾經非常喜歡。






在雲端上傳部份,我也曾經使用過 NAS 系統提供的應用來做 Google Drive 上傳,例如 Synology 群暉科技 NAS 設備所提供的功能。




那麼,我的開源選擇呢?


當然,還是要找找究竟有沒有開源軟體可以符合我的需求?

對我來說,最重要的評估項目有幾點:

  1. 具有靈活設定排程備份。
     
  2. 支援壓縮,用以節省備份容量與流量。
     
  3. 提供檔案加密,來避免備份檔被竊取或外流造成機密曝光。
     
  4. 容易操作的還原介面,以時間點為主要選擇項目。
     
  5. 多種備份目的地支援,包含 Local Driver / Folder、FTP、SFTP、CIFS、Google Drive / Cloud Storage、Amazon Cloud Drive / S3、Azure BLOB。
     
  6. 可以設定要切割上傳的容量大小,這個非常重要,因為許多雲端空間都有單檔容量的上限。
     
  7. 跨平台支援,包含 Windows、Linux、MacOS。
     
  8. 支援 VSS (Volume Shadow Copy Service,陰影複製),才能備份 Windows 中被鎖定或佔用的檔案。


在這麼多的要求條件之下,有些商業軟體甚至都已經被刷掉了。

不過,我們運氣非常好,剛好就有這麼一套開源軟體可以符合上述條件。


Duplicati

Duplicati 是一款跨平台的備份軟體,但是很多人沒意會到一個重點,Duplicati 是用標準微軟 .NET 平台以 C# 開發的程式,在 Linux、MacOS 上透過 Mono Framework 進行運作。


Duplicati 從 2.0 起,操作介面改為清爽的 Web 模式,並支援 RWD,所以只要有瀏覽器即可進行該伺服器的備份設定與管理,非常方便也提升顯示相容性。


如上述所提,Duplicati 支援的雲端儲存相當豐富,而且隨著持續改版也會不斷加入各種雲端儲存空間的支援。



還有沒有其它適合企業應用的開源方案呢?


有的,如果您有企業集中備份的管理需求,可以採用另一套企業級開源備份軟體,提供中央管理伺服器,只需在要備份的主機上安裝好 Agent,剩下的事都交給伺服器處理。

Bacula



Bacula,本圖取自官網」


特別說明:
Bacula Windows 版的 Agent 在使用上要注意授權,僅限「personal use only」,若您要商業使用請記得購買授權。 
[官方說明頁面]


結論


資料備份,刻不容緩。
及早預防,及早治療。


本文同步刊載於「軟體自由運動部落格」。


2017年3月27日 星期一

線上問卷與投票系統的選擇



近期公司有投票及問卷系統的需求,上網找了一下有那些開源的方案可以自行建置,不找還好,一找就發現一套驚為天人的好系統,經過試用後決定推薦一番。



免費線上服務從不缺少


此類型的系統,在網路上可以找到滿坑滿谷的線上服務,只要簡單註冊後即可開始使用,對於臨時或小情境可以善加利用。





如果要更進階專業的功能,還有專精於這類服務的供應商,幾乎是比問卷系統當成一門專業事業在經營。



Typeform



雲端系統 vs 自建系統


雖然上述服務都能提供豐富且完整的功能,但是對於企業應用來說,總是有些擔心把資料放
別人家會不會有問題,例如服務倒閉、收費提高、本地管理... 等各種疑慮,從而想要自己架設一套在自己的公司裡。





自己開發當然是一條很棒的路,然而現實上不見得划算。在這樣情況下,尋找既有的方案是條可行的道路。




良好的開源方案已經存在


在多方比較與試用過後,我特別推薦使用「LimeSurvey」這個開源方案,它是一款強大且彈性的開源線上問卷系統,以 PHP 及 MySQL 開發。


LimeSurvey



我試用過後的心得如下,提供各位參考。


  1. 類型豐富,單選、多選、陣列表格、數字、文字、日期、檔案上傳...等。
     
  2. 介面支援多國語系,題目也可以提供語系選擇,重點是介面有中文、中文、中文!
     
  3. 可以匿名投票,或用 CSV 或 LDAP 吃人員名單,還內建邀請碼機制與發送郵件邀請與提醒,邀請碼可以一次對名單所有人個別產生。
     
  4. 題目之間可以設定條件與流程,適用於不同答題顯示不同後續題目的場合,甚至支援正規表示式來做判斷。
     
  5. 題目與答案可以用 HTML 視覺化編輯器,想要放圖片放影片放表格都可以。
     
  6. 支援亂數題目,還可以將同一張問卷的題目分群組,針對群組各自亂數取提。
     
  7. 可以一題一頁、一題組一頁、全部一頁,三種顯示方式。
     
  8. 採 AJAX 設計並支援 RWD,手機瀏覽器無痛使用。
     
  9. 可以選擇問卷是否記錄答題者IP位址、來源網址、可以記錄答題時間。
     
  10. 可以在交卷前先儲存目前答題狀況,之後再回來續做。
     
  11. 問卷支援模版系統,可以自行定義想要的問卷長相。
     
  12. 提供統計數據,有圖表,也可以匯出為 pdf、excel 等。
     
  13. 它是開源 Open Source 的!



多種題目與答案形式可選用


甚至提供陣列(表格)形式的題目與答案


問卷的外觀形式可任意自行定義





結論


以目前來看,LimeSurvey 適合對外使用,若要在企業內部使用,欠缺 AD/LDAP 的認證整合,只能用邀請碼替代較為不便,希望未來能予以整合或是找到適當的外掛搭配。

本文同步刊載於「軟體自由運動部落格」。