PaaS 遍地開花!整理各種平台的 Heroku-like 解決方案

評論
評論

[Image Credit]

隨著雲端的概念逐漸發酵,像是 Heroku 這樣的新一代網站代管服務越來越受到歡迎,以 Heroku 為首許多不同平台的類似服務也相繼誕生,包含了 Python、Java 和 PHP 等都有相對應的服務,一起來看看吧!

什麼是 PaaS?

PaaS 是 Platform As A Service 的簡寫,便是以提供平台作為一種服務。以 目前最具盛名、不久前才被 Salesforce 所收購的 Heroku 而言,就是提供了大家一個以 Ruby 為基礎的平台,讓大家可以自行在平台上開發各種網站,並且由 Herkou 來提供平台的架設管理。

透過 PaaS 的最大好處,便是可以減少維護管理系統底層的成本。相對自己架設機器而言,必須要自己管理的系統、機器和軟體,其中只要一個環節一不小心出錯了,就有可能像 某些網路服務一樣,將資料庫的帳號密碼等重要資訊通通曝光 ,造成敏感資料暴露在危險當中。

除此之外,架設在 PaaS 的服務也可以透過簡單的介面來調整所需使用的硬體設備等級,程式完全不需要修改馬上就可以處理突如其來的龐大瀏覽量,而當使用者逐漸退去時,也可以馬上的將硬體降為一般的水準,省下額外的開支。

就如同先前本站文章所提到的:

網路創業實例:意外起飛、24 小時累積 10,000 名用戶的 Rapportive

Rapportive 的服務是放在知名廠商 Heroku 上,對於突然湧進的流量只需要增加 Dynos 的數量(Heroku 提供服務的基本單位),基本上你是不需要修改你的程式的;當然,程式的優化、調整可以在同樣能耐的硬體等級上容納更多人。

使用 Heroku、不需要調整程式、只需要增加 Dyno 數量?真的有這麼美好嗎?事實上 Rapportive 就是這麼辦到的,在來自全世界的流量突然湧進時,Rahul Vohra 手邊沒有電腦,於是他隨即拿起 iPhone 並且利用 Nezumi 這個設計來管理 Heroku 的應用程式,將 Rapportive 的 Dynos 增加到 20 個,就這麼簡單,可能不到一分鐘吧?!系統的能耐馬上就提昇了。

而在台灣也已經有團隊使用 Heroku 作為主要的環境:

Cardinal Blue 的 Facebook 應用程式開發經驗分享:使用 Ruby on Rails 與 Heroku

使用 Ruby on Rails 並搭配知名的 Ruby 雲端運算平台:Heroku,特色是應用程式隨著流量的成長,無需擔憂系統管理(System Administration)或是硬體水平擴展的問題,Heroku 提供了優越的 Scalability 能耐,透過簡單的應用程式指令或是 Web 介面便可依照需求調整所需的硬體資源。(類似 Amazon EC2 Instance 的計費方式,每小時有一定額度的費用)

然而並不是每個團隊都是使用 Ruby 作為主要的開發語言,在市場上目前使用 PHP/Java/.Net/Python 的使用者仍然佔了很大部分的比例,隨著 Heroku 的流行,許許多多不同語言但類似的平台服務陸續竄出,以下便是我們的整理:

Python 的 Heroku

與 Ruby 相同熱門的 Python 是現在很多新一代網路創業者的首選,包含 Instagram、Quora 和 Dropbox 等服務在內都是使用 Python。

Google App Engine

Google App Engine 算是相當早期的 PaaS 服務,是 Google 所提供的雲端網站服務,搭配了 webapp 這套輕巧簡單的 Python web framework 和 Datastore 這套 NoSQL 的資料庫系統。

除了 webapp 之外,任何支援 Python wsgi 標準的 web framework 包含最熱門的 Django 在內都可以在 GAE 上面運行。

順道一題,台灣也已經有由知名開發者 ericsk 所撰寫的 Google 應用服務引擎開發實戰 一書可以供入門者作為參考。

Djangy

顧名思義,Djangy 所提供的便是 Django 的平台服務,支援背景工作(background job),如同 Heroku 一般是使用 git 作為上傳佈署的方式,並提供了 shell 下所使用的管理指令,看起來相當的不錯且完整。

Djangy 目前仍然在封閉測試當中,有興趣的使用者可以在其官方網站上索取邀請函。

DjangoZoom

另外一個專門為 Django 打造的 PaaS 服務,同樣是使用 git 作為上傳佈署的方式,目前也仍然在測試當中,有興趣的使用者可以在其官方網站上索取邀請函。

ep.io

ep.io 則是另外一個我相當看好的選擇,相對於 Djangy 是以 Django 的支援為主,ep.io 支援了透過 Python 標準 WSGI 所設計的網頁框架,所以包含 Django 在內,其他熱門的選擇像是 Flas 或者是 Quora 所使用的 Pylons 都可以支援。

ep.io 目前也在封閉測試當中,有興趣的使用者同樣可以在其官方網站上索取邀請函。

Java 的 Heroku

Java 在網路的開發領域上算是具有數一數二的份量,許許多多的企業都是透過 Java 作為其網站開發的主要語言,且具有龐大的使用者基礎,故仍然在雲端時代相當的受到歡迎。

Google App Engine for Java

是的,Google App Engine 同樣有提供 Java 的服務,使用標準的 servlets 和 JSP 等技術,搭配上 JDO 和 JPA 介面的 DataStore,讓 Java 的使用者同樣可以透過 GAE 來開發程式。

AWS Elastic Beanstalk

