Upload
nobuyuki-matsui
View
434
Download
2
Embed Size (px)
DESCRIPTION
Twitter - (AWS Kinesis | Apache Kafka) - Apache Storm のサンプル実装についてのスライド
Citation preview
LT②AWS Kinesis & Apache
Stormを題材にしたクラウド可搬性
TIS STC 松井 暢之
AWS Night in ITHD 2014.09.05
タイトル堅すぎた
orz...
松井 暢之(まつい のぶゆき)@n_matsui
nbyk.matsui
nmatsui
TIS 株式会社 コーポレート本部 戦略技術センター
~ 2003
2003 ~ 2008
2009
2010 ~ 2012
現場 PJ でアーキテクト兼モデラー兼プログラマ兼…を歴任
基盤技術センター(現 戦略技術センター)にて不芳 PJ の火消しに奔走
全社生産性向上の企画策定に従事
オープンでエッジな技術を活用した事業企画に従事
の企画開発を開始2013 ~http://cloudconductor.org
某お客様の言葉
Amazon Redshift を使ってみたいけれども
某お客様の言葉
AWS から別環境へ乗り換えられなくなると困るので
某お客様の言葉
導入に躊躇してるんだよ。
?
某お客様の言葉
結局今は、最も安かった某クラウドを使っているけれど
某お客様の言葉
より良いクラウドが出てくればまた乗り換えるだろうね。
この場で言うのもアレです
が
クラウド乗り換えのニーズ
•お客様は本来、必要なサービスが予算内で利用できるならば、クラウドベンダは問わないはず
マネージドサービスの活用
•一方各種マネージドサービスは、適切に使えば運用負荷やコストを激減できるため可能であれば活用すべき
•これらの相反するニーズを解決するのが、 SIer の腕のみせどころ
•SIer であるからには、適切にマネージドサービスを活用し、必要となれば簡単にクラウドを乗り換えられる柔軟なアーキテクチャを考案すべき
システムサービスインテグレータ•これからの SIer は、クラウドサービスに精通し、クラウド可搬性を担保できるシステム構築能力が必須となるだろう
ということで
タイトルを回収したの
で
本題
こんなの作った
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
TweetStreamWordCounter
• Twitter から取得した Tweet を形態素解析し、語句の出現頻度をリアルタイムにカウントし続ける• Tweet をリアルタイムに分散処理するエ
ンジン(複合イベント処理エンジン)として、 Apache Strom を利用
TweetStreamWordCounter
• 入力データがバーストし、複合イベント処理エンジンの処理能力を一時的に超えても耐えられるように、スケーラブルで Pull型のストリーミングエンジンを置く• Amazon Kinesis や Apache Kafka を利用
デモ
地味でした
ソースコード( github)
• 環境構築( Vagrantfile )• nmatsui/twitter-kinesis-kafka-storm_vagrant
• Tweet 収集と転送( Producer )• nmatsui/twitter-kinesis-kafka-storm_producer
• リアルタイム処理( Storm )• nmatsui/twitter-kinesis-kafka-
storm_wordcounter
実は環境構築に苦労したという• Kinesis はすごい簡単• しかし Kafka+Strom の環境設定で苦労• kafka server のエンドポイントは IP アド
レスで指定すると動かないとか• ビルドにもひたすら苦労
• awslabs/kinesis-storm-spout がバグってるわ pom.xml も無いわ、 apache storm が依存する jar が Maven Centralに無いわ
CloudConductor
• システムのインフラ設計や運用手順等をパターン化し、様々なクラウドで自動構築を可能にすることで、インフラ運用の標準化・省力化を図りクラウド可搬性を向上させるクラウドオーケストレーションツール
を目指して鋭意開発中
CloudConductor
• 公式サイト• http://cloudconductor.org/
• ソースコード( github )• cloudconductor/cloud_conductor
• 最新は develop ブランチ
以上