私はNetflix OSSスタック全体と展開全般についてはかなり新しいです。私の現在の知識レベルの背景として、私の主な役割はフロントエンドアプリケーションエンジニアとしてです。しかし、私は物事の運用面を楽しんでいるので、新しい展開戦略と新しいプロジェクトのツールをセットアップしようとしています。
私たちの目標
- 非常に簡単な展開(ボタンを押して生産を更新したい)
- テスト環境への自動展開(Jenkinsを使用)
- メンテナンスの容易さ(作成するアプリがあるため、本番の問題をいじるのに時間を費やしたくない)
- サービス指向アーキテクチャ(多くの小さなアプリ、さまざまな言語、データストア)を処理する機能
- すぐに戦略を変更する必要がないことを保証する十分な柔軟性(すでにRightScaleから脱出しようとしています)
初期セットアップ時間をもう少し長くしても大丈夫です。そうすることで、将来の頭痛の種が減ります。
そのため、これらの方針に沿って、ポッドキャストを聞いたり、Opsのトークを見たり、たくさんのブログ投稿を読んだりして、目標とベストプラクティスを形成するために取ったものに基づいて、計画を立て始めました。 Asgard、パッケージをjarに丸め、AMIに丸めます。
これはすべて計画されていて、Chefサーバーを使用してインスタンスをオンザフライで収束するよりもプロセスの利点が好きでした(限られたタイムラインとChefサーバーワークフローに関する理解不足のため、これはエラーが発生しやすいと感じました)。しかし、同僚は自分で少し見回して、Elastic Beanstalkが私たちのニーズを満たしているように感じました。
私はそれを調べて、WARファイルとアタッチされたRDSデータベースを使用してテスト環境を作成しました。物事はうまくいくようで、Jenkinsを使用してAWS API経由でテスト環境へのデプロイを自動化できると思います。十分に単純に思えます...おそらく単純すぎます。
私が思っているのは、キャッチは何ですか?Elastic Beanstalkが非常にシンプルで効果的な場合、なぜそれ以上話されないのですか?2つの異なる展開戦略について十分な客観的な意見や事実を見つけるのに苦労しているので、周りに尋ねると思いました。
Elastic Beanstalkを使用していますか?もしそうなら、なぜ、どのような要因がその決定につながりますか?何が好きで嫌いですか?
Elastic Beanstalkを使用せずに検討した場合、何を使用し、なぜElastic Beanstalkを使用しなかったのですか?
SOAのElastic Beanstalkベースの展開戦略の長所と短所は何ですか?つまり、Elastic Beanstalkは、互いに依存して動作する多くの小さなアプリケーションでうまく機能しますか?