Stackato:3つのステップでクラウドにPerlアプリケーションをデプロイする

stackato ActiveStateは開発者によく知られています。 彼らは、Perl(ActivePerl)、Python(ActivePython)、Tcl(ActiveTcl)(以前はActivePHPがまだありましたが、現在はそうではありません)のアセンブリを非常に積極的に宣伝しています。 彼らは素晴らしいKomodo IDEとそのシンプルな無料版のKomodo Editを持っています。 そして最近、同社は現在流行しているクラウドテクノロジーの市場に参入するための手段を講じましたが、独自のクラウドサービスを作成する側からではなく、独自のソフトウェアプラットフォームを作成する側からです。 [正直なところ、まったく私のものではありませんが、後で詳しく説明します:-)]これがStackatoの登場です-「Python、Perl、Ruby、Node.js、JavaをサポートするプライベートPaaSを作成するための最初のクラウドベースのプラットフォーム」。

独自の「クラウド」Perlアプリケーションを作成する方法に興味がある場合は、猫をお願いします。



Stackatoは(正当な理由でCloud Foundryの上に構築され、本質的にCloud Foundryを拡張し、PerlおよびPythonで記述されたアプリケーションをデプロイする機能を追加します。

StackatoのアーキテクチャはCloud Foundryと変わりません。 この翻訳の一部について詳しく読むことができます。 アーキテクチャを説明する図のみを提供し、詳細については説明しません。

興味深いことに移りましょう-Stackatoでperlアプリケーションをデプロイするプロセスです。



ステップ0:招待を受ける

Stackatoはベータ版であり(最近、Developer Previewステージから移動されました)、実際に試用するには招待状を取得する必要があります。 こちらでリクエストできます



ステップ1:サーバー

Stackatoを試すには、Stackato Server VMをダウンロードして展開する必要があります。 vSphere(OVF)、VMware PlayerおよびFusion(VMDK)、VirtualBox VMの3つの形式で配布されます。 システム要件:x86_64プロセッサー、2GB + RAM、3GB +空きディスク容量

デフォルトでは、Stackato VMはマイクロクラウドとして起動します。 これにより、追加の構成なしでスタンドアロンサーバーとして機能できます。 デフォルトのサーバー名はstackato.localです

最初の起動直後に、stackatoパスワードを持つstackatoユーザーが1人います。 ssh経由で接続することもできます。

]$ ssh stackato@stackato.local





設定を変更してサーバーを管理するには、stackato-adminコマンドを使用します。 次のようなパラメーターの詳細を確認できます。

]$ stackato-admin help





残りはUbuntu 10.04 LTSであり、それが意味するすべてのものです。 :-)



ステップ2:クライアント

サーバーをインストールしたら、クライアントアプリケーションをインストールする必要があります。クライアントアプリケーションは、MAC OS X、Windows、Linux用の既製のアセンブリです。 また、クライアントアプリケーションは、pypmユーティリティ(ActivePython)を使用してインストールできます。

]$ pypm install stackato





ppm(ActivePerl)を使用してインストールする機能がまもなく表示されます。

クライアントアプリケーションが正常にインストールされたら、いくつかの設定を行う必要があります。

1)ターゲットURLの設定-これにより、stackatoクライアントはアプリケーションをプッシュする場所を見つけることができます。 デフォルトでは、ローカルサーバーはapi.stackato.localを使用する必要があります。

]$ stackato target api.stackato.local





2)ユーザーStackatoを登録します。 ユーザー名はメールです:

]$ stackato add-user [EMAIL] [--passwd PASS]





3)ログイン。 登録コマンドは自動ログインで終了しますが、既存のユーザーとしてログインするか、現在のユーザーを変更する必要がある場合は、loginコマンドを使用します。

]$ stackato login [EMAIL] [--passwd PASS]





使用可能なコマンドのリストまたは特定のコマンドに関する情報が必要な場合は、helpコマンドを使用する必要があります。

]$ stackato help [COMMAND]







クライアントとサーバーがインストールおよび構成されている場合、アプリケーションのデプロイを開始できます。



ステップ3:展開する

アプリケーションをデプロイするプロセスは、アプリケーションの依存関係(しゃれはごめんなさい:-))や、さまざまな追加サービス(データベースなど)との統合の有無によって若干異なる場合があります。 したがって、READMEファイルで展開機能(ある場合)を指定することをお勧めします。 Stackatoでの展開用に特別に準備されたさまざまな言語で書かれたアプリケーションがいくつかあります。 残念ながら、これらの例の中にはDancerを使用したアプリケーションはなく、この特定のマイクロWebフレームワークが好きです。 そこで、非常にシンプルなアプリケーションを作成しました。 ここで表示およびダウンロードできます

アプリケーションをデプロイする前に、機能について少し説明します。 実際、私のアプリケーション( simpleDancer )は、コマンドを使用して取得するデフォルトのアプリケーションです。

]$ dancer -a appName





Stackatoで作成されたアプリケーションが起動しない重要なコンポーネントを追加しました。 最初のファイルは、アプリケーションが必要とする依存関係のリストを含むrequirements.txtファイルです。

Dancer<br/> YAML<br/> Plack::Request





ここに示されているすべての依存関係は、ActiveStateリポジトリからppmを使用して展開中に自動的にインストールされ、そこで見つからない場合はcpanm with cpanを使用します。

2番目はapp.psgiファイルです。 StackatoのすべてのPerlアプリケーションはPSGIアプリケーションとして実行され、起動スクリプトはapp.psgi(またはapp.pl)と呼ばれ、アプリケーションのルートにある必要があります。 なぜなら Dancerアプリケーションは、変更なしでPSGIアプリケーションとして起動できます。./bin/app.plへのリンクを作成するだけで十分です。

すべての形式が満たされたので、アプリケーションの展開に進みます。

アプリケーションのルートフォルダーにいる場合は、次のコマンドを実行する必要があります。

]$ stackato push simpleDancer





ここで、simpleDancerはアプリケーションの名前です。 デフォルトでは、アプリケーションはActivePerl 5.12.4でデプロイされます。ActivePerl5.14.1を使用する必要がある場合は、次のように記述してください。

]$ stackato push simpleDancer --runtime perl514





プッシュコマンドの後、いくつかの質問に答える必要があります。





私の場合、回答はデフォルトで緑色で強調表示されています。 おそらく、「simpleDancer」にサービスをバインドしますか?という質問を除いて、多くの説明は必要ありません。 アプリケーションがMongoDBやMySQLなどの追加サービス(アプリケーション)にアクセスする必要があるかどうかを尋ねます。 肯定的な回答の場合、利用可能なリストから選択する必要があります。





展開中にすべてが順調に進んだ場合、appsコマンドは以下を実行します

]$ stackato apps





以下を生成します。





アプリケーションには、simpleDancer.stackato.localからアクセスできます。



展開プロセス中に問題が発生した場合、またはアプリケーションにアクセスできない場合、logsコマンドを使用すると、stdoutとstderrを確認できます。

]$ stackato logs simpleDancer





有用なものが見つからない場合は、filesコマンドを使用してアクセスできる2つの追加ログファイル(staging.logおよびppm4.log)を確認する必要があります。

]$ stackato files simpleDancer logs/staging.log<br/> ]$ stackato files simpleDancer logs/ppm4.log






基本的に、Stackatoを使用する際に知っておく必要があるのはこれだけです。

雲との幸運:-)



All Articles