41
P R E S E N T A T I O N : フロントエンドエンジニア 堀祐磨 (ホリデー) インフラざっくり会

インフラざっくり会

Embed Size (px)

Citation preview

Page 1: インフラざっくり会

P R E S E N T A T I O N :

フロントエンドエンジニア 堀祐磨 (ホリデー)

インフラざっくり会

Page 2: インフラざっくり会

インフラざっくり会

本日の内容

インフラエンジニアとは何をする人か

インフラが扱う5つの領域

インフラが鍵を握る問題領域

最近のインフラ事情:不変的インフラとは

インフラっぽいことで遊んでみよう

Page 3: インフラざっくり会

インフラざっくり会

インフラエンジニアとは何をする人か

Page 4: インフラざっくり会

インフラざっくり会

「インフラ」が指す領域は「フロントエンド」

と同じくらいに広いかも!?

Page 5: インフラざっくり会

インフラざっくり会

インフラエンジニアとは、アプリケーションが動作する

環境の面倒を見る人

Page 6: インフラざっくり会

インフラざっくり会

環境とは、アプリケーションの動作に必要な全てのモノ

Page 7: インフラざっくり会

インフラざっくり会

場所が必要 コンピューターが必要 インターネットが必要

OSが必要 ソフトウェアが必要

Page 8: インフラざっくり会

インフラざっくり会

インフラエンジニアとは何をする人か:

インフラエンジニアとは

ハードウェア ネットワーク OS ミドルウェア アプリケーション

計画 調達 設定 運用 更新 障害対応

について する人

Page 9: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域

Page 10: インフラざっくり会

インフラざっくり会

ハードウェア

ネットワーク

OS

ミドルウェア

アプリケーション

アプリケーションが動作するためには、これだけのレイヤーが必要!

Page 11: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ハードウェア

予算やアプリケーションの用途・目的に適った最適なハードウェアを選定・調達する

ネットワーク機器の選定・調達

サーバマシンのスペック選定・調達

回線スペックの選定・調達

マシンが壊れないように冷房を置く

マシンやパーツが壊れたら新しいのと交換する

Page 12: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ネットワーク

予算やアプリケーションの用途・目的に適った最適なネットワークを構築する

IPアドレス・ドメイン・DNSサーバ

各サーバマシンの役割分担と連携

外部ネットワークへのアクセスと隔離の設計

ルータ・ファイヤーウォール・ロードバランサ

Page 13: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ネットワークが 大規模になってくると…

負荷分散

サーバが落ちないように、たくさんマシンを用意して均等に処理が分散するように設計する

フェイルセーフ

ある系統のサーバが落ちても、別系統でサービスを継続できるように設計する

データの保全

何らかの障害でデータが消えても、バックアップデータが保全されているように設計する

Page 14: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

OS予算やアプリケーションの用途・目的に適った最適なOSを選定し、インストール・管理を行う

Windows Server

.NET Frameworkが使える

UNIX/BSD/Linux(混ぜるな危険)

無数の派生版があり、得意とすることが違う

少数派だけどOSX Serverもあるよ

Page 15: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ミドルウェア

ミドルウェアとは、あるメインのアプリケーションの動作に必要な、補助的な別のアプリケーションのこと

Page 16: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ミドルウェア

データベース

MySQL/SQLite/Oracle/MongoDB/Redis

Webサーバ

Apache/Nginx

Page 17: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ミドルウェアアプリケーションの実行環境やフレームワーク

Ruby (Rails等)

JAVA (Play等)

PHP (Cake/Ralabel等)

NodeJS (Meteor等)

.NET Framework

Page 18: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

ミドルウェア

その他、必要があれば何でも

ffmpeg (動画変換)

ftpd (ファイルサーバ)

imagemagick/graphicmagic (画像変換)

Page 19: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

アプリケーション全てはこれを動かしたいが為!

既存のパッケージソフト

CMS: Wordpress/MovableType/Drupal等

ITS/BTS: Redmine/Trac

OwnCloud

自前で開発したもの

Poole等

Page 20: インフラざっくり会

インフラざっくり会

インフラが扱う5つの領域:

アプリケーション

ミドルウェアに接続したり、構成したネットワーク環境の中で正しく動作するようにするには、設定を正しく行う必要がある

Wordpressの様なアプリケーションであれば、それ以外にもユーザーの作成と権限設定も必要

Page 21: インフラざっくり会

インフラざっくり会

インフラが鍵を握っていること

Page 22: インフラざっくり会

インフラざっくり会

インフラが鍵を握っていること:

セキュリティ

様々な制限をかけて不正アクセスを防止

OSやミドルウェアを定期的にアップデートする(めんどくさいけど絶対必要)

