小樽情報技術勉強会#10

53
小小小小小小小小小#10 2012 小 10 小 23 小 小小小小小小小小小小小

description

小樽情報技術勉強会#10. 2012 年 10 月 23 日 新倉屋システム株式会社. はじめに:勉強会の主旨. はじめに:今回の対象者. はじめに:本日のアジェンダ. 背景. ポータルサイト と は ?. 目標設定. 目標設定:ロードマップ. 目標設定:今回の目標. システムとは. 入力/処理/出力(IPO). I. O. P. 入力 (Input) シャッターを押す. 処理 (Process) 写真を生成する. 出力 (Output) 写真を保存する. 入力/処理/出力(IPO). 効く. 聴く. 菊. キク. 聞く. きく. - PowerPoint PPT Presentation

Transcript of 小樽情報技術勉強会#10

Page 1: 小樽情報技術勉強会#10

小樽情報技術勉強会#10

2012 年 10 月 23 日新倉屋システム株式会社

Page 2: 小樽情報技術勉強会#10

はじめに:勉強会の主旨

複数の情報技術を組み合わせることで、有用なシステムを産み出せることを学ぶ

「小樽版地域ポータル」の開発を通じて新たなコミュニティ

を作り出す

2

Page 3: 小樽情報技術勉強会#10

はじめに:今回の対象者

初参加の人

情報処理の初学者

3

Page 4: 小樽情報技術勉強会#10

はじめに 背景 目標設定 本編 まとめ

はじめに:本日のアジェンダ

4

システムとは

基本的な考え方

運用について

Page 5: 小樽情報技術勉強会#10

背景

地方都市における「ホームページ」の意義

「ホームページ」は見てもらわなくては意味が無い

5

はじめに 背景 目標設定 本編 まとめ

Page 6: 小樽情報技術勉強会#10

ポータルサイトとは?

• インターネットの玄関口

ポータルサイト (Portal Site)

• 地域情報の発着信港

地域ポータルサイト

• 入口から中への水先案内人の役割• ポータルサイトにおけるサービスの1つ

検索エンジン

6

はじめに 背景 目標設定 本編 まとめ

Page 7: 小樽情報技術勉強会#10

目標設定

• 「小樽版地域ポータル」を構築する

• それに伴う技術や知識を学ぶ

全体目標

7

はじめに 背景 目標設定 本編 まとめ

Page 8: 小樽情報技術勉強会#10

目標設定:ロードマップ

1~3月• デジタル

サイネージ

4~6月• 検索

エンジン

7~9月• 外部連携

10 ~ 12月• システム

基盤

8

1月:概論

2月:情報発信

3月:端末本体

はじめに 背景 目標設定 本編 まとめ

4月:概論

5月:検索技術

6月:構築

7月:概論

8月:ブログと連携

9月:アプリと連携

10月:概論

11月:ネットワーク

12月:大規模化

Page 9: 小樽情報技術勉強会#10

目標設定:今回の目標システムとは何かを考える

システム運用の基礎理論を知る

止まらないシステムの運用について考える

9

はじめに 背景 目標設定 本編 まとめ

Page 10: 小樽情報技術勉強会#10

システムとは

10

はじめに 背景 目標設定 本編 まとめ

システムとは

基本的な考え方

運用について

Page 11: 小樽情報技術勉強会#10

入力/処理/出力(IPO)

11

入力 (Input)シャッターを押す

出力 (Output)写真を保存する

処理 (Process)写真を生成する

I P O

Page 12: 小樽情報技術勉強会#10

入力/処理/出力(IPO)

12

きく聞く

効く聴く 菊

キク

Page 13: 小樽情報技術勉強会#10

入力/処理/出力(IPO)

13

1 対 多入力 出力

Page 14: 小樽情報技術勉強会#10

入力/処理/出力(IPO)

きく

音楽 聴く

薬 効く

ばあちゃん キク

嫁 利く14

O

I

I

I

I

O

O

O

O

I

I

I

I

O

O

O

O

Page 15: 小樽情報技術勉強会#10

入力/処理/出力(IPO)

15

きく聞く

効く聴く 菊

キク

複雑な内部処理をブラックボックス化

Page 16: 小樽情報技術勉強会#10

入力/処理/出力(IPO)

16

入力 出力

別システムへ

システム

Page 17: 小樽情報技術勉強会#10

システムの結合

システムA システムB

17

結合部分

インターフェースとも呼ばれる

Page 18: 小樽情報技術勉強会#10

インタフェースの統一 コンテナー

利用可能な輸送手段 船

列車

トラック

18

Page 19: 小樽情報技術勉強会#10

システムについてのまとめ

IPO

内部処理は複雑怪奇

インターフェースを合わせれば、(サブ・)システムの置き換えが可能

19

Page 20: 小樽情報技術勉強会#10

基本的な考え方

20

はじめに 背景 目標設定 本編 まとめ

システムとは

基本的な考え方

運用について

Page 21: 小樽情報技術勉強会#10

稼働率MTBF - mean time between failures平均故障間隔 = 稼働時間の総和 ÷ 故障回数

21

稼働1 稼働2 稼働3

