27
LTAWS Kinesis & Apache Storm ををををををををををををを TIS STC 松松 松松 AWS Night in ITHD 2014.09.05

20140905 AWS Night in ITHD LT2

Embed Size (px)

DESCRIPTION

Twitter - (AWS Kinesis | Apache Kafka) - Apache Storm のサンプル実装についてのスライド

Citation preview

Page 1: 20140905 AWS Night in ITHD LT2

LT②AWS Kinesis & Apache

Stormを題材にしたクラウド可搬性

TIS STC 松井 暢之

AWS Night in ITHD 2014.09.05

Page 2: 20140905 AWS Night in ITHD LT2

タイトル堅すぎた

orz...

Page 3: 20140905 AWS Night in ITHD LT2

松井 暢之(まつい のぶゆき)@n_matsui

nbyk.matsui

nmatsui

TIS 株式会社 コーポレート本部 戦略技術センター

~ 2003

2003 ~ 2008

2009

2010 ~ 2012

現場 PJ でアーキテクト兼モデラー兼プログラマ兼…を歴任

基盤技術センター(現 戦略技術センター)にて不芳 PJ の火消しに奔走

全社生産性向上の企画策定に従事

オープンでエッジな技術を活用した事業企画に従事

の企画開発を開始2013 ~http://cloudconductor.org

Page 4: 20140905 AWS Night in ITHD LT2

某お客様の言葉

Amazon Redshift を使ってみたいけれども

Page 5: 20140905 AWS Night in ITHD LT2

某お客様の言葉

AWS から別環境へ乗り換えられなくなると困るので

Page 6: 20140905 AWS Night in ITHD LT2

某お客様の言葉

導入に躊躇してるんだよ。

Page 7: 20140905 AWS Night in ITHD LT2

某お客様の言葉

結局今は、最も安かった某クラウドを使っているけれど

Page 8: 20140905 AWS Night in ITHD LT2

某お客様の言葉

より良いクラウドが出てくればまた乗り換えるだろうね。

Page 9: 20140905 AWS Night in ITHD LT2

この場で言うのもアレです

Page 10: 20140905 AWS Night in ITHD LT2

クラウド乗り換えのニーズ

•お客様は本来、必要なサービスが予算内で利用できるならば、クラウドベンダは問わないはず

Page 11: 20140905 AWS Night in ITHD LT2

マネージドサービスの活用

•一方各種マネージドサービスは、適切に使えば運用負荷やコストを激減できるため可能であれば活用すべき

Page 12: 20140905 AWS Night in ITHD LT2

•これらの相反するニーズを解決するのが、 SIer の腕のみせどころ

Page 13: 20140905 AWS Night in ITHD LT2

•SIer であるからには、適切にマネージドサービスを活用し、必要となれば簡単にクラウドを乗り換えられる柔軟なアーキテクチャを考案すべき

Page 14: 20140905 AWS Night in ITHD LT2

システムサービスインテグレータ•これからの SIer は、クラウドサービスに精通し、クラウド可搬性を担保できるシステム構築能力が必須となるだろう

Page 15: 20140905 AWS Night in ITHD LT2

ということで

タイトルを回収したの

Page 16: 20140905 AWS Night in ITHD LT2

本題

Page 17: 20140905 AWS Night in ITHD LT2

こんなの作った

Page 18: 20140905 AWS Night in ITHD LT2

TweetStreamWordCounter

Kafka と Kinesis は任意に選択可能

Bolt 1 : Kafka と Kinesis の差異吸収Bolt 2 : 形態素解析とフィルタリングBolt 3 : 語句出現頻度カウント

Producer

Amazon Kinesis

Apache Kafka

Redis

Kinesis Spout

Kafka Spout

Bolt 1 Bolt 2 Bolt 3

ApacheStorm

Twitter

Page 19: 20140905 AWS Night in ITHD LT2

TweetStreamWordCounter

• Twitter から取得した Tweet を形態素解析し、語句の出現頻度をリアルタイムにカウントし続ける• Tweet をリアルタイムに分散処理するエ

ンジン(複合イベント処理エンジン)として、 Apache Strom を利用

Page 20: 20140905 AWS Night in ITHD LT2

TweetStreamWordCounter

• 入力データがバーストし、複合イベント処理エンジンの処理能力を一時的に超えても耐えられるように、スケーラブルで Pull型のストリーミングエンジンを置く• Amazon Kinesis や Apache Kafka を利用

Page 21: 20140905 AWS Night in ITHD LT2

デモ

Page 22: 20140905 AWS Night in ITHD LT2

地味でした

Page 23: 20140905 AWS Night in ITHD LT2

ソースコード( github)

• 環境構築( Vagrantfile )• nmatsui/twitter-kinesis-kafka-storm_vagrant

• Tweet 収集と転送( Producer )• nmatsui/twitter-kinesis-kafka-storm_producer

• リアルタイム処理( Storm )• nmatsui/twitter-kinesis-kafka-

storm_wordcounter

Page 24: 20140905 AWS Night in ITHD LT2

実は環境構築に苦労したという• Kinesis はすごい簡単• しかし Kafka+Strom の環境設定で苦労• kafka server のエンドポイントは IP アド

レスで指定すると動かないとか• ビルドにもひたすら苦労

• awslabs/kinesis-storm-spout がバグってるわ pom.xml も無いわ、 apache storm が依存する jar が Maven Centralに無いわ

Page 25: 20140905 AWS Night in ITHD LT2

CloudConductor

• システムのインフラ設計や運用手順等をパターン化し、様々なクラウドで自動構築を可能にすることで、インフラ運用の標準化・省力化を図りクラウド可搬性を向上させるクラウドオーケストレーションツール

を目指して鋭意開発中

Page 26: 20140905 AWS Night in ITHD LT2

CloudConductor

• 公式サイト• http://cloudconductor.org/

• ソースコード( github )• cloudconductor/cloud_conductor

• 最新は develop ブランチ

Page 27: 20140905 AWS Night in ITHD LT2

以上