Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)

9,116 views

Published on

■Ansibleで構成管理始める人のモチベーションをあげたい!
(Cloudera World Tokyo 2014LT講演資料)
2014/11/06

NTTデータ 基盤システム事業本部
OSSプロフェッショナルサービス
土橋 昌

Published in: Technology
  • Be the first to comment

Ansibleで構成管理始める人のモチベーションをあげたい! (Cloudera World Tokyo 2014LT講演資料)

  1. 1. Copyright © 2014 NTT DATA Corporation 1 NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス 土橋 昌 Ansibleで構成管理始める人のモチベーションをあげたい!
  2. 2. Copyright © 2014 NTT DATA Corporation 2 Who am I?  所属/氏名  基盤システム事業本部 OSSプロフェッショナルサービス  土橋昌(どばし まさる)  お仕事  OSSを使ったR&Dやシステム開発に携わっています  6年ほどHadoop関連のR&Dやシステム開発に関わってきました  近年はHadoopから派生して、ストリーム処理やオンメモリ分散処理にも携わっています  最近の講演など  Spark Summit 2014 @サンフランシスコ  Hadoop Conference Japan 2014  日経BP IT PROの記事  日経コンピュータの記事
  3. 3. Copyright © 2014 NTT DATA Corporation 3 背景 プライベートでも業務でも たくさんのサーバ環境を作って作って(直して)きました Hadoopが普及し始めてから 加速度的に台数が増えました・・・。 1000台とか数百台とか数十台とか、色々な規模
  4. 4. Copyright © 2014 NTT DATA Corporation 4 今日お話しすること サーバ管理って なんとなく 煩雑だよね 手に余るサーバ 管理をなんとかし たい Hadoopも含めて 色んなシステムを まとめて管理した のだけど・・・ 流行っているよう だしやってみたい  構成管理のモチベーションの置き所? オレオレスクリプト の山を何とかして くれ
  5. 5. Copyright © 2014 NTT DATA Corporation 5 今日お話しすること サーバ管理って なんとなく 煩雑だよね 手に余るサーバ 管理をなんとかし たい Hadoopも含めて 色んなシステムを まとめて管理した のだけど・・・ 流行っているっぽ いし、やってみたい  構成管理のモチベーションの置き所? 色んなツールがあって、 色んな使い方をできるようだけれども、 結局何をすればいいの?
  6. 6. Copyright © 2014 NTT DATA Corporation 6 今日お話しすること そういうときは大抵 「なんのために?」を押さえておくと 大きく踏み外さないです
  7. 7. Copyright © 2014 NTT DATA Corporation 7 今日お話しすること そういうときは大抵 「なんのために?」を押さえておくと 大きく踏み外さないです これまで公私共に色んなサーバ環境を 色んな人と開発・運用してきた経験から 「なんのために?」をお伝えします 具体的な細かな話は次の機会に…
  8. 8. Copyright © 2014 NTT DATA Corporation 8 (補足)構成管理ツールに何を使うか?  ポイント 「メンバのスキルセット」、「プロジェクトの状況」を 考慮して選択すればよいと思います。 (Chef、Puppet、Ansible、…)  今の時点での私見 色々なプロジェクトに関係するため、 ・メンバのスキルセット: プログラマとは限らない ・プロジェクトの状況: メンバの変更もある Ansibleの出来ることと使い勝手のバランスが程よいです
  9. 9. Copyright © 2014 NTT DATA Corporation 9 まず結論=なんのために?  トレーサビリティの確保  共通の言葉づくり  ノウハウの蓄積と発展
  10. 10. Copyright © 2014 NTT DATA Corporation 10 1:トレーサビリティの確保  目標 • 「誰が」「何を」「どうしたら」「どうなった」を把握 • 状況を事前に把握し、さらに問題発生時に迅速に対応  方法の例 Git、SVN等でプレイブックを管理 - name: copy_xml_files template: src={{ item }}.j2 dest=/etc/hadoop/conf/{{ item }} with_items: - core-site.xml - hdfs-site.xml - yarn-site.xml - mapred-site.xml - hadoop-metrics2.properties commit c438909edbe91bcab0c10910366048bf0e27d1e3 Author: hoge <hoge@example.com> Date: Fri Jul 11 06:37:09 2014 +0000 サーバ名を変数化 commit 0c2a475379dcaab333122c1fae0d153beda266aa Author: fuga <fuga@example.com> Date: Fri Jul 11 00:19:15 2014 +0900 Add zookeeper log rotation settings. プレイブックの例 コミットログの例
  11. 11. Copyright © 2014 NTT DATA Corporation 11 1:トレーサビリティの確保(問題解決の例) Gitレポジトリ 管理サーバwith Ansible サーバグループA サーバグループB 作業者1 作業者2 (1)問題発生? (3)経緯の理解 (2)現状把握 (4)仮説・対策立案 (5)テスト環境で確認 (6)対策実施
  12. 12. Copyright © 2014 NTT DATA Corporation 12 2:共通の言葉づくり  目標 • メンバとの迅速な情報共有 • 曖昧さの回避  方法の例 構成管理や運用作業をプレイブック化 - hosts: '{{ server | default("hadoop_cdh5_pseudo") }}' gather_facts: no sudo: True sudo_user: hdfs tasks: - name: remove_tmp_dir shell: hdfs dfs -rm -r /tmp ignore_errors: True - name: make_intermediate_dir shell: hdfs dfs -mkdir -p /tmp/hadoop-yarn/staging/history/done_intermediate プレイブックの例
  13. 13. Copyright © 2014 NTT DATA Corporation 13 2:共通の言葉づくりのケース例 作業者1 作業者2 Gitレポジトリ ○○のために □□を変えたい △△のために ××を変えたい  Ansibleプレイブックは、「順番に実行される」、「メモ書きのような明確さ」という特徴 =>変更意図や内容を把握しやすい。特に非プログラマでも。  GitHubのようなサービスに慣れていれば、Pullリクエストによる議論も可能 =>議論の証跡を残しながら、非同期的に作業可能  「とりあえずプレイブック化」という文化が染み付けば、 プレイブックが手順書/パラメータ一覧にもなる 作業者3 チームに加わったので プレイブックを確認します
  14. 14. Copyright © 2014 NTT DATA Corporation 14 3:ノウハウの蓄積と発展  目標 • 行き当たりばったりの回避 • 開発~運用に関する煩雑なノウハウを継続的に 改善し続ける  方法の例 「ロール」を使って汎用化。 「変数」や「グループ」を使って階層化。 - hosts: "{{ server | default('hadoop_cdh5_pseudo') }}" roles: - common - users - screen - ntp - prompt - epel ロールを使う例 hadoop_cdh5_pseudo_fs_default_name: 'hdfs://cdh5-pseudo:8020' hadoop_cdh5_pseudo_mapred_job_tracker: 'cdh5-pseudo:8021' hadoop_cdh5_pseudo_ganglia_servers: '239.2.11.71:8649' 変数定義
  15. 15. Copyright © 2014 NTT DATA Corporation 15 3:ノウハウの蓄積と発展のイメージ 作業者1 作業者2 Gitレポジトリ OSやHadoopの ロールを作りました OSロールを使います。 あとGangliaのロールを 作りました 作業者3 監視こみのHadoop 環境を作るプレイブックを 作りました  ノウハウは少しずつ溜まり、成熟されるもの  チームのノウハウを使いまわし、成熟させることができます (Ansibleにはロールやプレイブックなど、ノウハウ汎化と再利用のための仕組みがあります)
  16. 16. Copyright © 2014 NTT DATA Corporation 16 まとめ Ansibleのような構成管理ツールを 何のために使うのか? 私は、  トレーサビリティの確保  共通の言葉づくり  ノウハウの蓄積と発展 に使います
  17. 17. Copyright © 2011 NTT DATA Corporation Copyright © 2014 NTT DATA Corporation お問い合わせ先: 株式会社NTTデータ 基盤システム事業本部 OSSプロフェッショナルサービス URL: http://oss.nttdata.co.jp/hadoop メール: hadoop@kits.nttdata.co.jp TEL: 050-5546-2496

×