このページの本文へ

Microsoft Build 2022 Spotlight on Japan完全レポート 第9回

30社以上のハッカソンを実践してきたゼンアーキテクツがその効能をアピール

クラウドネイティブや組織文化の転換はハッカソンで実践できる

2022年06月24日 09時00分更新

文● 大谷イビサ 編集●ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

ビジネスロジックやコードを変えずにAzure Functionをスケールアウト

 次に3日でできる4テーマが紹介された。

 1つ目はlog buildという建設系スタートアップが実施したスケールアウトの事例だ。もともとスタートアップはセルフサービス指向が強く、このlog buildもドキュメント等を読んで自らアーキテクチャを構築していた。建設現場の画像処理にAzure Functionsを使っていたが、サービスの成長に対して、パフォーマンスが出なくなった結果、ゼンアーキテクツに相談が来たという。

 これに対して三宅氏は、「Azure Functionsは拡張性が高いため、ビジネスロジックに手を入れずにスケールを向上させることができる」と答える。実際、サーバーレスでワークフローを構築できるDurable Functionsを間に挟むことで、画像処理のコードをほとんど手を入れず、スケールアウトを実現した。

Azure Functionsを用いた画像処理システムのアーキテクチャ

 パフォーマンス的には100倍以上になり、トラブルシューティングや運用のボトルネックを解消でき、追加開発にリソースを割くことが可能になった。現在はAzure AD B2Cを用いることで、建設現場のエンドユーザーがLINEから使いやすくするための改善を進めているという。

 国立研究開発法人の事例では、オンプレミスで進めていた画像処理をクラウドに移行し、スケールアウトを実現した。「オンプレ時代から使っていた画像変換処理のPythonのコードやライブラリは変更する必要がなかった。だから、なるべく触らずにAzure Functionsに持っていきたいと考えた」(三宅氏)ということで、Azure Functions上でDockerを動かすことにした。処理能力が増えても、Durable Functionsでスケールアウトすることも可能になった。

 当初このワークショップの3日間はスケールアウトの要件で費やす予定だったが、ここまで2日で完成してしまったので、3日目はCI/CDまで進むことができたという。「もともとやりたいという意向はあったので、モブプログラミング形式でCI/CDを試し、GitHub Actionsで自動化までできた」と三宅氏は語る。

ハッカソンでDevOpsやIaCまで進められる

 2つ目のテーマはDevOpsだ。こちらはスタートアップのコミュニティオの事例だが、ビジネスやコストの観点で別のクラウドからAzureに乗り換えたいということで、ゼンアーキテクツにやってきた案件だ。「以前のクラウドではIaaSっぽい使い方をしていたが、ビジネスロジックはなるべくいじらず、サーバーレスやPaaSを使いたい」というニーズだったため、WebApp for ContainerというPaaSを活用したDockerとAzureの標準的な構成に落ち着いたという。

 このアーキテクチャでは、Dockerイメージをプッシュするだけで、アプリケーションが更新されるという仕組みになっており、ワークショップでは1日で実現できた。そのため、残りの2日間で積んであったバックログを片付けるべく、GitHub Actionsで自動化を進め、Terraformを用いたIaC(Infrastructure as Code)までやりきったという。

 この中での注目はGitHub Actions。基本はYAMLファイルに従って、ワークフローを自動化してくれるというものだが、やはりAzureとの親和性は高く、Azure PaaSを使う限り、ワークフローは自動生成できる。「しかも自動生成で作ってくれるコードのレベルが高い。だから、ハッカソン中も基本は自動生成で進め、数行手を入れるくらいで効率的に作業を進められた」と三宅氏は振り返る。

 もう1つのテーマであるIaCに関しては、TerraformとGitHub Actionsを活用している。もともと別のクラウドを使っていたことや、OSSでシステムを構築していたこともあり、IaCに関してはHashiCorpのTerraformを採用。「コミュニティオさんは数多くのテナントのシステムを作ったり、削除したりといった処理を行なっている。本番環境をいちいち手でいじっていたら、事故を起こしてしまうので、自動化を推進している」とのことだ。結果、リソース管理はTerraformですべて自動化できており、半年間Azureポータルはほとんど触っていないとのことだ。

TerraformとGitHub ActionsによるIaCの実践

カテゴリートップへ

この連載の記事
  • アスキー・メディアワークス
  • 角川アスキー総合研究所
  • アスキーカード
  • アスキーの本と雑誌
  • 電撃オンライン - 電撃の総合ゲーム情報&雑誌情報サイト!
  • 電撃ホビーWEB - 電撃のホビー雑誌・書籍&ホビーニュースサイト
  • 電撃文庫 - 電撃文庫&電撃文庫MAGAZINEの公式サイト
  • 電撃屋.com - 電撃のアイテムを集めた公式ショッピングサイト!