AWSデプロイ。BeanstalkとCodeDeployの違いとは

AWSのアプリケーションデプロイで有名なものは

  • Beanstalk
  • CodeDeploy

二つとも、AWS AutoScalingに対応しているのがAWSのデプロイ手法で良い所です。
しかし、この二つの手法はどこがどう違うのでしょうか?
出来ることは違うのでしょうか?

結論、BeastalkもCodeDeployも手段は違っても出来ることはほぼ同じ

BeanstalkもCodeDeployも手段は違えども、デプロイとして出来ることはほぼ同じです。
ただし、カスタマイズにこだわるならば、Beanstalkの方が自動化する必要があります。
逆にカスタマイズにこだわらないならば、Beanstalkの方が楽とも言えます。(アプリケーションの自動インストールが不要ならば)

ここで言うカスタマイズとは?

ここで言う「カスタマイズ」とは、例えば、

  • テンプレートに無いアプリケーションの導入とか(アンチウィルスソフトの導入や、ログ収集エージェントや、監視ソフトの導入)とか
  • Apacheといったミドルウェアの設定とか

OSやミドルにこだわらず、ただのソースのデプロイだけするのであればBeanstalkは楽でお勧めです。

  • カスタマイズをしたOSイメージから自動化をスタートするか(Codedeploy)
  • テンプレートOSからカスタマイズから自動化するか(Beanstalk)

の違いです。ちなみに、Codedeplyもコマンドが実行できるので、頑張ればカスタマイズから自動化することも出来ます。
結局、出来ることは似たようなものと言えば似たようなものですが、CodeDeployの方がインフラレイヤとアプリレイヤのすみわけがイメージしやすいですね。

しかし、クラウド化が進めばインフラ技術者も自動化(yamlで)やデプロイも知らないわけにはいかなくなってきましたね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です