故障

故障

稼働時間の総和 =

T1 T2 T3

∑ 𝑇 𝑖

Page 22: 小樽情報技術勉強会#10

稼働率MTTR – mean time to repair平均復旧時間 = 修理時間の総和 ÷ 故障回数

22

稼働1 稼働2 稼働3

故障

故障

修理時間の総和 =

R1 R2

∑ 𝑅𝑖

Page 23: 小樽情報技術勉強会#10

稼働率計算式 意味 状態MTBF 次の故障までの推定時間 正常稼働中MTTR 故障した時の推定復旧時間 障害・停止中

MTBF + MTTR1回の故障あたりの平均サービス提供時間

正常稼働・停止中の両方

稼働率 正常稼働中

= 1 - 稼働率

故障率 停止中

23

Page 24: 小樽情報技術勉強会#10

稼働率

24

稼働1 稼働2 稼働3

故障

故障

サービス提供時間の総和 =

T1 T2 T3

∑ 𝑇 𝑖+∑𝑅𝑖

R1 R2

Page 25: 小樽情報技術勉強会#10

稼働率

25

稼働: T%故障:

R%

100%

T R

Page 26: 小樽情報技術勉強会#10

稼働率

26

稼働: 99%故障:

1%

100時間⇒ 99時間 : 1時間

T R

10時間⇒ 9時間54分 : 6分

Page 27: 小樽情報技術勉強会#10

2つのシステムの稼働率 2つのシステムが連続する場合・・・

27

システムA稼働率99%

システムB稼働率99.9%

全体稼働率 = 稼働率A × 稼働率B      = 98.9% < 稼働率A < 稼働率B

年間動作不能時間4日 0時間16分

Page 28: 小樽情報技術勉強会#10

2つのシステムの稼働率 2つのシステムが協力する場合・・・

28

システムA稼働率99%

システムB稼働率99.9%

全体稼働率 = 100% - 故障率A × 故障率B      = 100% - 1% × 0.1%      = 99.999% ≫ 稼働率B > 稼働率A

年間動作不能時間5分15秒

Page 29: 小樽情報技術勉強会#10

稼働率年間停止時間

稼働率 動作不能時間99.9999% 32秒

99.999% 5 分 15秒99.99% 52 分 34秒

99.9% 8 時間 46 分99% 3日 15時間 36分

29

Page 30: 小樽情報技術勉強会#10

稼働率まとめ システムを直列に組み合せると稼働率は低下する システムを並列に組み合せると稼働率は向上する

「冗長化」と呼んだりする高コストになりやすい高度な構築スキルが不可欠

稼働率は SLA ( Service LevelAgreement )の基準に利用されたりする。

30

年間停止時間

稼働率 動作不能時間99.9999

% 32秒

99.999% 5 分 15秒99.99% 52 分 34秒99.9% 8 時間 46 分

99%3日 15時間 36

Page 31: 小樽情報技術勉強会#10

信頼性設計 フォールトアボイダンス( Fault

Avoidance )

構成要素の個々の性能を上げて、障害を避けるという設計方針

31

Page 32: 小樽情報技術勉強会#10

信頼性設計 フォールトアボイダンスの例(直列の場合)

32

システムA稼働率99%

システムB稼働率99.9%

全体稼働率 = 稼働率AA × 稼働率B      = 99.8%

システムAA稼働率99.9%

年間動作不能時間4日 0時間16分

17時間30分40秒

Page 33: 小樽情報技術勉強会#10

信頼性設計 フォールトトレランス( Fault Tolerance ) 故障や事故を想定し、それに備える、

という設計方針

フォールトトレランスの例 フェールセーフ - Fail Safe :障害発生時⇒停止 フェールソフト - Fail Soft :障害発生時⇒切替 フールプルーフ - Fool Proof :人為的ミス発生時

ミスの指摘・訂正を要求

33

Page 34: 小樽情報技術勉強会#10

信頼性設計

34

コスト(スキル・金額)

稼働率 100%

フォールトアボイダンスコスト(スキル・金額)

稼働率 100%

フォールトトレランス

Page 35: 小樽情報技術勉強会#10

システムの障害 障害の分類と対応策(例)

ハードウェアの故障

設計ミス(プログラムバグも含む)

高負荷~過負荷

人為的なもの

35

フォールトアボイダンス

フォールトアボイダンス

フォールトアボイダンス

フォールトアボイダンスフェールプルーフ

フェールセーフ

フェールセーフ

フェールソフト

Page 36: 小樽情報技術勉強会#10

フェールセーフの例 メイン・システムはサービスを提供 サブ・システムは障害発生時の応答専用

36

メイン・システム

サブ・システム

正常稼働ゲートウェイ

ただいま、大変混み合っております。しばらくお待ち

ください実質的な稼働率は低下する

Page 37: 小樽情報技術勉強会#10

フェールソフトの例 メイン・サブの両システムでサービスを提供

37

メイン・システム

サブ・システム

正常稼働ゲートウェイ 正常稼働

常時起動…ホットスタンバイ障害時に起動…コールドスタンバイ

Page 38: 小樽情報技術勉強会#10

