見出し画像

AWS Dev Day 2023 Tokyo 参加レポート(2023/6/22分)


はじめに

こんにちは!SHIFTの當眞です。
AWSの開発者向けのイベントAWS Dev Day 2023 Tokyoに参加してきました!

私は主に、AI、コンテナ、サーバーレス、マイクロサービス、CI/CD関連のセッションを受講しています。参加前にイベントサイトに記載のセッション概要から質問・疑問を考えて臨みました。

※2023/6/23分のレポートは下記にまとめています。

セッションレポート

【GS-1】DAY 1 ゼネラルセッション:[GS-1-1] Invent and Simplify - クラウドとAIを活用したソフトウェア開発の未来 /

セッション概要

2006 年にAWS がサービスを開始し、オンデマンドでコンピュートリソースが利用できるようになったことで、ソフトウェア開発は大きく変化しました。その後、開発者はその変化を生かしてさまざまなサービスやソリューション、プラクティスを生み出してきました。そして、2023年現在、生成系AI によってまた大きな変化を迎えようとしています。このセッションでは、ソフトウェア開発の世界的なトレンドを確認し、このような変化が速く、認知的負荷が増大していく環境で、AWS がどのように開発者の方が本来集中すべき領域に注力するのをサポートしようとしているのかお話しします。

所感

  • 現在のAIの浸透状況

「電子レンジができたとき、最初はこれが広まるとは思われなかった。」
→「ポップコーンの登場により、ポップコーンを食べるために電子レンジが広まった。」
というお話から
「生成AIが電子レンジにおけるポップコーンの役割になってきている。」
→「今後はAIが爆発的に広まっていく」
という話の流れが印象的でした。

現時点でも10万以上のお客様がAWS for MLを使用しているとのことです。

  • 開発ライフサイクルとAWS人工知能サービスとのかかわりについて

開発プロジェクトにおける各フェーズで利用できるAWSのAIサービス紹介がありました。

参考までに列挙しておきます。

1.開発

  • CodeWhisperer:コード候補を生成するAI

  • CodeGuru:コードのセキュリティ関連の問題を自動検出

2.ビルド、テスト、デプロイ

  • CodeGuruReviewer:コードレビューの自動化

  • CodeGuruSecurity :静的アプリケーションセキュリティ検査 (SAST) ツール

  • CodeCatalyst:AWS での計画、開発、配信のライフサイクルを高速化 ※翌日の6/23にハンズオンを受けてみましたが、まだ発展途上のサービスだと感じました。

3.運用監視

  • DevOpsGuru:運用上の問題が顧客に影響を与える前に、その問題を特定

【IM-1】ZOZOTOWN の大規模刷新から見るマイクロサービス戦略と会員基盤の再実装

セッション概要

ZOZOTOWNではシステムリプレイスに取り組んでいます。現在モノリシックだったシステムからマイクロサービス化が進み、複数のサービスが立ち上がっています。今回は会員基盤にフォーカスしてマイクロサービス化の事例を紹介します。会員基盤では、会員登録や変更、削除をGoでAPI化し、ダウンタイムなしでオンプレSQL ServerからAurora MySQLへデータ移行しました。リプレイスを進めるにあたりAPIのガイドラインも整備しました。マイクロサービス化の流れも含めて具体的な内容をお伝えします。

登壇者

株式会社ZOZO
技術本部 VPoE/本部長
瀬尾 直利 氏

2019年SREスペシャリストとして株式会社ZOZOテクノロジーズ(現株式会社ZOZO)に入社。2022年4月よりVPoE(Vice President of Engineer:新技術の選定や、優れたアーキテクチャの検討、DevOpsのアプローチなどを自ら率先して提案する役割)に就任。現在は、技術本部 本部長兼VPoEとして全社のエンジニア組織開発やZOZOTOWNリプレイスプロジェクトを推進。社外活動として、Rubyのコミッターを務める。

