Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Old type からの Old type からの クラウドインフラ クラウドインフラ Gunma.web #45 Gunma.web #45 @kanayannet @kanayannet
Slide 2
Slide 2 text
近況報告 ( 前座 ) 近況報告 ( 前座 ) 今更ですが... Ruby 技術者認定試験 Gold 合格
Slide 3
Slide 3 text
Gold 聖闘士になりました。 Gold 聖闘士になりました。
Slide 4
Slide 4 text
今のネタが伝わった方は世代がバレ ry.. 今のネタが伝わった方は世代がバレ ry..
Slide 5
Slide 5 text
前座はここまで 前座はここまで
Slide 6
Slide 6 text
今日の Agenda 今日の Agenda 前提 オンプレの冗長化・高可用性 クラウド・インフラだとどう便利? それぞれの特徴(AWS) 大事なこと まとめ
Slide 7
Slide 7 text
前提 前提
Slide 8
Slide 8 text
前提 前提 今回、VPS とクラウドの違いを厳密にはやらないです。 VPS も同じような?括りで話します。
Slide 9
Slide 9 text
前提 前提 AWS, GCP, Heroku など絶対主義者ではないです。 場合によってはオンプレでも良いと思う。 オンプレでも冗長化・耐障害性を考慮できる web サービスは回る(365 日) ダウンタイムをどれだけ少なくできるか? 頭の使い所は多い
Slide 10
Slide 10 text
前提 前提 規模が大きくなるほど、オンプレの方が単純な費用は安い? 人を育てる費用は別途考える必要がある 楽天, Hatena, Pixiv さんはオンプレクラウドと言っている 費用が安いなど、どうしてもフルクラウドできない
Slide 11
Slide 11 text
オンプレの オンプレの 冗長化・高可用性 冗長化・高可用性
Slide 12
Slide 12 text
知ってますか?この仕組みを 知ってますか?この仕組みを
Slide 13
Slide 13 text
DRBD Pacemaker VRRP LVS
Slide 14
Slide 14 text
複数のサーバ間のHDD をリアルタイムに レプリケーション 死活監視 -> 何かをキックする 仮想IP L4 の 負荷分散装置
Slide 15
Slide 15 text
オンプレだとこれらを意識して オンプレだとこれらを意識して 365 日24 時間動き続ける仕組みを作る訳ですね。 発電機や無停電装置(UPS) 力率計算( 突入電流) etc...
Slide 16
Slide 16 text
人によってですが ... 人によってですが ... 覚えたい 純粋なコンピュータサイエンスへの興味 大変だ( 汗) 機械・ハードウェアの部分
Slide 17
Slide 17 text
当然ですが ... 当然ですが ...
Slide 18
Slide 18 text
育てる側に立つと ... 育てる側に立つと ... 引き継ぎかつ受け継がせる事は困難
Slide 19
Slide 19 text
これらを熟る人は尊敬できます 一方で中々できる人( 特に継続できる人) が 中々いない現状もある
Slide 20
Slide 20 text
クラウド・インフラだと クラウド・インフラだと どう便利? どう便利?
Slide 21
Slide 21 text
オンプレ高可用性の専門知識 オンプレ高可用性の専門知識 「それほど」要らないです。
Slide 22
Slide 22 text
「それほど」? 「それほど」? 敢えてこう表現しています。 「意識しなくて良い」とは違うよ 例 ec2 1 台 立てれば何もしなくて良い そんな訳ないよね。
Slide 23
Slide 23 text
高可用性 高可用性 何か障害があっても、システムの停止時間をなるべく少なく することを指す。
Slide 24
Slide 24 text
どうすれば維持できる? どうすれば維持できる?
Slide 25
Slide 25 text
AWS での例 AWS での例 負荷分散 ELB 負荷分散する対象のサーバはprivate なネットワーク環境が欲 しい VPC
Slide 26
Slide 26 text
落ちた時に切り替わるように CloudWatch アラーム(ec2) ECS( コンテナ系) の自動復旧 負荷増えて足りなくなった Auto Scaling レプリケーションやダウンをほぼしない系の仕組 RDS, S3, etc...
Slide 27
Slide 27 text
あれ? あれ? 気づいた人いますか?
Slide 28
Slide 28 text
DRBD Pacemaker VRRP LVS
Slide 29
Slide 29 text
日本語化リプレイ 日本語化リプレイ 複数のサーバ間のHDD をリアルタイムに レプリケーション 死活監視 -> 何かをキックする 仮想IP L4 の負荷分散装置
Slide 30
Slide 30 text
多少にニュアンスや範囲や解釈の違い 多少にニュアンスや範囲や解釈の違い はあるが ... はあるが ...
Slide 31
Slide 31 text
意識の仕方が変わっただけ 意識の仕方が変わっただけ
Slide 32
Slide 32 text
ただし ... 重要 ただし ... 重要
Slide 33
Slide 33 text
ハード系 ハード系 OS(Linux 系) とハード機器の相性考えなくて良い middle ware の構築と↑ とのバランスを考えなくて良い ましてや発電機なんてもってのほか
Slide 34
Slide 34 text
冬場は加湿も必要なのよ 冬場は加湿も必要なのよ
Slide 35
Slide 35 text
静電気トラップ 静電気トラップ
Slide 36
Slide 36 text
本編に戻ります m(__)m 本編に戻ります m(__)m
Slide 37
Slide 37 text
それぞれの特徴 (AWS) それぞれの特徴 (AWS)
Slide 38
Slide 38 text
Lambda Lambda
Slide 39
Slide 39 text
Lambda Lambda イベントの種類が豊富 S3, API Gateway, CloudWatch ...etc 使う用途が「これだ!」と解りきっているものは定義しやす い 例: S3 に写真をアップしたら、縮小版サムネイルも自動作 成 キックされる回数が読めてるとやり易い 無料枠に入る? リクエスト回数 && メモリ の従量課金
Slide 40
Slide 40 text
逆に ... 逆に ... まだ要求される仕様がまとまりきってない時はやりずらいか な? 結果: キックされる回数、実行時間、メモリともに食いやす い とんでもない請求額 これだったら ec2 の daemon 起動の方が良かった..etc
Slide 41
Slide 41 text
EC2 EC2
Slide 42
Slide 42 text
EC2 EC2 自由度が高い OS と スペックを選んで中身は自分( 達) で組み上げる VPS 相当 -> 違いがあるとすれば、他の cloud service と連携 しやすい部分かな? 落ちた時のデータの保証的なものはvps は自己責任がほと んどですが... 実際はRAID 構成を組んでるなど「保証はないけど欠損は目 立たない」かな?
Slide 43
Slide 43 text
EC2 EC2 どんな時に使うと便利そう?
Slide 44
Slide 44 text
EC2 EC2 色々模索中の場合 色々模索中の場合 要求仕様すらよく解ってない時 とりあえず進めながら形にしながら... 解らない部分を解るようにしながら
Slide 45
Slide 45 text
不確実性のコーン 不確実性のコーン by itmedia: https://blogs.itmedia.co.jp/hideshibamoto/2013/01/post-7a0e.html
Slide 46
Slide 46 text
形にしないと 形にしないと エンジニア以外の人には伝わらないよね? あるある話 この前提で色んなcloud サービスを組み込んでしまうと... over spec だったり そのcloud サービスに「縛られたり」 考え方 設計思想 IF
Slide 47
Slide 47 text
ECS ECS 実行環境をDockerfile で表現できる ec2 ほどの自由度はないかも? だが、リリース前には「言葉で定義可能」なものになるは ず つまり Dockerfile に出来るよね? 何をもって「落ちた」とするか?が明確
Slide 48
Slide 48 text
以下の例 以下の例 Dockerfile ./entrypoint.sh # ..... ENTRYPOINT ["./entrypoint.sh"] # .... bundle exec rails s -e production
Slide 49
Slide 49 text
rails が落ちたらコンテナ落ちた rails が落ちたらコンテナ落ちた と見なすことが容易に可能 ECS は自動でコンテナを再立ち上げ出来る
Slide 50
Slide 50 text
大事なこと 大事なこと
Slide 51
Slide 51 text
cloud だからって ... cloud だからって ... 高可用性、耐障害性を意識しなくて良いわけじ 高可用性、耐障害性を意識しなくて良いわけじ ゃない ゃない
Slide 52
Slide 52 text
ところで ところで
Slide 53
Slide 53 text
これって何? これって何? 高可用性 耐障害性
Slide 54
Slide 54 text
今日初めて知った 今日初めて知った という方は、是非お持ち帰りいただければと...
Slide 55
Slide 55 text
なぜか? なぜか? 覚えるってなに? 覚えるってなに?
Slide 56
Slide 56 text
知識として知っているだけ 「既に試して」身につけている状態
Slide 57
Slide 57 text
全然違う 全然違う
Slide 58
Slide 58 text
自分で調べて 自分で実行して 自分で検証して Try and Error 繰り返して...
Slide 59
Slide 59 text
まとめ まとめ Cloud インフラは確かに効果はある ハード面、設備面は気にしなくて良い 全く冗長化、高可用性、耐障害性を気にしなくて良いわけじ ゃない 適切な構成( アーキテクチャ) は必要 初めからがっつりと cloud アーキテクト組みすぎると... 後が大変( な場合もある) 不確実なものとの向き合い方 -> 重要
Slide 60
Slide 60 text
何が適切か?進めながら「最適解」を探す旅 Try and Error 反復練習し手応えを掴む感覚に近いかも?
Slide 61
Slide 61 text
あくまで自分の経験談ですが あくまで自分の経験談ですが
Slide 62
Slide 62 text
画像は著作権の都合上 画像は著作権の都合上 資料公開時には ...ry 資料公開時には ...ry
Slide 63
Slide 63 text
ご清聴 ご清聴 ありがとうございました! ありがとうございました!