万一不正アクセスがあっても、被害が及ぶ領域が限定的になるように設計する

Page 23: インフラざっくり会

インフラざっくり会

インフラが鍵を握っていること:

システムの安定化・高速化安定した環境を作る

落ちにくい・落ちても代わりがある・落ちたら自動的に復旧する…

高速な環境を作る

最適なマシンスペック・負荷分散・キャッシュサーバの導入

負荷や帯域でボトルネックとなっている部分の特定と改善

Page 24: インフラざっくり会

インフラざっくり会

インフラが鍵を握っていること:

アプリケーションのメンテナンスとスケイラビリティ

アプリケーションの更新が円滑にできる環境づくり

アプリケーションの規模が拡大した時に、対応できるような設計にする(逆もしかり)

Page 25: インフラざっくり会

インフラざっくり会

インフラが鍵を握っていること:

障害対応力

迅速な問題の切り分け・特定

サービス再開までの手順

原因の分析と再発防止

Page 26: インフラざっくり会

インフラざっくり会

インフラが鍵を握っていること:

インフラが鍵を握っていること

セキュリティ

システムの安定化・高速化

アプリケーションのメンテナンスとスケイラビリティ

障害対応

どれも大事なことばっかり!

Page 27: インフラざっくり会

インフラざっくり会

最近のインフラ事情

Page 28: インフラざっくり会

インフラざっくり会

最近のインフラ事情:

よくあるバッドプラクティス

開発環境で動いたものが、本番環境で動かない

前任者がインフラの手順書を残しておらず、誰も再現できない

手順書通りなのに同じように動かない

あるあるあるwww

Page 29: インフラざっくり会

インフラざっくり会

最近のインフラ事情:

仮想化ツールの一般化

VirtualBoxとかVMWareとか

マシンやネットワークを仮想的にいくつも立ち上げられるようになった

Page 30: インフラざっくり会

インフラざっくり会

最近のインフラ事情:

構成の自動化ツールの登場

chefやVagrantの登場

serverSpecによるサーバ環境のテスト

従来手動でやっていた手順を自動化

自動なので、何回やっても同じ結果になる

再現性が高い! 便利!!

Page 31: インフラざっくり会

インフラざっくり会

最近のインフラ事情:

Iaas/Paasの一般化(特にAWS)実際にサーバを買ったり、ルータを買ったり、回線を調達しなくても、業者が全部用意してくれている

豊富な選択肢から、インストール済のOSやミドルェアを1クリックで立ち上げられるように

管理アプリケーション上で、自由にサーバやネットワーク機器をデザインできる

Page 32: インフラざっくり会

インフラざっくり会

最近のインフラ事情:

Iaas/Paasの一般化(特にAWS)デザインしたネットワーク設定を、JSON等の形式で保存できる

サーバが足りなくなったら即座に増強できる

状況が変わったら、ネットワーク構成自体を自由に再構成することができる

使った分だけの重量課金モデル

Page 33: インフラざっくり会

インフラざっくり会

最近のインフラ事情:

これらによって何が起こったか

インフラ構築が超楽に

インフラ構成がソフトウェア上で完結するようになった

全てのインフラ構成が設定ファイル化し、再現性100%に不変的インフラ(Immutable Infrastructure)の誕生

Page 34: インフラざっくり会

インフラざっくり会

なぜDockerが注目されているのか

Page 35: インフラざっくり会

インフラざっくり会

なぜDockerが注目されているのか:

なぜDockerが注目されて いるのか環境構築の自動化ツールとしてのメリット以外に…

技術的に動作が軽くて立ち上げが早い

1つのLinuxOS上に、複数の隔離されたLinux環境を立ち上げられるが、技術的には仮想マシンではない

大規模なサービス構築に使える技術を目指している

Page 36: インフラざっくり会

インフラざっくり会

インフラっぽいことで遊んでみよう!

Page 37: インフラざっくり会
Page 38: インフラざっくり会

インフラざっくり会

インフラっぽいことで遊んでみよう!:

Bitnamiで遊ぶ

OSXに直接、ミドルウェアとサーバアプリケーションを簡単にインストールできるインストーラーを提供している

無料

https://bitnami.com/stacks

Page 39: インフラざっくり会
Page 40: インフラざっくり会

インフラざっくり会

インフラっぽいことで遊んでみよう!:

Draw AWS Diagramsで遊ぶ

AWSのネットワーク構成を視覚的にデザインできるツール

無料デモ

http://creately.com/draw-amazon-architecture-diagrams

Page 41: インフラざっくり会

To be continued…

http://media-massage.net/株式会社LIG フロントエンドエンジニア 堀 祐磨 (ほりでー)