株式会社ZOZO
ブロック長(リーダー)
鶴見 純一 氏

2016年に株式会社スタートトゥデイ工務店(現株式会社ZOZO)入社。ZOZOTOWNのマイクロサービス化を進めるためにAPI Gateway、ID基盤、会員基盤と複数のサービスの立ち上げからリリースまで行う。現在は会員基盤のリーダーとして、会員マイクロサービスの運用・改善に取り組んでいる。

要約

zozoのシステムをクラウド化してモノリスからマイクロサービス化した話でした。zozoのような大きなシステムであっても2017年まで2004年当初の構成(※)のままだったというのは驚きました。

※2004年当初の構成はWindowsServer、VBScript+SQLServer(当時はベストプラクティスと言われていた構成)

2017年以降のマイクロサービス化の取り組みについての発表でしたが、マイクロサービスの目的はチームに依存せずに並列開発できることが一番大きかったようです。

参考にしようと思ったことは以下2つです。

  • 開発ガイドラインの整備(各マイクロサービスのテックリードが集まって作成)

    • →開発者の不安や負担を軽減するガードレール的役割になったとのこと(今までとルールが変わるので重要)

  • 良く使う機能の共通化(ZOZOマイクロサービスSDKを開発)

    • →マイクロサービスであっても共通化して効率化するという考え方は変わらない

質問

  • アーキ選定理由(なぜEKSを選んだのか)は?

    • →移行方式中心のご説明だったため、このあたりの説明はなかった。

  • マイクロサービス化を行うにあたり一番大変だったことは?やりたいっていう意志だけでやってよいもの?

    • →文化が変わるため、ルールの整備に気をつかわないといけない部分が最も大変なように感じた。

【IM-2】マイクロサービス時代のセルフサービスデータレイク基盤の作り方

セッション概要

マイクロサービスアーキテクチャの採用によってドメイン毎に独立して開発が進められる様になる一方で、データは急速に分散、多様化しています。データに基づいた迅速な経営判断や、サービスへのデータ利用には、正確性と鮮度が重要です。日々変化し続けるマイクロサービスに散らばったデータを効率よく収集し利用可能にするデータ基盤を、小規模なチームで構築・運用する際の課題や実装事例についてお話しします。

登壇者

PayPay株式会社
Principal Software Engineer(自身の専門分野で長年にわたり経験を重ねてきたエンジニアが就く役職)
冨田 俊大 氏

電力・交通・証券などのバックエンド開発を経て、2013年よりモバイル決済サービス業界に。PayPay入社後は、決済、キャッシュバック、クーポン、データ基盤などに携わり、今は金融サービスの開発をしています。スマホ1つでお金に関わることが完結する社会を作りたいバックエンドエンジニアです。

所感

データレイクの基礎とデータパイプラインをセルフサービス化した話。
セルフサービス化したことでインフラの運用が0(完全にセルフサービス化)になったというのがすごい!!(障害検知から自動復旧まで含めて自動化)

セルフサービス化と聞くとServiceCatalogを連想してしまうが、Terraformをモジュール化してパラメータを抽象化することでも実現できる。(IaC管理できるからServiceCatalogより良いと感じた)

すべてをTerraformで管理できるようにサーバーレス化する必要があることもポイント。

質問:

  • Terraformの入力パラメータを抽象化するのはどうやってやったのか?

    • Terraformモジュール化によって対応したとのこと(これなら確かにできるし、案件でルールを決められる。)

    • しかしサーバーレスでないとTerraform管理できずセルフサービス化が難しい

【SA-3-1】The anti pattern (ジ・アンチパターン)

