アーキテクチャConference 2024 参加レポート

Findy社主催のイベント「アーキテクチャConference 2024」に現地参加させていただき、多くの学びがあったので、ここに書き残しておきたいと思います。当日の会場の雰囲気やオンライン＆オフラインのハイブリッド形式をどうやり過ごしたかも盛り込んでいますので、類似イベントへの参加を予定している方の参考になれば幸いです。

# 参加日時と場所
日時：2024/11/26(火) 9:20～14:40 17:00～17:40 (※)
　　　※私が参加した時間帯です。
場所：浜松町コンベンションホール＆Hybridスタジオ／オンライン (※)
　　　※セッションによっては会場(オフライン)限定

# 参加したセッション (タイトル／登壇者)
* 『Modern Trade-off Analysis for Distributed Architectures and Future Software Architecture』分散アーキテクチャにおける現代のトレードオフ分析と今後のソフトウェアアーキテクチャの展望／ThoughtWorks Neal Ford
* 「ビジネスの成長を加速するB2B SaaSのスケーリングアーキテクチャ」／株式会社アンチパターン 小笹 佑京・アマゾン ウェブ サービスジャパン合同会社 櫻谷 広人
* 分散型アーキテクチャの課題解決と最適化への道／アカマイ・テクノロジーズ合同会社 金児 仁史・Jose Vega
* ZOZOTOWNのアーキテクチャ変遷と意思決定の歴史をADRから振り返る／株式会社ZOZO 瀬尾 直利
* マルチプロダクト戦略におけるデータ分析プロダクトのアーキテクチャ／株式会社Hacobu 三木 拓史

# 当日の流れと各セッションの内容や感想
### 1. 受付 (9:20～)
　事前に印刷しておいた受講票を提示すると、受講票を入れるネックストラップと、フロアマップ＆スタンプラリー台紙が配布されました。受付はそれほど並ばずにスムーズに入場できました。受講票の事前準備が推奨されていたからだと思われます。それより、浜松町クレアタワーのエレベーターがコンベンションホールのある５Fまで行かないというトラップがあるので注意（エレベーターに５F・６Fのボタンはあるが非活性状態）。会場は思っていたより狭いなという印象。来場者はかなり多く非常に混雑していました。

### 2. 『Modern Trade-off Analysis for Distributed Architectures and Future Software Architecture』分散アーキテクチャにおける現代のトレードオフ分析と今後のソフトウェアアーキテクチャの展望／ThoughtWorks Neal Ford (9:50～10:45)
　この日一番楽しみにしていたセッションでした。同時通訳機が各席に置いてあり利用することができました。使い勝手は問題ありませんでしたが、通訳の方が途中少し咳込んでしまう場面がありました。咳の風邪が流行っていますからね。会場は乾燥していたし、通訳さんは大変な時期だなと心配になりました。
　さて、肝心の内容です。ポイントとしては、ソフトウェアアーキテクチャにベストプラクティスはなく、そこには必ずトレードオフが存在し、繰り返し検討することは避けられないということ。現時点でベストと思われるアーキテクチャも時が経つとベストではなくなる。また、アーキテクチャはデザインと異なり「能力(capabilities)」であるため、コロコロと変更することができない。そのため、アジャイルで推進する場合は、迅速なフィードバックが必要である。というお話でした。写真は、システムを分割するためのツール(検討事項?)の紹介シーン。


![20241124_ニールフォード.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/90a2d330-5e55-0719-21e5-b17304024e65.jpeg)


 ### 3. 「ビジネスの成長を加速するB2B SaaSのスケーリングアーキテクチャ」／株式会社アンチパターン 小笹 佑京・アマゾン ウェブ サービスジャパン合同会社 櫻谷 広人 (11:00～11:40)
　本セッションは人気があり会場参加枠が満席だったため、オンライン枠で参加しました。前セッション終了から本セッション開始までたった15分しかないため、そのわずかな時間でどこかPC作業ができるような席を確保できるのかが課題でした。が、クレアタワー１Fにタリーズがあったので、無事に席を獲得し、povoのトッピング「データ使い放題３時間」をゲット。コーヒー買うのに少し並んで、5分遅れくらいで参加することができました。
　さて、肝心の内容です。メインは「SaaSus Platform」というSaaS開発のコントロールプレーンの部分をSaaSで提供するサービスの紹介でした。コントロールプレーンとは、ユーザー管理・請求処理・監視・分析などの基本的な機能をもつコンポーネントで、それ自体が付加価値を生み出すわけではないが、ないと大きく不利になるため実装は必要不可欠。ただし、比較的どのSaaSでも共通的な機能になるので、そこを一括りにして提供するのが「SaaSus Platform」だということです。
　AWS社から紹介されたのは、「SaaS Builder Toolkit for AWS(SBT)」でした。CDKベースに構成されているSaaSのベストプラクティスを実装するための開発者向けツールキットです。再利用可能なコンポーネントを使用して、AWS上にコントロールプレーンのリソースを構築できるとのことでした。

