Cloud Foundry 是開放源碼的 PaaS 解決方案,支援多種程式語言、開發框架及資料庫等服務,而且更容易開發、測試及佈署。本系列文章將從零開始,和學習者一起開啟雲端應用程式開發的大門。
使用 Cloud Foundry Integration for Grails Plugin 發佈應用程式。
安裝 Cloud Foundry Integration 後,先查詢 Grails 多了哪些指令可用:
::
grails help
其中「cf-」起始的指令就是 Cloud Foundry Integration Plugin 提供,在 Linux 及 Mac OS X 系統下,可以使用 grep 篩選僅列出 cf 相關指令。
::
grails help | grep "grails cf"
請先確認在 Config.groovy 已經有 Cloud Foundry 的帳號密碼設定,接下來就可以發佈應用程式:
::
grails cf-push
在第一次發佈時,程式會詢問我們是否要與資料庫服務建立連結,此時輸入 n 即可,因為範例程式使用 HSQLDB 所以不需要外部的資料庫。
::
Would you like to bind the 'mysql-50d38' service?[y,n]
發佈完成後,就可以用瀏覽器開啟網址(例如:http://myfirstgrails.cloudfoundry.com),測試發佈到 Cloud Foundry 的 Grails 應用程式。
使用 cf-stats 指令顯示目前應用程式的狀態:
::
grails cf-stats
Cloud Foundry 提供 Grails 專案預設的記憶體配置為 512MB,因為 Java EE 的專案相當耗記憶體,如果低於 512MB 就可能發生記憶體不足;從實際用量超過 300MB 來看,確實也只能選擇 512MB 以上。
::
+----------+-------------+----------------+--------------+--------------+
| Instance | CPU (Cores) | Memory (limit) | Disk (limit) | Uptime |
+----------+-------------+----------------+--------------+--------------+
| 0 | 4.6% (4) | 382.9M (512M) | 40.6M (2G) | 0d:0h:8m:49s |
+----------+-------------+----------------+--------------+--------------+
由此可知,在 Cloud Foundry 或其他 PaaS 運行 Java EE 應用程式的成本並不低,如果是小型的應用可以考慮如 Node.js 以節省成本。