>100 Views
December 11, 25
スライド概要
つくてくトーク 〜 チームと私の生産性を上げる、ちょっと楽する話 〜 #14
https://tsukulink.connpass.com/event/372064/
がんばります
SREチームで実践している 開発ハック術 ツクリンク株式会社における、信頼性と開発効率を最大化するための取り 組み
自己紹介 名前 ida.(@tech_ida) 所属 ツクリンク株式会社 SREチーム リード 経歴 • 2014年 新卒でSIerを経験 • 2023年 ツクリンク入社 • システム基盤刷新 • SREチーム立ち上げ、運用 • 生成AI導入 趣味 資格受験(年内までにAWS12冠目標) ジム、サウナ、スポーツ観戦(主に九州地方のチーム)
ツクリンクのSREチームとは? SREチームは、Googleが提唱するSREの定義を元に、プロダクトの信頼性を向上・維持することをメインに活動しています。以下6 つの柱にタスクを分類して管理・対応しています。 信頼性の維持・インフラ 監視 セキュリティ対応 障害対応 セキュリティリスクを特定・対 本番環境の障害に迅速に対応し システムの安定稼働を監視し、 応し、システムの安全性を確保 て、サービス継続性を確保しま 信頼性を継続的に維持。 します。 す。 コスト最適化 サービス・開発効率化 インフラ開発 インフラコストを最適化し、効 開発チームの生産性を向上させ インフラコードの開発・改善を 率的なリソース利用を実現。 、デリバリースピードを加速。 通じて、基盤を継続的に進化。
SREチームが実践する開発ハック
Preview環境の導入 開発サイクルにおける最大のボトルネックの一つである「検証環境の不 足」を解決するための施策です。Heroku Review Appsの概念を参考に AWS上で実装し、エフェメラル環境を構築できるようにしました。 即座に立ち上げ 本番環境に近い構成をオンデマンドで構築し、QAや動作検証の待ち時 間をゼロにします。 コンフリクトの解消 開発者が個別の環境を持てるため、並行開発時のデータ競合や環境汚 染を防ぎます。 リソース最適化 必要な時だけ生成し、不要になれば自動破棄するため、インフラコス トを最小限に抑えます。
Preview環境の効果的な活用 単なる検証環境の提供にとどまらず、開発フロー全体の質を底上げしています。 手戻りの削減 コストの圧縮 開発スピードの向上 AWS上のリソースでステージング 常駐環境ではなく、必要な時に生 ソースコードの検証が容易になる 環境を検証できるため、開発の手 成され不要になれば破棄されるエ ことで、開発プロセスが加速し、 戻りを大幅に削減します。 フェメラル環境により、インフラ 全体的な開発スピードが向上しま コストを大幅に圧縮します。 す。 チームコラボレーションの促進 開発段階でエンジニア以外のメンバーもデザインレビューや動作確認に参加できるため、フィードバックサイクルが早まり 、開発がよりスピーディに進みます。 参考記事: Preview環境の構築について
PoC環境の構築 – インフラ開発用 アプリケーションコードはローカル環境で検証可能ですが、インフラコードはそうではありません。 このPoC環境は、SREの開発メンバーがローカルからAWSへ容易にインフラ変更をデプロイし、 検証できる「Sandbox(遊び場)」を提供します。 Preview環境をベースに 実績のあるPreview環境の構成を流用し、インフラコードをローカルPC上で本番相当の構成でテスト・検証を可能に。 AWSへの容易なデプロイと検証 開発者は、ローカルからAWSへ直接インフラコードをデプロイし、本番環境に影響を与えることなく、その動作や変更を迅速に検証。 インフラ実験の障壁を大幅低減 ローカル環境では難しいインフラの変更や新しいアーキテクチャの試行を、環境構築の手間なく気軽に行えるようにし、試行錯誤のハードルを下げた。 Makefileの活用 複雑なコマンド群をMakefileで標準化し、タイプミスなどのヒューマンエラーを削減します。これにより、誰でも同じ品質で操作を実行できるようにした。
インフラ開発ツールのDocker化 インフラ開発には多くのツールが必要です。AWS CLI、Terraform、ecspressoなどのバージョン管理は 複雑でチームメンバー間での環境差異が問題になりやすいものです。これらのツールをDockerコンテナとしてパッケージ化し、 チームメンバーに提供することで、すべてのメンバーが同じバージョン、同じ環境でインフラ開発を行える体制を実現しました。 環境差異の完全解消 セットアップの短縮 CI/CDとの連携 Dockerコンテナを使用することで Dockerイメージをプルするだけで ローカル開発環境とCI/CDパイプ 、AWS CLI、Terraform、 、チームメンバーは複雑なセット ラインの両方で同じDockerコンテ ecspressoなどのインフラ開発ツー アップなしにインフラ開発ツール ナを使用することで、一貫性を確 ルをすべてのチームメンバーの環 をすぐに使い始めることができま 保し、テストの信頼性向上とデプ 境で標準化し、環境差異を解消し す。 ロイプロセスの効率化を実現しま ます。 す。
開発コンテナ導入のメリット 組織としての開発体力が、足回りから強化されました。 生産性と品質の向上 トラブル対応の容易化 オンボーディングの爆速化 ローカル環境が安定することで、開 環境自体がバージョン管理されてい 発者は本質的なロジックの実装に集 「環境構築に3日かかる」といった事 るため、不具合発生時に環境要因か 中でき、結果としてプロダクトの品 態を排除。新入社員でも初日からコ コード要因かの切り分けが容易にな 質向上につながります。 ードを書き始められるようになり、 りました。 即戦力化を支援します。 参考記事: Dockerを用いた実行環境の整備
テックブログ執筆の効率化 個人的に、テックブログの執筆をよりスムーズかつ高品質にするための工夫を凝らしています。 記事品質の向上 壁打ち・肉付けの効率化 ローカルエディタでの完結 markdownlintやtextlintを活用し、 CursorやClaude CodeなどのAIツー 執筆作業は全てローカルエディタで Markdown記法の統一性チェックや ルを利用することで、記事の大枠作 完結するため、Web上のエディタと 、日本語表記(ひらがな・カタカナ 成後の肉付けや平仄合わせ、さらに の往復がなく、集中して効率的に作 ・漢字の使い分け、敬語表現など) ブラッシュアップのプロセスを効率 業を進めることが可能です。 の統一性を図り、記事の品質を高め 的に行えます。 ます。 変更履歴の管理 GitHubで記事を管理することにより、変更履歴を容易に追跡できます。これにより、共同作業の効率化と誤操作からのリカバリー が容易になります。 参考記事: テックブログ執筆の効率化について
開発ハック術まとめ Preview & PoC環境 開発コンテナの徹底 本番相当の環境を瞬時に用意する 「環境のコード化」により、チー 仕組みにより、開発スピードと品 ム全体の一貫性を保ち、無駄なト 質担保を高い次元で両立。 ラブルシューティング時間を削減 。 自動化と標準化 テックブログ執筆の効率化 これらを支える自動化技術の推進 markdownlintやtextlint、AIツー により、トイルを削減し、信頼性 ル、GitHub連携により、記事品質 の高いシステム運用を実現。 の向上と執筆プロセスの効率化を 実現し、アウトプット文化を醸成 。
これからのSREチームでやりたいこと 開発ハック術の実践を通じて、さらなる効率化と組織全体の開発力向上を目指します。 更なるトイルの削減、効率化 新技術の積極導入 SRE文化のイネーブリング 現在の自動化施策をさらに進化させ、手作 変化の激しい技術トレンドをキャッチアッ SREの理念と実践を組織全体に浸透させ、 業のトイル(労苦)を徹底的に削減。開発 プし、有用な技術を積極的に取り入れるこ 開発チームとの連携を深化。単なるインフ 者がより本質的な仕事に集中できる環境を とで、さらなる効率化と安定運用を目指し ラ提供者ではなく、信頼性と効率性を共創 実現し、チーム全体の生産性を最大化しま ます。AI、IaC、オブザーバビリティなど、 するパートナーとして、組織全体の開発文 す。 最新のベストプラクティスを組織に浸透さ 化を進化させます。 せます。