雲端系統開發

良知公司致力於應用各項雲端技術,完成將資訊技術落實到實際應用的環節,協助客戶的資料管理、流程管理、電子商務需求及自動化的訊息傳遞通報等需求。

這項工作可稱為系統整合服務(System Integration;簡稱SI),但與傳統系統整合服務的差異之處,在於我們積極整合各項雲端化技術資源、完善資料庫數據的備份及備援策略、工程團隊擁有自行開發核心技術與應用功能模組的能力等。因此各樣功能均儘量提供客戶選擇「使用知名可信任的第三方技術功能模組」或「良知公司開發的技術功能模組」,以符合客戶日趨在意的程式原始碼提交與審查、程式碼設計的溯源、以及智慧財產權合法授權等細部需求。

近年主要協助客戶建立的系統應用流程,彙整如下圖所示,但實際專案可能只建立其中局部之功能。

 

在系統程式設計所使用的技術資源部分,良知公司主要採用的工具如下:

  1. 伺服器採用 Amazon AWS雲端伺服器主機,或客戶自行提供的本地端伺服器主機。
  2. 應用程式防火牆採用 Amazon AWS AWF系統功能、伺服器系統套件或客戶自行架設的防火牆系統。
  3. 作業系統採用 Linux Server,目前建議使用的版本有 Ubuntu 18.04/20.04或 Rocky Linux 8/9。
  4. 資料庫系統採用 MySQL或 MariaDB。
  5. 後端系統程式設計採用 Ruby on Rails語言,並藉由 RubyGems包裝與 API設計,達成快速部屬及版本管理。
  6. 前端系統程式設計採用符合 W3C規範的 HTML5、CSS3與 JavaScript 語言進行資料顯示與介面功能設計。
  7. 資料庫數據的介面顯示採用 Bootstrap table套件。
  8. 程式原始碼的版本控制採用 Git控制系統,達成 CICD持續整合及持續佈署的自動化管理需求。
  9. 自行建立機器數據監控工具,通過使用者介面監測、應用程式自動回報、伺服器自動回報與 log資料監測等多通道監測策略,並透過 Email或社群媒體工具自動通報異常狀態,達成 CICD持續整合及持續佈署的自動化管理需求。
  10. 於最重要的系統功能環節,導入自動化測試,達成系統功能的確校與計算校正需求。
  11. 系統資料庫與附件檔案等異地備援,可採用 Amazon AWS S3服務工具或自行建置管理的備份伺服器系統,並確保每個專案的備份頻率及備份數量足夠。

 

此外,我們非常重視智慧財產權,在執行程式設計與系統功能佈署之前,會依據以下事項確保客戶與自身沒有侵權或觸法疑慮。

  1. 不使用來源不明的第三方程式套件。
  2. 不使用缺乏合法授權文件的第三方程式套件。
  3. 不使用無法通過資訊安全檢測(例如黑箱測試與白箱測試)的程式套件。
  4. 不拒絕客戶要求提供程式原始碼、及原始碼檢測(例如 code review或白箱測試)等作業。
  5. 不公開與客戶應用系統相關的程式原始碼或設定參數於外部平台。
  6. 良知公司全體員工均簽屬條文完善的智慧財產權授權文件,確保可授權項目的完整性及合法性。