SaaSプロダクトをAWSで運用して早十数年。おかげさまでプロダクトは国内シェアNO1【*】にまで成長しましたが、その陰でアーキテクチャ設計や運用面で大小さまざまな失敗を経験しました。
今でこそ笑ってしまうような失敗談の数々。しかし、失敗にこそ学びがある(はず)。笑って聞いてください!
Auroraデータベース作りすぎて失敗した件(マルチテナント戦略)
ELB作りすぎた件(数十のELBと数千件証明書を管理)
VPC切りすぎて失敗した件(多層防御実装を間違えて)
【*広告効果測定プラットフォーム「アドエビス」: 日本マーケティングリサーチ機構調べ 調査概要:2021年6月期_指定領域における競合調査】

登壇者

株式会社イルグルム
開発本部 基盤開発部 部長
上原 賢也 氏

2006年  日本発ECオープンプラットフォーム「EC-CUBE」の開発・ローンチ
2009年  広告運用「THREe」のインフラ基盤の設計・構築
2012年  全社の品質管理・インフラの導入・運用をメインで実施
2015年  ベトナム子会社へ出向し、オフショア開発拠点の立ち上げ
2019年~ 日本に帰国し、主にインフラ面から基盤戦略全般を担当

コスト最適化大好き人間。開発~品質管理~オフショア開発拠点の立ち上げとなんでもやってます。

株式会社イルグルム
山本 瑛治 氏

"2020年 岡山大学大学院自然科学研究科電子情報システム工学専攻 卒業2020年 株式会社イルグルム 入社。以後、インフラエンジニアとして業務に従事。オンプレ、クラウド問わずインフラの設計、構築、運用等を担当。好きなAWSサービス:Amazon S3"

要約

  • アンチパターン紹介

    • よく検討しとけよパターン → Auroraの中にテーブル作りすぎ

運用後しばらくしたらAutoVacuumが終わらなくなり、ReadIOPSが急増
Auroraは自動拡張なのでサービス影響は出なかったが、コスト面で問題に。
手動で定期的にVacuum処理を行うことで対処。。

  • アンチパターン許容したつもりパターン → ELB作りすぎ問題(ELB40台にEC2が7台)

ドメインを分けたいという理由でELBを増やした
KeepAliveが原因でEC2のメモリ負荷影響が大きくなった。
→KeepAliveオフにした

  • 3.W-Aの解釈間違えてるよパターン

基本設計にAWSのWell-Archを意識
→マイクロサービスアーキテクチャに変更
→VPCをサービスごとに分ける方針とした
→VPCエンドポイントやTGWなどVPC間をつなぐサービスが増えて費用が増大する結果に。
→そのため、これ以上VPCは分けない方針に。
→セッションの結論は以上だったが、正解は何なのだろう。
今の案件でもVPCかなり分割する方針なので、このパターンにはまってしまう気がする。。

【SA-3-2】成長を続ける SaaS の AWS コスト管理において開発者としてできること

セッション概要

運営しているSaaSが成長を続けると、継続したコスト管理が重要になってきます。マイクロサービス化が進み、開発者自身でAWSリソースを作成し、運用するということも多くなると思います。自分のチームで利用しているAWSコストの管理できていますか?AWS管理担当者に丸投げしていませんか?開発者にだってできることや気をつけておくべきことがあります。このセッションではChatworkで実践しているコスト管理方法や、開発者が気をつけるべきポイントについて説明します。

参照: https://speakerdeck.com/taishin/aws-devday-saas-cost

登壇者

Chatwork株式会社
SRE部 マネージャー
佐々木 真也 氏

クラウドインテグレータや、AI系スタートアップ等を経験し、2020年にChatworkにジョイン。現在はSRE部のマネージャー。EKSを中心とした実行基盤の改善や、信頼性の向上に取り組む。

要約

マイクロサービス化したらサービスごとにAWSのコストを把握できる必要がある。(どのサービスがコスト異常か調査するため)

コスト配分タグが必須になる。(TerraformならDefaultTagsを利用することで全リソースに一括タグ付与が可能)

【SA-4-2】AWS App Runner x AWS Batch を活用した AI SaaS の新規事業開発基盤

セッション概要

