堀内さんのAWSブログサイト構築と長沢さんの価値のパイプライン話を楽しむ
Reboot完了!潮風とピザの香りが漂うJAWS-UG横浜に行ってきた
2016年11月28日 07時00分更新
長沢さんが語るCodeDeployとアトラシアン製品の相性
堀内さんのセッションが終わるくらいには、人も集まり、すっかり温まった感のあるアトラシアンオフィスの勉強会会場。開始前にけっこう飲食したにもかかわらず、「ピザが残り9枚。金麦が残り30本くらい」という中間報告を聴衆に告知した吉田真吾さんは、「CodeDeployを使う上でのNext Step!!」というタイトルでセッションするアトラシアンのエバンジェリストの長沢智治さんを紹介する。

アトラシアンのエバンジェリストである長沢智治さん
ハッシュタグを付けたツイートが流れると、スライドの上にリアルタイムに表示されるというちょいウザ実装を披露した長沢さんは、職歴や執筆した書籍、登壇活動などを簡単に紹介した。Code Deployについては、「デプロイをよろしくやってくれる素晴らしいサービス」とわりと雑に紹介されたが、実際のスライドでは「複数インスタンスへのデプロイ」「ローリング更新とロールバック」「デプロイのリビジョン管理」「継続的デプロイツールとの連携」などきちんと説明されていた。
続いて長沢さんはCode Deployの動作についておさらいする。Code DeployではまずビルドセットとAppSpecというYAMLファイルをS3に配置。その上で、ロジックとメタデータを元にCode Deployに指示を出せば、あとは勝手にデプロイをしてくれる。長沢さんは実際のミニデモを披露しつつ、ソフトウェアの「価値のパイプライン」という話に焦点を移す。

まさにコードのデプロイを自動化するCodeDeploy
一般的なソフトウェア開発プロジェクトではまず企画立案があり、優先順位付け、タスク分析を経て、実際のコードを記述。ビルドを繰り返した後、品質を満たすモノをデプロイすることになる。これが長沢さんが語る「価値のパイプライン」だ。「せっかくやるのであれば、デプロイだけではなく、企画の段階から価値のパイプラインを形成していただきたい」と語った長沢さんは、各フェーズに対応するアトラシアンのツールを紹介する。
企画フェーズであれば「Confluence」、優先順位付けやタスク分析は「JIRA Software」、コード管理は「Bitbucket」、ビルドは「Bamboo」などだ。これらのツールをチェーンとして並べて、価値のパイプラインを構成できるのがアトラシアンのメリット。しかも、パイプラインの各ツールは、BacklogやSlack、Jenkinsなど他のツールに置き換えても問題ないという。

価値のパイプラインを実現するアトラシアンのツール群
長沢さんは担当ごとのタスクが管理されたJIRAのカンバンボードを披露し、プロジェクト全体が俯瞰できるメリットをアピール。「タスクごとにコードの履歴を追える。コードレビューにどうやって出したのか、自動ビルドの状況、最終的にどこにデプロイしたかまで流れを追うことができる」(長沢氏)とのことで、企画や運用まで含めて、全部追えると説明した。
また、ビルドツールのBambooでもCode Deployをタスクとして指定できる。どのユーザーで実行するのか、どのリージョンで実行するのか、どのS3に格納するのか、などのプロパティセットを設定すれば、Code Deployにタスクを渡しつつ、状況を追えるという。さらに継続的なインテグレーションをサポートする「Bitbucket Pipelines」を使えば、Dockerを使ったビルドやデプロイまでを自動化できる。長沢さんは実際にデモを披露し、Bitbucketがコード変更をきちんとフォローし、デプロイ先に反映できる点をアピールした。

Bitbucket Pipelinesを使ったビルドやデプロイの自動化
前職の日本マイクロソフトも含め、開発のライフサイクルを一貫して手がけてきた長沢さん。プログラマーではない私にとっては多少難しい部分もあったが、価値のパイプラインという話は納得できた。また、アトラシアンのツールだけではなく、OSSをうまく組み合わせられるところもメリット。AWSに欠けている開発者向けの機能をうまく補ってくれる強力なソリューションと言えよう。
後半はAWS IoTのNextStep!と横浜のカヤックによる「RDS MySQLからAuroraへ移行した話」をお届けする。

この連載の記事
- 第10回 キャリアを超えてネットワークを語り合うNW-JAWSが始動!
- 第9回 カヤックでのAurora移行は「今のところいいことしかない」
- 第8回 オルトプラス中田さんが語るAWSとAzure、GoogleのIoTの違い
- 第6回 JAWS-UG IoT支部とコラボ!300人で盛り上がった真夏のIoTLT
- 第5回 AWS初心者がまず知っておきたいこと、ハンズラボ吉田さんが語る
- 第4回 JAWS-UGコンテナ支部で垣間見えたDockerやECS活用のコツ
- 第3回 AWS運用に耐えうるIT部門は作れる?情シス支部の議論をのぞく
- 第2回 首都圏の16支部がそろい踏み!JAWS-UG東京、2年ぶり開催
- 第1回 キャンセル待ち150人!Security-JAWS第1回で現場の苦労を見た
- この連載の一覧へ