談到雲端時代,最重要的網路公司之一莫過於 Amazon 了,其所提供的 EC2、S3 或是 Cloudfron 服務都是許多先進網站的重要底層架構(包含 Heroku 實際上便是運行在 EC2 上),而最近他們所推出的 Elastic Beanstalk 便是提供了 PaaS 的服務,讓開發者可以快速的部屬 Java 程式到 Amazon 的機器上。

雖然目前此項服務仍在測試當中,但我相信 Amazon 所提供的雲端服務一向是具有相當水準的,在未來一定會有很好的發展。

PHP 的 Heroku

PHP 是專為網路服務所打照的語言,由於其相對好上手的特性,在網站中是相當的普遍,包含 Inside 部落格在內,許許多多的網站、部落格論壇都是用 PHP 所開發,其中最著名的代表莫過於就是 Facebook 了。

phpfog


phpfog 是 PHP 的 Heroku 類服務中最受矚目的一個,標榜秉持著 N-Tier 的概念,就是將資料庫、平衡負載和網頁伺服器等等通通分配在不同機器上,來達成最佳的效能和穩定度,並且提供許多 PHP Apps 的快速安裝功能,和 git 為主的程式上傳功能。

目前 phpfog 也是在測試當中,有興趣的讀者可以透過網站上的表格加入等候邀請函,或是參加其 Facebook/Twitter 的活動來獲得搶先的測試機會。

cloudcontrol

cloudcontrol 也是針對 PHP 所提供的 Heroku-like 服務,其特殊的地方是在計費的方式是透過所謂的 boxes,也就是透過 access_log 分析來顯示出使用的直線圖,然後選定一個方形的大小來付費。

另外一點特殊之處在於,cloudcontrol 不需要邀請函,已經是一個正式開放的服務了。

.Net 的 Heroku

ASP.Net 雖然是微軟的解決方案,一般需要較高的授權金而讓許多網路創業者卻步,但是仍然有包含像是 stackoverflow 等知名網站使用。

Windows Azure

提到 C#的 Heroku,一定要提到微軟官方所提供的 Windows Azure 平台了,隨著雲端時代的到來,微軟也提供了許多相關的服務,主要分為 Windows Azure 和 SQL Azure,也就是運算平台和資料庫的平台提供開發者使用。

目前 Azure 的成功案例大多為企業用戶為主,不過在微軟的努力推廣之下,也逐漸有越來越多的開發者陸續投入。

AppHarbor

AppHarbor 則是.Net 平台上的另外一個非官方的選擇,其官方網站強調的他們為「Azure done right」,也就是改善了許多 Windows Azure 的缺點,比如說像是佈署時間過長,或者是操作設定上的不方便等等。

個人認為 AppHarbor 具有相當的潛力可以和 Azure 抗衡,無論是在操作的簡便度或者是收費的策略上,都相對於官方的平台好上一些。

綜合型 PaaS

Makara

Makara 是前陣子被 Red Hat(知名 Linux 領導廠商)所收購的 PaaS 平台,現階段提供 PHP 和 Java 的平台服務,未來可以支援包含 Ruby/Python 等在內的各種語言。而相對於其他一般的 PaaS,Makara 提供了更好的彈性讓開發者可以選擇佈署到不同的雲端上,包含 Rackspace 和 Amazon EC2 等。

由於背後有 Red Hat 的加持,加上高度的延展性,我認為 Makara 也會是未來市場上相當具有競爭力的。

結論

在創業過程中,我們往往需要對於人力資源的分配斤斤計較,許多創業者都曾經感嘆好的人才是需要花上很多時間才能找到的,而千辛萬苦找到的程式設計夥伴,當然要讓他們能夠專心撰寫程式,而不是浪費時間在系統的管理、維護上面。

此外,若是您的網路服務具有極大潛力,隨時有可能受到網友關注、一夕爆紅,那們更應該要使用 PaaS 的服務,便可以隨時增加硬體的負荷能力,而不會錯過任何一位寶貴的使用者。

有更多的 PaaS 使用經驗想要與我們分享?歡迎大家的留言與討論!

相關文章

Salesforce.com 收購雲端服務提供商 Heroku:宣告 Java 與 Ruby 才是「雲端 2.0 語言」

知名雲端CRM服務提供商Salesforce.com以2.2億美金收購Ruby雲端運算平台Heroku,對於雲端運算以及Ruby、Rails等技術社群來說都是一個令人振奮的好消息。 Salesforce.com這次出手,已經是2010年的第五次併購,前幾次包括了Activa Live(企業即時通訊解決方案)、Sitemasher(快速架站服務提供商)、Jigsaw(商業情報資訊平台),以及買回Salesforce Japan所有股份(原本Salesforce日本分公司由創投SunBridge為主要投資人,在2,000年的時候SunBridge與Salesforce以Joint Venture的方式進入日本市場)。

歐洲工藝結合臺灣 IoT!百年大廠 LAZER 發表智慧安全帽「Monaco Evo S」

歐洲百年安全帽廠商 LAZER Helmets 今天宣布與台灣新創團隊 JARVISH 合作,聯手打造富含物聯網精神的最新款智慧型安全帽「Monaco Evo S」!

EZTABLE 預訂即預付創造雙贏,加碼金星服務幫你喬訂不到的餐廳

如果消費者願意預訂的同時也預付款項,EZTABLE 回饋給消費者 5% 的 EZCASH,而為了推廣這樣的新會員制度,在 12 月份如果預訂全台百大餐廳,將會有限時雙倍送的回饋,等於餐費可以打九折。

評論