新規事業の開発フェーズでは頻繁にコードの変更が行われます。また、AI を活用したサービスでは、アプリケーションの実行基盤の他にAIの実行基盤が存在します。コンテナ技術やCI/CD を用いて、ビジネスの変化に合わせて複数の環境を迅速に更新する必要があります。

App Runner と AWS Batch を活用することで、 AI SaaS の新規事業を高速に検証するためのアーキテクチャを紹介します。

登壇者

株式会社グリッド
プロダクト開発部 CTO
沼尻 匠 氏

東京工業大学大学院物理情報システム専攻卒業。製鉄システムインテグレーターにて、インフラ環境構築を担当。グリッドのAI事業立ち上げ時より、AI 開発プラットフォームの開発をリード。最適化PJ にいち早く参入し、グリッドの社会インフラにおける最適化の取り組みの礎を築く。2020 年よりは CTO として、グリッドの技術開発を牽引する。

要約

AppRunnerはコンテナイメージのプッシュを契機にアプリケーションのデプロイ(=コンテナのCI/CD)を実現するサービス。

AppRunnerはプロトタイプとして仮説検証用で使う程度としていることが分かった。

今の現場でAWSのプロフェッショナルサービスの方にも言われましたが、やはり本番利用は難しいようです。。

(ただ昨今はAppRunnerの機能が拡充してきているので、本番利用の余地が出てきているとの情報もある)

質問

Sagemakerは利用しているか?していなければその理由。

→SageMakerの話はでなかったので、利用はしていない。なぜかは分からなかった。

【C-5】Amazon ECS デプロイツール ecspresso 開発 5 年の歩み

セッション概要

Amazon ECS のデプロイツールである ecspresso は、Go で作られた OSSです。2017年に開発が始まり、2023 年まで継続的に機能追加やバージョンアップを繰り返してきました。今では多くの国内企業でも利用されています。
https://github.com/kayac/ecspresso

このセッションでは、AWS SDK を利用した Go による CLI ツールを 5 年以上継続的に開発してきた経験から得た知見をお伝えします。

登壇者

面白法人カヤック
技術部 SREチームリーダー
藤原 俊一郎 氏

2011年より面白法人カヤック。SREチームリーダー。主にソーシャルゲーム、自社サービスを担当。 ISUCON優勝4回、出題3回。最近の趣味はマネージドサービスの隙間を埋める隙間家具のようなツールをGoで作ってOSSにすること。

所感

ecspressoは登壇者の方が趣味で作ったサービスで、それが多くの国内企業でも利用されるまでに成長したとのこと。

ターゲットをAWSのECSのみにツールの対象を絞ったことで(=マルチクラウド化などには手を出さない)変化の速いAWSサービスについていくことができたというお話が印象的でした。

質問

どのような場合にecspressoは採用されるもの?

→コンテナリリースのロールバックできることがメリット(当初はそんな機能がECSになかった)

おわりに

DevDayはこれまでも2回くらい参加していますが、開発者向けのイベントなのでインフラエンジニアの自分が参加しても何を言っているかわからないことが多かったです。

しかし今回はインフラ関連のセッションが多く、自分でも理解・納得できることが多かったです。

開発者とインフラの垣根がなくなってきているというのは、やはり事実なんだということを突き付けられた感じがしました。「インフラエンジニアが開発知識を知らなくても問題がない時代はそろそろ終わるかもしれない」という危機感を持ってこれからも頑張っていきたいと思います!!


執筆者プロフィール:(當眞 尚平)
AWSエンジニアです。インフラ案件上流(要件定義)から下流(運用)までこなします。
・得意分野:IaC(Terraform、CDK)
・AWS認定:SAP、SAA、DVA、SOA、DOP、MLS、DAS、SCS
・直近の目標:MLOpsエンジニアになる
・SHFITでやっていること:IaC、CI/CD

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら   

PHOTO:UnsplashDavid Jorre