PaaSプロバイダーを使用して新しいプロジェクトを開発したいと思います。私はPHPでプライマリを開発しますが、サービスが他の言語も提供できるようにしたいと思います(MongoDB、Memcached、redisなどのアドオンも利用可能) PHPfog(およびAppFog)、dotCloud、orchestra.io、Red HatのOpenShift、Pagoda BoxなどのPaaSがあるようです。
それらすべての中で、私はほとんどのdotCloudが好きだと思います。しかし、PaaSの大手企業間のレビュー、推奨事項、比較について知りたいと思っていました。
何をお勧めしますか?
以下は、私がまとめた一連のブログ投稿で、トップPAASプロバイダーのほとんどを比較しています。私の試行のほとんどはPythonを使用していたため、PHPと比較してどうなるかわかりません。
うまくいけば、それが役立つでしょう。
PAASの比較:
http://kencochrane.net/blog/2011/06/Django-hosting-roundup-who-wins/
OpenShift:
http://kencochrane.net/blog/2012/01/installing-Django-application-on-openshift/
CloudFoundry上に構築されたStackato:
http://kencochrane.net/blog/2012/01/getting-djangocms-up-and-running-on-stackato/
Heroku:
http://kencochrane.net/blog/2011/11/developers-guide-for-running-Django-apps-on-heroku/
dotCloud:
http://kencochrane.net/blog/2011/04/deploying-my-Django-application-to-dotcloud/
PAASのすべての機能の詳細が記載された巨大なGoogleスプレッドシート:
https://docs.google.com/spreadsheet/ccc?key=0AiIXCd1D_TmGdFluZEJQakV5M0QwWXNWaXREcWR0Q0E#gid=
PaaSで重要な機能について考えてください。あなたは多言語サポートに言及しますが、他には何がありますか。適切な製品に集中できるように、dotCloudの何が好きかを明確にしてください。
私が注目することをお勧めする重要な機能のいくつかは、移植性、オープンスタック、高可用性、弾力性、制御、および監視です。
ロックインを防ぐには、クラウド間の移植性を容易にするPaaSを選択する必要があります。ニーズや環境の進化に応じて、各製品がクラウド提供を変更する機能をどのように促進するかを理解します。
多くのPaaSオファリングは、アプリケーションで使用可能なスタックを決定します。これにより、アーキテクチャオプションが大幅に減少する可能性があります。ニーズを満たす言語、データベース、ミドルウェアコンポーネント、製品バージョンなどを選択する機能が必要です。オプションをコンポーネントの狭いメニューに制限するPaaSは、実際の展開にはあまり役立ちません。
継続的なアップタイムが重要な場合、PaaSはどのようにアプリケーションの状態を監視し、障害から回復しますか。自動的に回復できますか?負荷に基づいてアプリケーションを動的にスケーリングし、ピーク需要時に新しいリソースをプロビジョニングし、不要になったときにそれらのVMを解放できますか。
アプリケーションには、デプロイメントを複雑にするサービス間の依存関係がある場合があります。 PaaSは、アーキテクチャの依存関係や複雑さに関係なく、展開を調整して自動的に展開を管理できます。柔軟でオープンで拡張可能なPaaSが必要であり、デプロイメント要件が何であっても処理できます。
最後に、アプリケーションレベルでの透過的な監視が必要です。アプリケーションの状態と、時間の経過に伴うパフォーマンスを簡単に確認できるはずです。アプリケーションレベルでのトラブルシューティングを簡素化するダッシュボードとログが利用可能である必要があります。
現在の状況の概要は次のとおりです。 http://natishalom.typepad.com/nati_shaloms_blog/2012/05/mapping-the-cloudpaas-stack.html
ノルム
あなたはそこにたくさんの比較を見つけることができます:
マルチランタイムPaaSをお探しの場合は、AppFog、Heroku、OpenShift、Google App Engine、CloudFoundry.comなどのPaaSに興味があるでしょう。 JVMベースのPaaSに興味がある場合は、CloudBeesやJelasticなどのPaaSに興味がある可能性があります。
マルチ環境PaaSはより一般的である傾向がありますが、一方で、特定の言語/環境が直面する可能性のある最も困難な問題のいくつかをうまく解決することはできません。また、各PaaSは異なる機能範囲をカバーしています。たとえばCloudBeesは、開発段階(Jenkinsに基づく継続的統合など)のツールも提供します。
最善の方法は、2〜3個をテストして自分で確認することです。これは、味と色についても重要です。これはそれほど長くはかからないはずです。もしそうなら、次に進んでください。おそらく、これはあなたにとって適切なPaaSではないことを意味します。適切なPaaSは、すぐに東に向かって非常に生産的であると感じるべきものです。
Cloudify (Open PaaS Stack)は、あらゆるクラウド上のあらゆるlangをサポートします-Mongo、MySQL、Solrなどのサポートが組み込まれています。
私はPhpFogでシルバープランを使用していますが、PagodaBox.comを試すことができると思います。それらには、デフォルトでmemcachedとredis、mysqlのsshトンネリング、インターフェイスが素晴らしいなど、より優れた機能があります。
pagodabox.com