CodeName:BlueMix 是一款 Beta 級產品,隨著我們不斷讓其功能更加完善和更便於使用,它也將不斷改進。 我們將竭盡全力保持本文最新,但它並不總是完全跟上現狀。 感謝大家的理解!
Codename: BlueMix:IBM Cloud 環境中的一項關鍵技術,BlueMix 是一個單一解決方案環境,包含用於跨多種領域快速開發和部署應用程式的即時資源。 您可以使用這個基於開放標準的平臺來構建、運行和管理 Web、移動、大資料和智慧設備應用程式。 BlueMix 支援許多流行的程式設計語言和框架。 JAVA™ 技術、移動後端開發支援、應用程式監視、開源技術等等,都可以通過雲中的服務模型來提供。
BlueMix 目錄包含您正常工作所需的大部分內容。 強大的樣板代碼、預先配置的服務集、運行時和示例代碼都可以立即使用:
運行時,比如 Liberty for JAVA、Node.js 和 Ruby on RailsWeb 和應用服務,比如 Data and Session Cache、ElasticMQ、Decision、SSO、Log Analysis、Red is、RabbitMQ 和 Twilio移動服務,比如推送通知、Cloud Code、Mobile Application Management 和 Mobile Quality Assurance資料管理服務,比如 MongoDB、IBM 的關係資料庫、IBM 的 JSON 資料庫、MySQL、PostgreSQL、MobileData、Mobile Sync、BLU Data Warehouse 和 MapReduce監視和分析服務DevOps 產品,比如 JazzHub
本文快速概述了 BlueMix 和其他一些讓 IBM Cloud 成為完善的雲產品的技術。
探索 Codename:BlueMix
BlueMix 是一個構建于 Cloud Foundry 開源技術之上的開放 PaaS。 該平臺設計用於開發和託管應用程式,同時簡化基礎架構管理工作,使您能夠在 Internet 規模上快速開發、部署和管理應用程式。
BlueMix 使您可更輕鬆地:
從服務中快速地、遞增地創建應用程式。 持續提供應用程式更改並啟用持續可用性。
支援高度自訂的、特定于工作負載的程式設計模型和服務。
將高水準的可管理性嵌入到服務和應用程式中。
支援優化的和彈性的工作負載。
BlueMix 實現這些目標的方法是,抽象並隱藏通常與託管和管理基於雲的應用程式相關的大部分複雜性。
Codename:BlueMix 概念簡介
在 BlueMix 中,應用程式 是您構建的工件 — 在運行時執行或引用所需的所有代碼(原始程式碼或運行時二進位檔案)。 移動應用程式在 BlueMix 環境以外的地方執行,使用向應用程式公開的 BlueMix 服務。 對於 Web 應用程式,應用程式是上傳到 BlueMix 進行託管的代碼。 BlueMix 也可以託管您想要在基於容器的環境中的後端伺服器上執行的應用程式代碼。
服務 是 BlueMix 託管的,提供一個功能功能應用程式使用的代碼。 它可以是您直接使用的預定義的服務,比如針對移動應用程式的推送通知和針對 Web 應用程式的彈性緩存。 您也可以創建自己的服務,它們可以是簡單的實用程式功能,也可以是複雜的業務邏輯。
組織和空間 是基礎架構中的組織單元,可存儲和跟蹤應用程式資源。 組織包含域、空間和使用者。 空間包含應用程式和服務。 預設空間包括 Development、Production 和 Staging。
對於需要 PaaS 環境的應用程式,buildpack 是一個準備在目標 PaaS 上執行的代碼的腳本集合。 buildpack(包含您的應用程式需要的運行時環境,而且可以包含特殊的框架)可説明您輕鬆地將應用程式部署到雲,無需配置和安裝運行時。
使用 Codename:BlueMix 服務
在 BlueMix 中使用服務需要 3 個步驟:
1、告訴 BlueMix 何時需要一個服務的新實例,告訴 BlueMix 哪個特定的應用程式將會使用這個新實例。
2、BlueMix 自動置備服務的新實例並將它綁定到應用程式。
3、應用程式與服務交互。
服務包 是特定于用途的 API 集合。 例如,Mobile Services 包包含 MobileData、Cloud Code、Push 和 Mobile Application Management。 可在 BlueMix 目錄中找到可用的服務和運行時。 也可註冊自己的服務。
應用程式部署和管理
要部署應用程式,您可以將它上傳到 BlueMix,並指定您希望運行它的多少個實例,為 BlueMix 配置足夠的資訊來支援該應用程式:
對於移動應用程式,BlueMix 可包含一個表示移動應用程式的後端的工件 — 應用程式用於與伺服器通信的一組服務。 BlueMix 支援使用 PushWorks、Cloud Code 和直接從 BlueMix UI 使用移動資料服務的移動應用程式後端。 對於 Web 應用程式,您需要為 BlueMix 提供合適的運行時和框架資訊,使平臺能夠設置正確的執行環境來運行應用程式。 您可以使用 cf 命令列工具、BlueMix Web 介面或 JazzHub 來部署和管理應用程式。
基於瀏覽器的用戶端和移動用戶端(以及其他部署在 BlueMix 上的應用程式和外部執行的應用程式)通過 REST/HTTP API 與 BlueMix 託管的應用程式交互。 每個用戶端請求路由到應用程式的一個實例或它的組合服務。 BlueMix 中的應用程式執行環境彼此隔離,即使它們可能位於同一個物理機器上。
對於應用程式管理,您可以啟動、停止、重新開機或(對於 Web 應用程式,修改)應用程式使用的實例數量和記憶體量。 BlueMix 的一個重要設計特性是,它擅長託管可擴展的應用程式和應用程式工件。 目前該平臺不會基於負載而自動擴展應用程式,所以您需要通過在工作負載變化時創建或刪除實例來管理該過程。 出於這個原因,您的應用程式應將所有持久性資料保存在應用程式外部,放在 BlueMix 提供的一個資料存儲服務中。 要在更新後重新部署應用程式,可以使用與初始部署相同的流程。 BlueMix 停止所有運行的實例並自動調出新實例。
JazzHub:針對 Codename:BlueMix 的 DevOps 服務
在 JazzHub 中,只需幾個簡單步驟,就可以開始與其他人合作在雲中計畫、跟蹤和開發軟體。 您可以使用 JazzHub 為進行應用程式開發而提供的內置的瀏覽器代碼編輯器,或者結合使用 JazzHub 與 Eclipse、VisualStudio 或 Git 命令列來編寫應用程式,並向 BlueMix 部署應用程式:
借助一個旨在説明您為開發專案快速添加 「誰、什麼和何時」 的使用者介面,只需幾分鐘時間即可設置日期,記錄您的第一個使用者案例,分配一兩個任務,並詳細瞭解代碼。
JazzHub 包含內置的原始程式碼管理工具,包括 Jazz SCM 和託管的 Git。 每個專案都將獲取它自己的 JazzHub 存儲庫和工作區,專案成員可在其中檢查他們的更改,關聯代碼更改,查看最近的更改歷史。 您還可以創建一個 JazzHub 專案,並讓它指向您的 GitHub 存儲庫。
您也可以輕鬆地將工作項與 GitHub 代碼更改連結起來。 此外,還可以使用現有的工具在 Git 中進行編碼。 您可以通過執行開發專家 Scott Rich(IBM 傑出工程師、雲架構師、Rational Jazz 創始人)、Joe Lennon(Core International 技術部主管)和 Kevin Williams(IBM Softwar e 的雲、自動化和測試架構師)提供的這些互動式 develpoerWorks 練習,瞭解 JazzHub 的實際應用。 可以運行最終的應用程式並從它的 JazzHub 存儲庫獲取代碼:
「使用 Node.js、Express、sentiment 和 ntwitter 構建情緒分析應用程式」 — Rich 詳細介紹了應用程式快速查明 Twitter 上的公眾情緒的需求,以及他為什麼選擇將該應用程式構建為 PaaS 應用程式,使 用JavaScript 運行時、Node.js 運行時和服務創作程式設計模型。
「使用 Node.js、Express、AngularJS 和 MongoDB 構建即時投票應用程式」 — Lennon 解釋在他想要一個即時更新的投票應用程式時,他採用一種簡單的架構,而不是太多語言和框架。 在這個示例中,他選擇使用 JavaScript 來完成所有工作(Node.js 和 Express 用於伺服器端,MongoDB 用於資料庫,AngularJS 用於前端 UI)。 他喜歡對專案使用 JazzHub,因為 JazzHub 為他提供了一個完整的代碼版本控制系統,提供了一個線上整合式開發環境,使得他可以在雲中編輯代碼,還提供了許多敏捷的專案管理功能。
「使用 Node.js 和 MongoDB 構建簡單的通知服務」 — Williams 感到很困惑:如何精心設計越來越多不同工具的行為,以創建更大但更容易理解的工作流組織結構? 他的回答是感知 — 一個支援創建、檢測和訂閱事件的通知服務。 他保持了結構的簡單性並使用 Node.js 運行時構建它(它支援使用類似 REST 的 API 快速開發 HTTP 伺服器);MongoDB 運行後端(面向文檔性非常適合快速建立原型)。