フェールオーバーの例 フェールソフトの仕組みのひとつ 1つしか存在しない資源を排他共有する

38

メイン・システム

サブ・システム

正常稼働ゲートウェイ

正常稼働

資源フェールオーバー

Page 39: 小樽情報技術勉強会#10

フェールバックの例 フェールオーバー後の動作

39

メイン・システム

サブ・システム 正常稼働

ゲートウェイ

正常稼働

資源

フェールバック

Page 40: 小樽情報技術勉強会#10

信頼性設計のまとめ 個々のコンポーネントの品質を高めるのが第一手

フォールトアボイダンス 運用スタッフもシステムの一部 ⇒ 人材教育

冗長化などを駆使して、障害に備える フォールトトレランス高コストを要する

ヒューマンエラーは必ず発生する フールプルーフ

40

Page 41: 小樽情報技術勉強会#10

運用について

41

はじめに 背景 目標設定 本編 まとめ

システムとは

基本的な考え方

運用について

Page 42: 小樽情報技術勉強会#10

システムの障害 障害の分類と対応策(例)

ハードウェアの故障

設計ミス(プログラムバグも含む)

高負荷~過負荷

人為的なもの

42

フォールトアボイダンス

フォールトアボイダンス

フォールトアボイダンス

フォールトアボイダンスフェールプルーフ

フェールセーフ

フェールセーフ

フェールソフト

Page 43: 小樽情報技術勉強会#10

過負荷による障害 システム障害の主たる要因は過負荷

運用開始以降の信頼性設計変更は困難

データが蓄積されるにつれて負荷も増す

43

Page 44: 小樽情報技術勉強会#10

性能指標 ターンアラウンドタイム

レスポンスタイム

44

データ入力I

処理P

結果出力O

時間

レスポンスタイム

ターンアラウンドタイム

スループット||

単位時間あたりの処理量

Page 45: 小樽情報技術勉強会#10

スループットと処理量

45

体積:一定時間内の処理量

面積:スループット

高さ:時間

Page 46: 小樽情報技術勉強会#10

スループットとボトルネック

46

面積:スループット

ボトルネックがあると、スループットは激減する

Page 47: 小樽情報技術勉強会#10

待ち行列 (M/M/1)

47

http://tomari.org/main/java/machi.html より引用

平均到着率 λ : 単位時間に到着する平均客数(ポアソン到着)平均サービス率 μ : (フル稼働時)単位時間にサービスを受ける平均客数

平均到着間隔 = 1/λ , 平均サービス時間= 1/μ, 窓口利用率 ρ = λ/μ「 ρ ≧ しきい値」の場合、 利用率が許容量を超えている⇒ 障害発生「 ρ < しきい値」の場合、 悪い状況が重ならない限り、サービス可能

Page 48: 小樽情報技術勉強会#10

待ち行列(M/M/1)

0 2 4 6 8 10 12 14 16 18 20 22 24 260

2

4

6

8

10

系にいる客数の時系列グラフ

時間

人数

48

Page 49: 小樽情報技術勉強会#10

待ち行列(M/M/1) 客はいつ来るか不明

ずっと来ないかも知れないし、毎回来るかも知れない

次に来る確率は「常に平均到着率 λ 」 ポアソン分布(ポアソン到着)

サービス提供時間は客によって変化する極端にサービス提供時間のかかる客の存在 = ボトルネック

49

Page 50: 小樽情報技術勉強会#10

待ち行列(M/M/1) ρ = λ/ μ = 平均到着率 ÷ 平均サービス率

= 平均サービス時間 ÷ 平均到着間隔 = 混み具合

ある混み具合 ρ における待ち時間は ρ/1- ρ

ρ がしきい値を超えると次の客の到着にシステムが耐えきれなくなる

50

しきい値

Page 51: 小樽情報技術勉強会#10

待ち行列 (M/M/1)

51

http://tomari.org/main/java/machi.html より引用

平均到着率 λ : 単位時間に到着する平均客数(ポアソン到着)平均サービス率 μ : (フル稼働時)単位時間にサービスを受ける平均客数

平均到着間隔 = 1/λ , 平均サービス時間= 1/μ, 窓口利用率 ρ = λ/μ「 ρ ≧ しきい値」の場合、 利用率が許容量を超えている⇒ 障害発生「 ρ < しきい値」の場合、 悪い状況が重ならない限り、サービス可能

スループットターンアラウンドタイム

混み具合

Page 52: 小樽情報技術勉強会#10

まとめ~今回の目標のおさらいシステムとは何かを考える

システム運用の基礎理論を知る

止まらないシステムの運用について考える

52

IPOの系

稼働率

待ち行列

はじめに 背景 目標設定 本編 まとめ

Page 53: 小樽情報技術勉強会#10

次回の小樽情報技術勉強会 日時

11月15日 (木 ) 18:30~ (毎月第3 or 4水曜日と覚えましょう)

場所 新倉屋 花園本店 2階多目的ホール (ここと同じです)

会費勉強会 500円(学生無料)懇親会 1,000円(未定) いつも通り

内容 システム基盤(ネットワーク編)について

53

講演者絶賛募集中!