0

PHP (現在は VPS 上) で書かれた Web サイトがあり、ゼロから Python に再構築されます。プラットフォームとしては、主にGAEAmazon (または現在のVPSのまま) を検討しています。どちらが自分に合っているかお聞きしたいです。

私のコンバーンのいくつか:

  • GAE にはいくつかの制限があることは知っていますが、すべてをゼロから構築するので、大きな問題ではないかもしれません (またはそうなる可能性があります)。
  • Amazon は仮想マシンしか提供しないと読んだので、すべてを管理する必要があります。スケーラビリティはどのように見えますか (スライダーを動かすか、サーバーの構成/プログラミングを行う必要がありますか?)
  • 現在の VPS を使い続け、後で Amazon に移行することにした場合はどうなりますか? それは苦痛で、多くの仕事を伴うでしょうか?
  • 費用はどうですか?

このウェブサイトはずっと前に私が書いたもので (1 か月に 100 万人のユニーク ユーザー)、コードが混乱しているため、再構築する必要があります。現在は、2x2GHz + 750MB RAM (月額 20 ドル) の小さな VPS でホストされています。これで十分ですが、再構築後、パフォーマンスを消費する機能をさらに追加し、それを宣伝する予定です (したがって、Web サイトは成長します)。フレームワークとして Python (dJango) を選択しました。

完全に再構築するので、クラウドでホストすることを考えています。

4

1 に答える 1

3

GoogleAppEngineはPaaSの一例です。アマゾンウェブサービスは、主にIaaSソリューションです(いくつかのPaaSのようなコンポーネントを備えています)。それらは異なるサービスモデルであり、それぞれにさまざまな長所と短所があります。簡単に言うと、PaaSは基盤となるシステムのより多くの抽象化を提供します。これにより、展開が容易になり(場合によってははるかに簡単になります)、スケーラブルで耐久性のある環境を設計するために必要なシステムエンジニアリングの専門知識の多くが不要になります。ただし、これには柔軟性が大幅に低下するという犠牲が伴い、一般に1か月あたりのコストが高くなり、「ベンダーロックイン」の度合いが高くなります。

PaaSとIaaSのハイブリッドのようなAmazonのElasticBeanstalk製品に興味があるかもしれません。これは、いくつかのAWSコンポーネント(EC2、RDS、ELB、SNS)の上にあるレイヤーであり、それらをつなぎ合わせて、使いやすいPaaSのような方法にします。(免責事項:私の会社はAWSのコンサルティングパートナーネットワークのメンバーであり、PythonAWSライブラリであるBotoのElasticBeanstalkサポートを作成しました。)

現在のVPSを維持し、後でAmazonに移行することにした場合はどうなりますか?それは苦痛で多くの仕事を伴うことになるのでしょうか?

それはあなたのアプリケーションに大きく依存します。つまり、アプリケーションサーバー(インスタンス)が使い捨てのように扱われるようにする必要があります。永続データをサーバーに保存したり、相互依存関係を持たせたりしないでください。たとえば、アプリケーションがユーザーがアップロードしたファイルを受け入れる場合、それらはローカルボリュームではなく、S3に保存する必要があります。緩く結合されたコンポーネントを使用していることを確認し、SNSとSQSを使用してそれらの間で通信する必要があります。

ただし、最大の変更点は、コードのロール方法にあります。SSHまたはFTPだけで単一のサーバーに接続し、最新のリビジョンをアップロードすることはできません。Elastic BeanstalkはGitとうまく統合され(ドキュメントを参照)、これを非常に簡単にしますが、それでもワークフローを調整することができます。Elastic Beanstalkを超えた場合は、Puppet、Chef、Saltなどのプロビジョニングツールを検討し始める必要があります。また、より単純な環境ではFabricを使用しました。

于 2012-12-20T00:42:53.850 に答える