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

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

[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 使用經驗想要與我們分享?歡迎大家的留言與討論!


疫情竟使童婚比例暴增?2023 年前將新增 400 萬女童被迫成婚

全球有無數女童正在面臨貧窮、家暴、性別暴力、失學的困境,在動盪不安的 Covid-19 威脅下,女童遭受的生命危機更勝以往,而你我都不該漠視。立即加入世界展望會的資助兒童計劃,不再讓悲劇發生。
評論
Photo Credit:世界展望會
評論

在新冠疫情、武裝衝突的影響下,阿富汗女性與兒童正面臨重大威脅,不僅人身自由、教育、工作等權利備受衝擊,近期更傳出 12 歲女童被強擄配婚給軍人的消息,使當地長期存在的「童婚」問題更加嚴重。事實上,不只是阿富汗,全世界仍有無數女童深陷在不安與恐懼中,面臨童婚、童工、貧窮,以及女性割禮等殘酷傳統文化等挑戰,這一關又一關的生存考驗,只因為她們是女生。

女童困境恐怕比你想像的嚴重——關於性別暴力、童婚

根據聯合國統計,每年有 1,200 萬未成年女童結婚,她們大多是因為民間習俗或經濟弱勢而被迫成婚,婚姻不僅逼迫這些女童放棄學業,其遭受家暴的風險也將大增,甚至被迫從事性行為,使得尚未發育完全的身體備受負擔;許多未成年少女因為懷孕或分娩併發症死亡,嬰兒胎死腹中或夭折的機率也更高。

來自緬甸的 17 歲少女荷拉(Hla)就曾是性別暴力與未成年婚姻的受害者。在她12歲時,一場重病帶走了她的母親,而酒精成癮的父親根本顧不了這些孩子,因此荷拉被迫離家、在街上討生活。為了尋求避風港,荷拉甚至嫁給了大她 15 歲的男子,並在 14 歲成為一名母親,但生下孩子沒多久後,丈夫便另尋新歡,留下荷拉和孩子相依為命。無助的荷拉為了不讓孩子跟著吃苦,只能忍著思念的痛苦,把孩子送到安置機構。

Photo Credit:世界展望會/荷拉小時候常跟著爸媽到各個城市的慶典或嘉年華活動兜售玩具,並以此維生。然而非常微薄的收入,根本無法支撐荷拉與 13 個兄弟姊妹的生活。

幸好在荷拉最低潮的時刻,遇上了世界展望會。在世界展望會的協助下,除了支持荷拉重建身心健康,也提供她職業訓練的機會,培養一技之長。僅管有些髮廊仍因荷拉的經歷而不願接受她,但在世界展望會的引薦下,現在的荷拉已找到一份穩定的髮廊實習工作,每月都能賺取 20 美元的薪水,並和同事們住在一起、彼此照顧。從街頭遊童到髮型設計師,荷拉因為世界展望會出現在她的生命中,而有了希望。

Photo Credit:世界展望會/荷拉說:「我住在街頭時,常常受到男性的輕蔑和不尊重。即使我根本沒有做錯事,也常常得躲避警察取締,生活充滿恐懼和不安。很感謝世界展望會的幫助和支持,我才能把自己的人生拉回正軌,創造更好的未來。」

女童困境恐怕比你想像的嚴重——關於失學、文盲、童工

荷拉的故事絕不是少數案例。事實上,許多女童不只遭受可怕的性別暴力,也因為貧窮或環境動盪,而被迫放棄受教育的權利,成為失學的童工,甚至不得不從事對身心發展有害的勞動工作。根據聯合國資料,全球童工人數在疫情的影響下,20 年來首次增加至 1.6 億;而全球約 7 億人口的文盲當中,女性就佔了 2/3。困在社會底層的弱勢女童,身心備受煎熬,急需你我關注。

印度女孩珊蜜拉,便是弱勢女童的縮影之一,遭遇令人心疼。珊蜜拉(化名)原本是個熱愛上學的女孩,14 歲時由於家中經濟無法負擔她繼續升學,因此被送到孟買與姊妹們一起工作,幫助家中生計。當時,珊蜜拉請妹夫幫她找工作,沒想到卻是噩夢的開始,妹夫將她送到人口販子手上,珊蜜拉被推入妓院工作,並經歷長達三個月地獄般的生活。

「只有我工作了才會有飯吃。如果我不工作,妓院老闆、甚至是客人就會拿皮帶打我。我被迫喝酒、他們會拿菸燙我的手。我一直在哭,求他們放我回家。」後來珊蜜拉得知自己陷入險境是受親人所害,整顆心都碎了。

Photo Credit:世界展望會/珊蜜拉好不容易說出那段記憶:「我經歷的那些,希望沒有其他任何女性需要經歷。我承受了非常多的痛苦,那是一段很難熬的時期。白天會有 12 到 14 個男人,晚上則會有 15 到 16 個。一整天工作完後,所有的女孩會被送到荒郊野外中的一棟建築物裡休息,整間房間裡只有一扇窗戶。因為太偏遠,即便我們大吼著求救,也沒有任何人會聽到。」

終於有一天,珊蜜拉和其他女孩們的工作場所遇到警察臨檢,珊蜜拉便趕緊抓住機會向警方求救。成功獲救的同時,同樣在場的妹夫和妓院老闆也遭到警方逮捕。接著,珊蜜拉花了數個月的時間輾轉換了好幾間避難所,最後終於回到家人身邊。

在家人的陪伴以及世界展望會的支持下,珊蜜拉終於踏上復原之路。由於人口販運的受害者往往受到許多暴力與虐待而留下嚴重陰影,這段遭遇遂成為她們心中無法說出口的痛,且大多數受害者因地處偏遠、經濟貧困,或是覺得丟臉、自責等心理因素,難以取得身心重建的專業支持。因此,世界展望會提供包括創傷後症候群、焦慮、憂鬱、恐慌、斯德哥爾摩症候群、藥物濫用等醫療與心理照護,讓更多像珊蜜拉一樣遭遇創傷的女童,得以重建生命。

Photo Credit:世界展望會/珊蜜拉現在加入了印度世界展望會的受害者支持團體,踏上了復原之路。

你有力量打破女童困境:資助 1,000名 女童,扭轉 1,000+ 個家庭命運

在 Covid-19 的疫情衝擊下,脆弱國家的資源更加緊縮,這也讓兒童面臨前所未有的考驗。世界展望會的分析報告指出,2020 年 3 月全球疫情爆發後,與 2019 年相比,童婚案例在許多社區暴增了一倍以上;而童婚的增幅速度,更攀升到25年來最高,若無法改善,預估 2030 年前全球將再增加 1000 萬名兒童新娘。

對於女童而言,貧窮、家暴、性別暴力、失學等問題是無法分割的,這些威脅往往彼此連動、加乘,為女童的生命帶來嚴重打擊。但從上述的實際案例可以發現,受困女童的命運並非不能扭轉,只要世界上某個角落的某一個人願意付出行動,女童的生命就有希望曙光。

世界展望會推動「資助 1000 個女童 挺聲而進 願景無懼」行動,期待在 10 月 11 日女童日前,能為 1000 個女童找到資助人,每個月 700 元,就能翻轉一個女童的生命,為她提供安穩的生存環境與受教權,並將這份改變延伸至女童的家庭與周遭社區,帶來正向影響力。讓我們一起阻止女童悲劇再次發生,現在,就加入改變世界的行列!