e-ZUKA Tech Night vol.37 なめらかなシステムをつくる 〜AIはエンジニアの敵か味方か?〜

19:00 - 20:00 なめらかなシステムをつくる 〜AIはエンジニアの敵か味方か?〜 Consulの活用方法再考 - Consulはなめらかか?/近藤 宇智朗 (こんどう うちお)さん GMOペパボ株式会社 技術基盤チーム プリンシパルエンジニア なめらかなシステム - 生命の観点からWebシステムを解釈する/松本 亮介(まつもと りょうすけ)さん 続きを読む
0
Matsuzaki @matsumana

明日はこれに参加。楽しみ / e-ZUKA Tech Night vol.37 なめらかなシステムをつくる 〜AIはエンジニアの敵か味方か?〜 (05月18日) #ezuka_tech_night ezukatechnight.doorkeeper.jp/events/44585

2016-05-17 22:38:53
SS @sahocha

#ezuka_tech_night いつもの会場のルーディズさんが可愛くリニューアル!お待ちしてます! pic.twitter.com/vDahpCYR67

2016-05-18 18:14:17
拡大
SS @sahocha

#ezuka_tech_night 青空テックナイト、会長が一人でLTしてます。 pic.twitter.com/e9jGsZO5pb

2016-05-18 18:20:29
拡大
eZukaTechNight @eZukaTechNight

e-ZUKA Tech Night vol.37 なめらかなシステムをつくる 〜AIはエンジニアの敵か味方か? 始まりまーす! #ezuka_tech_night ezukatechnight.doorkeeper.jp/events/44585

2016-05-18 19:01:43
eZukaTechNight @eZukaTechNight

最初のセッションはGMOペパボ株式会社の近藤さんによる「Consulの活用方法再考 - Consulはなめらかか?」 #ezuka_tech_night

2016-05-18 19:03:27
eZukaTechNight @eZukaTechNight

運用の自動化。サーバ管理を引き継いで、いろいろいじってるとそれぞれ秘伝のタレができてくる。手順書作る。 手順=手続き=プログラミング可能。 #ezuka_tech_night

2016-05-18 19:07:45
eZukaTechNight @eZukaTechNight

Consul = オーケストレーションツール。Inftastructure as Codeという考え方。インフラのお仕事をオーケストレーション、コンフィギュレーション、ブートストラッピング。 #ezuka_tech_night

2016-05-18 19:11:15
eZukaTechNight @eZukaTechNight

AWSのCloudFormationや、CloudFormationを汎用化したTerraformなどのIaaS上でサーバ/ネットワーク/ストレージといったリソースを制御するためのサービスと #ezuka_tech_night

2016-05-18 19:13:31
eZukaTechNight @eZukaTechNight

Consul、etcd、zookeeperのようなConfiguration Registryに分類される。#ezuka_tech_night

2016-05-18 19:13:56
eZukaTechNight @eZukaTechNight

Raft Concensus Algorithm = 分散合意アルゴリズム。 #ezuka_tech_night

2016-05-18 19:17:08
eZukaTechNight @eZukaTechNight

合意とは何か?複数のサーバ間である一つの値に対して合意する。 Raftで重要なのはいくつかのサーバが壊れても合意できる。ステートマシンの複製をサーバ間で行っている。 #ezuka_tech_night

2016-05-18 19:19:07
eZukaTechNight @eZukaTechNight

Consulは、合意アルゴリズムを用いて複数台のサーバ間で状態を共有。 consul execの中身=コマンドの中身をKVSで共有し、受け取ったノードはそれを実行、終わったら消す。 #ezuka_tech_night

2016-05-18 19:21:21
eZukaTechNight @eZukaTechNight

クラスタ全体の変化を監視する。ノードの追加・削除、ノードで動くサービスの状態、ノード上のサービスのヘルスチェック結果、ノードで共有しているKVSのデータ等。 #ezuka_tech_night

2016-05-18 19:22:32
eZukaTechNight @eZukaTechNight

動的なロードバランサーもConsul使うと少量のコードで実現できる。 #ezuka_tech_night

2016-05-18 19:24:37
eZukaTechNight @eZukaTechNight

事例その一、stretcher。pull型デプロイミドルウェアのパイオニア。 今まではcapistrano使っても基本的にpush型。デプロイのイベントを発火するとS3からマニュフェストを取得、tarballを取得し、展開&後処理をしてくれる。 #ezuka_tech_night

2016-05-18 19:26:27
SS @sahocha

#ezuka_tech_night こんどうさん、あと3分ですよ

2016-05-18 19:27:57
eZukaTechNight @eZukaTechNight

今までのpush型のデプロイは、サーバが100台とかなると、1つのクライアントから100本のSSHコネクションができるので破綻する。pull型だと各サーバが非同期でそれぞれデプロイする。 #ezuka_tech_night

2016-05-18 19:27:58
eZukaTechNight @eZukaTechNight

具体例その2=TLS session ticket。TLSのセッション鍵を保存し再利用する仕組みがあるが、サーバが複数あると暗号化のためのマスタ鍵を全サーバで共有する必要がある。ただその1つのマスタ鍵が漏洩すると過去のデータ漏洩になるかも。 #ezuka_tech_night

2016-05-18 19:29:17
eZukaTechNight @eZukaTechNight

そのため定期的なマスタ鍵の定期更新が必要。イベントをタイマーに仕掛けて全サーバのセッションチケットを更新する。 #ezuka_tech_night

2016-05-18 19:30:35
eZukaTechNight @eZukaTechNight

事例その3=collector。2台のサーバの前にVIPを振る。DNSラウンドロビンとの相性が悪い。じゃあ動的にDNSを更新してみようということで導入したのがcollector。 #ezuka_tech_night

2016-05-18 19:32:36
ワタル之助 @ushinosuK

タイムラインのおかげでノートとらなくて済むよね #ezuka_tech_night

2016-05-18 19:35:25
1 ・・ 5 次へ