![SBTの全体像.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/bac15170-a6f9-0a4d-5bbb-d6a043d7d58a.png)


 ### 4. 分散型アーキテクチャの課題解決と最適化への道／アカマイ・テクノロジーズ合同会社 金児 仁史・Jose Vega (13:00～13:20)
 　Akamaiさんは、CDN(コンテンツ・デリバリー・ソリューション)で有名な企業です。本セッションでもレイテンシーの課題について言及されていて、ユーザーの近くにサーバーを置くよというお話をされていました。また、Kubernetes開発の悩みとして、ミドル部分の構築が困難というところがあり、アプリ部分の開発に専念できるよう、ミドル部分の構築をサポートするソリューションを提供するよというお話をされていたかと思います。すみません、手元に資料がなく記憶だけを頼りにしています。もし理解不足があれば、ご容赦ください。また、クラウドプラットフォームも提供しているということでした。これは会場にいた皆さんも知らない方が多かったようです。

### 5. 展示ブースの散策
　前セッションが早く終わったので、展示ブースを彩る各社のアーキテクチャを見て回りました。やはりAWSのカラフルなアイコンが目立ちましたが、GoogleCloudのシンプルアイコンも負けじ劣らず・・という印象でした。業務処理はAWSで実装し、データ分析処理はBigQueryでというアーキテクチャが何度か目に留まりました。また、BtoCシステムはKubernetes必須という感触でしたね。また、オライリーが出店されていて、なんと20％OFFで本を販売していたので、前から気になっていた「データエンジニアリングの基礎」をゲットしました！

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/6d43e03e-8840-d9a2-da13-2f88aef1f1f1.jpeg" width="30%">

### 6. ZOZOTOWNのアーキテクチャ変遷と意思決定の歴史をADRから振り返る／株式会社ZOZO 瀬尾 直利 (14:00～14:40)
　本セッションでは、まずADRとは何かから入って、レガシーシステムを如何にしてモダンシステムに変えていったのかを順を追って説明していただいたので、分かりやすく面白かったです。ADRとは、「Architecture Decision Record」の略で、このアーキテクチャを決定した理由を記録するものだそうです。結果として様々な技術を組み合わせているのですが、ADRがあるからこそ、その技術が採用された理由が明確で、新しいメンバーにも分かりやすいということです。ここでも、メイン処理はAWSだけど、データ分析側はBigQueryなどのGoogleCloudサービスを選定されていました。

 ![GoogleCloud導入.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/4c16f663-4472-5c9a-29fc-b58f0d03866f.jpeg)


 ### 7. マルチプロダクト戦略におけるデータ分析プロダクトのアーキテクチャ／株式会社Hacobu 三木 拓史 (17:00～17:40)
　本セッションは、帰宅後にオンラインで参加しました。物流の2024年問題としてまさに今注目を浴びている物流業界のお話です。電話等のアナログツールで連絡をとりあっている状況だと、どうしても非効率な運送になってしまう。ドライバー側は念のため早めに到着しようとか、倉庫側はどんなトラックがくるか分からないから準備できないとか、小売側はいつ届くか分からないから多めに発注しておこうとか、あらゆるステークホルダーにとって非効率で高コストな状況に陥ってしまう。そういったあらゆる課題を解決するために、トラックの予約サービスやトラックの位置情報を取得できるサービスなどのDXサービスを導入してきました。そこで収集されたデータを用いて、自社だけでなく他社もまきこみ、最適な運送ルートを提案するサービスを導入したという大変興味深いお話でした。ここでも、業務処理はAWS上で行うけれど、データ分析の際はBigQueryを採用していました。今回初めて知ったのが、Amazon Kinesisというストリーミングデータを取り扱うサービスです。Kinesisで取込んでLambdaで処理する構成ですが、LambdaでエラーになってもKinesisにデータが残っているから何度か助けられたとおっしゃっていました。

 ![Kinesis+Lambda.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3553040/5b8d787b-ce52-e724-2026-81e0a8c0b314.png)


 # まとめ
 　とても勉強になった一日でした。データエンジニアリングの本もゲットできたので、やる気もUPです。登壇資料一覧を見ていると、他にも気になる内容がたくさんありますね。。。まだ公開前のようなので、リンクを貼るのは控えておきます。