Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラクスサービスを支えるAnsibleのこれまでとこれから

 ラクスサービスを支えるAnsibleのこれまでとこれから

システムを”楽”に運用したい!〜自動化, CI/CDの道〜 発表資料

上畑圭史(Keiji Uehata)

December 07, 2022
Tweet

Other Decks in Technology

Transcript

  1. #RAKUSMeetup 自己紹介 • ウエハタ ケイジ • 株式会社ラクス インフラ開発部 リードエンジニア •

    趣味 「将棋」 息子の将棋教室通いをきっかけに、1年でようやく2級になりました。 目指せ初段!!
  2. #RAKUSMeetup Ansible とは? RedHat社が開発するオープンソースの構成管理ツール [特徴] • YAML記述方式のファイルにサーバやネットワーク機器等の構成情報を書く。その情報 を元にインストールや設定、実行を自動で行う。 • 対象となる環境には専用のエージェントは不要。※サーバの場合は、PythonとSSH接

    続環境が必要。 • 様々な機能はモジュール形式によって提供されている(自作も可) • 何度実行しても同じ状態となる冪等性を担保することを意識。 ※シェル系のモジュー ルなど一部担保できないものがある。
  3. #RAKUSMeetup ChatdealerをAnsible化(2018年) • Ansible化 ◦ 7〜8種類ある現在のサーバ構成情報を1つのリポジトリに ◦ 構築スクリプトを廃止 ◦ 開発、ステージング、本番のパラメータをそれぞれ管理

    ◦ 共通実装の統一(OS、ログや監視設定など) • Ansible実行環境を整備 ◦ Ansibleの自動実行 ◦ メンテナンスモードのOn/Off切り替え
  4. #RAKUSMeetup ▪ハード面(その他) • 構文自動チェック(ansible‐lint, YAML Lint) • 内部テスト・外部テスト実装(ansible‐spec, Behave) •

    Ansible実行速度の高速化機能 Ansible普及期(2020-2021年) 「多くの人がAnsibleコードを書いていく」のに必要なものを用意
  5. #RAKUSMeetup • マジョリティメンバー増加(Ansibleだけじゃなく、周辺機能も) ◦ ドキュメント整備 ◦ ハンズオン開催 ※理解度向上効果が高い ◦ コードレビューの積極参加

    まだまだ終わりじゃないぞ(2022年~) • GitOpsによるデプロイ、フローの整備(現行業務フローの置き換え) ◦ 現行リリースフローはステップ数が多く煩雑 • ハード面の充実 ◦ 自動テストOK=リリースOKにしたい ◦ 実行環境の並列化
  6. #RAKUSMeetup まとめ • Ansible化 ◦ 属人化しない仕組み作りが大事(テンプレート化、ルール作り) ◦ 周辺環境の整備(テスト、実行環境等) • 周辺環境が肥大、複雑化しがち

    ◦ マジョリティメンバーを増やす施策も忘れずに!! ※ドキュメント整備、ハンズオン、フォローアップによる体制作り ◦ 独走禁止!一気に範囲を広げすぎない。