https://dev.classmethod.jp/articles/hashitalks-japan-2023-waypoint/
1わかる!Masaki Kazueクラスメソッド株式会社 CX事業本部 Delivery部
View Slide
2自己紹介Masaki Kazueクラスメソッド株式会社CX事業本部 Delivery部2019年1月 JOINJOINまでの職歴受託開発 8年自社サービス開発運用保守 2年HashiCorp Ambassador 2023blog : https://dev.classmethod.jp/author/kazue-masaki/X(twitter): https://twitter.com/kazueeee_
3このセッションのゴール● Waypointがどういうものなのか何となく分かる● Waypoint使ってみたい!となる
4Waypoint知ってますか?
5Waypoint使ったことありますか?
6😶
7
8これまでの私のWaypointの理解● CDのためのサービス?● GitHub Actionsとか AWS CodePipelineとかが競合なんでしょ?
9これまでの私のWaypointの理解● CDのためのサービス?● GitHub Actionsとか AWS CodePipelineとかが競合なんでしょ?違います
10Waypointが解決したいこと
11とある会社のできごと● とあるプロジェクトでアプリケーションを開発中● コンテナ使ってローカルで開発中● リリースすることになった● どんなプラットフォームを使ってリリースする?
12ECSを使うことになりました
13ECSを使う際に理解・設定しないといけないこと
14覚えること多すぎない…?🤯
15やっとECS使ってリリースできた。が…上司「やっぱりEKS使ってくれ」🙂「」
16EKSで理解・設定しないといけないこと
17また違うこと色々覚えなあかんの…?🤯
18ここでWaypoint
19Waypointは、開発プロセスにおけるビルド以降のフェーズを抽象化し、簡単にするツール
20どういうこと?
21プラットフォームごとにやることが違いすぎるBuild Deploy Release
22各ステージが分断されているBuild Deploy Release
23Build Deploy ReleaseWaypointが抽象化して簡単に
24どういうこと?ECSにデプロイするときの設定はこれだけhttps://github.com/hashicorp/waypoint-examples/blob/main/aws/aws-ecs/nodejs/waypoint.hcl
25どういうこと?ECS→EKSに変更するなら差分はこれだけ※ 事前に以下が必要- EKSクラスターの作成- 上記クラスターにアクセスできるようkubectlのcontextを設定
26使うコマンドは waypoint up だけ
27URL Service● デプロイ毎に xxx.xxx.waypoint.run みたいなURLを払い出してくれて、デプロイ内容の確認ができる● Let's Encrypt で自動生成された証明書でTLS化してる● 過去のデプロイも確認可能 例: xxx.xxx--v2.waypoint.run● 誰でもアクセス可能なので不要な場合は設定でオフにできる
28Web UI
29リリース後のデバッグも共通コマンドで ①waypoint logs
30リリース後のデバッグも共通コマンドで ②waypoint exec
31便利!😃
32のびしろ● LambdaのZipデプロイパッケージは未対応■ コンテナ版は利用可能● API Gateway / AppSyncも未対応■ サーバーレススタックで使うのは時期尚早?● Buildpacksが私のローカル(M1 Mac)で失敗する■ WaypointじゃなくてBuildpacksの問題● Function URL払い出されなかった■ おそらく私が理解不足なだけ…
33Waypointは、開発プロセスにおけるビルド以降のフェーズを抽象化し、簡単にするツール1設定ファイル1コマンドであらゆるプラットフォームを利用できるまとめ
34ご清聴ありがとうございました