{"componentChunkName":"component---src-templates-post-template-js","path":"/posts/cicd-conference-2021","result":{"data":{"markdownRemark":{"id":"bd26735c-0545-5b1c-b2ae-87897ad25dfd","html":"<p>CI/CD Conference 2021 のいくつかのセッションを視聴したので、そのメモと感想です。</p>\n<h2 id=\"公式サイト\" style=\"position:relative;\"><a href=\"#%E5%85%AC%E5%BC%8F%E3%82%B5%E3%82%A4%E3%83%88\" aria-label=\"公式サイト permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>公式サイト</h2>\n<p><a href=\"https://event.cloudnativedays.jp/cicd2021\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://event.cloudnativedays.jp/cicd2021</a></p>\n<h2 id=\"ossで作る機械学習のcicd\" style=\"position:relative;\"><a href=\"#oss%E3%81%A7%E4%BD%9C%E3%82%8B%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%81%AEcicd\" aria-label=\"ossで作る機械学習のcicd permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>OSSで作る機械学習のCI/CD</h2>\n<ul>\n<li>\n<p>資料</p>\n<ul>\n<li><a href=\"https://www.slideshare.net/yusukeshibui/machine-learning-cicd-with-oss\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://www.slideshare.net/yusukeshibui/machine-learning-cicd-with-oss</a></li>\n</ul>\n</li>\n<li>\n<p>取得したデータの正しさ</p>\n<ul>\n<li>\n<p>Pandera</p>\n<ul>\n<li>Pandas に対してスキーマを定義してバリデーションできる</li>\n</ul>\n</li>\n<li>TensorBoard</li>\n<li>\n<p>Know Your Data</p>\n<ul>\n<li><a href=\"https://knowyourdata.withgoogle.com/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://knowyourdata.withgoogle.com/</a></li>\n</ul>\n</li>\n<li>CI/CD や学習の自動化を進める際は、Data Validation 同様にデータの異常を検知するためのユニットテストを書く</li>\n</ul>\n</li>\n<li>\n<p>機械学習のテスト</p>\n<ul>\n<li>少量のデータで、プログラム的に正しく動くことをアサーションする</li>\n<li>型がおかしくてそもそもエラーとかにならないように</li>\n<li>アサーションは、学習後に精度が上がっていること、くらいでも有用</li>\n</ul>\n</li>\n<li>\n<p>DVC (Data Version Control)</p>\n<ul>\n<li>ツール</li>\n<li>Git と同じような使い方でデータをバージョン管理</li>\n<li>MLFlow でも同じようなことが実現できる</li>\n</ul>\n</li>\n<li>\n<p>CML (Continuous Machine Learning)</p>\n<ul>\n<li>DVC と同じ会社が出している</li>\n<li>\n<p>GitHub Actions などに組み込み、機械学習の結果をレポーティングしてプルリクに組み込む</p>\n<ul>\n<li><a href=\"https://github.com/iterative/setup-cml\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://github.com/iterative/setup-cml</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>負荷テスト</p>\n<ul>\n<li>機械学習を組み込むときは、パフォーマンスに注意</li>\n<li>プロファイリングツールで見てみると、推論がきれいにたくさん時間を使う</li>\n<li>GPU コストを無駄にしないように、モデルの選定時にもパフォーマンスを意識する</li>\n<li>\n<p>ツール</p>\n<ul>\n<li>Locust</li>\n<li>\n<p>Vegeta Attack</p>\n<ul>\n<li>すぐに試したいときに最高の選択</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>感想</p>\n<ul>\n<li>そうだなあと思える苦しみが色々見えて面白かったです</li>\n<li>MLOps に強くなるには、このあたりのツールを使い込んでいたり知っているのも大事そうだなと思いました</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"君のセキュリティはデプロイするまでもなく間違っている\" style=\"position:relative;\"><a href=\"#%E5%90%9B%E3%81%AE%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%AF%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%E3%82%82%E3%81%AA%E3%81%8F%E9%96%93%E9%81%95%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B\" aria-label=\"君のセキュリティはデプロイするまでもなく間違っている permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>君のセキュリティはデプロイするまでもなく間違っている</h2>\n<ul>\n<li>\n<p>資料</p>\n<ul>\n<li><a href=\"https://speakerdeck.com/ytaka23/cicd-conference-2021\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://speakerdeck.com/ytaka23/cicd-conference-2021</a></li>\n</ul>\n</li>\n<li>\n<p>設定のテストツール</p>\n<ul>\n<li>\n<p>CFn</p>\n<ul>\n<li>CloudFormation Linter</li>\n<li>CloudFormation Guard</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>IAM Access Analyzer</p>\n<ul>\n<li>\n<p>機能</p>\n<ul>\n<li>アクセスのプレビュー</li>\n<li>定期的なスキャン</li>\n<li>Policy のバリデーション・個別項目ルールの検査</li>\n<li>CloudTrail のアクセス履歴から Policy を生成</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>SMT ソルバ</p>\n<ul>\n<li>Zelkova</li>\n<li>Tiros</li>\n</ul>\n</li>\n<li>\n<p>感想</p>\n<ul>\n<li>チェックをレベル別でまとめていたのが非常に分かりやすかったです</li>\n<li>とりあえず IAM Access Analyzer を試すところからですね</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"複数ブランチ運用は『単一のコードベース』と言えるのか\" style=\"position:relative;\"><a href=\"#%E8%A4%87%E6%95%B0%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E9%81%8B%E7%94%A8%E3%81%AF%E3%80%8E%E5%8D%98%E4%B8%80%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%83%99%E3%83%BC%E3%82%B9%E3%80%8F%E3%81%A8%E8%A8%80%E3%81%88%E3%82%8B%E3%81%AE%E3%81%8B\" aria-label=\"複数ブランチ運用は『単一のコードベース』と言えるのか permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>複数ブランチ運用は『単一のコードベース』と言えるのか</h2>\n<ul>\n<li>\n<p>理想的なコンテナアプリケーションデリバリ</p>\n<ul>\n<li>単一永続ブランチ</li>\n<li>デプロイパイプラインはコードブランチとは別管理にすれば、そうできる</li>\n</ul>\n</li>\n<li>\n<p>開発用のコンテナ</p>\n<ul>\n<li>FROM を本番用のコンテナにして、デバッグツールを入れる</li>\n</ul>\n</li>\n<li>\n<p>感想</p>\n<ul>\n<li>めちゃくちゃ良い話でした</li>\n<li>いろんな人にこの話を聞いてほしいです</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"cyberagent-における-oss-の-cicd-基盤開発\" style=\"position:relative;\"><a href=\"#cyberagent-%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B-oss-%E3%81%AE-cicd-%E5%9F%BA%E7%9B%A4%E9%96%8B%E7%99%BA\" aria-label=\"cyberagent における oss の cicd 基盤開発 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>CyberAgent における OSS の CI/CD 基盤開発</h2>\n<ul>\n<li>\n<p>GitHub Actions</p>\n<ul>\n<li>\n<p>helm/kind-action</p>\n<ul>\n<li><a href=\"https://github.com/helm/kind-action\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://github.com/helm/kind-action</a></li>\n<li>kind を動かしてくれて便利</li>\n</ul>\n</li>\n<li>\n<p>whywaita/myshoes</p>\n<ul>\n<li>発表者の方が作成</li>\n<li>self-hosted runner を job ごとに生成、登録</li>\n<li>self-hosted runner に通常だと冪等性がないことを解消</li>\n<li>hashicorp/go-plugin によってプラガブルにしている</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>PipeCD</p>\n<ul>\n<li>CyberAgent 製</li>\n<li>\n<p>k8s 以外でも GitOps</p>\n<ul>\n<li>Terraform</li>\n<li>CloudRun</li>\n<li>Lambda</li>\n<li>Fargate</li>\n<li>…</li>\n</ul>\n</li>\n<li>\n<p>Control-plane と piped という構成</p>\n<ul>\n<li>Control-plane はチーム間で共有</li>\n</ul>\n</li>\n<li>\n<p>Control-plane にはプロダクトチームのクレデンシャルも保存されない</p>\n<ul>\n<li>シークレット管理の機能は備え付けられている</li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<p>harness</p>\n<ul>\n<li><a href=\"https://harness.io/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://harness.io/</a></li>\n</ul>\n</li>\n<li>\n<p>感想</p>\n<ul>\n<li>helm/kind-action や hashicorp/go-plugin など、知らないツールを色々知れてよかったです</li>\n<li>PipeCD はかなり便利そうな印象でした</li>\n</ul>\n</li>\n</ul>","fields":{"slug":"/posts/cicd-conference-2021","tagSlugs":["/tag/cicd/","/tag/devops/"],"autoRecommendPosts":["udemy-cicd-with-github-actions","ci-services","udemy-aws-container","tdd-books"]},"frontmatter":{"date":"2021-09-03T09:09:25.038Z","description":"CI/CD Conference 2021 のいくつかのセッションを視聴したので、そのメモと感想です。","tags":["cicd","devops"],"title":"【メモ・感想】CI/CD Conference 2021 by CloudNative Days","socialImage":null,"recommendPosts":null}}},"pageContext":{"slug":"/posts/cicd-conference-2021"}},"staticQueryHashes":["251939775","3942705351","401334301"]}