Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Big DataとContainerとStream - AWSでのクラスタ構成とストリーム処理 -

JAWS DAYS 2016 で発表した資料となります

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

Big DataとContainerとStream - AWSでのクラスタ構成とストリーム処理 -

  1. 1. 1 Big DataとContainerとStream - AWSでのクラスタ構成とストリーム処理 - JAWS DAYS 2016, Mar 12 Ryosuke Iwanaga Solutions Architect, Amazon Web Services Japan
  2. 2. 2 Agenda • Stream processing • What is Amazon Kinesis? • Amazon Kinesis Architecture with Containers
  3. 3. 3 Key takeaways • ストリーム処理の基礎 • Amazon Kinesisの概要 • Amazon Kinesisと他サービスの組み合わせ方
  4. 4. 4 Stream processing
  5. 5. 5 Stream • Sequence of events/records/data • Features – High throughput/volume – Continuous ingestion • Use cases – Log/event collection – IoT (sensor data, image, etc.) Ex. 1 KB * 10K record/s * 365 days = 300 TB / year Stream => Big Data
  6. 6. 6 Stream processing • Event processing – Process each event one by one • Graph for distributed event processing – Ex. Apache Storm • Micro-batch processing – Process a small amount of events in a batch • Just like a sequence of batch processing – Ex. Spark Streaming
  7. 7. 7 Example: Sliding window • Sliding window – Treat events as a window • Ex. 30 seconds window – Slide the window • Ex. Every 20 seconds • Use cases – Count last 1 min, every 10 sec, alert abnormality http://spark.apache.org/docs/latest/streaming-programming-guide.html • Window length: 3 • The duration of the window • Sliding interval: 2 • The interval at which the window operation is performed
  8. 8. 8 Key factors for Stream processing • Isolate ingestion from processing • Durable storage • Elastic compute resource • Reasonable cost Amazon Kinesis Container
  9. 9. 9 What is Amazon Kinesis?
  10. 10. Amazon Kinesis Streams カスタムアプリを自身 で構築して ストリーミングデータ を処理・分析する Amazon Kinesis Firehose 簡単に大規模の ストリーミングデータ をAmazon S3と Redshiftにロードする Amazon Kinesis Analytics SQLクエリを使って 簡単にストリーミング データを分析する Amazon Kinesis: ストリーミングデータを簡単に扱う ストリームを捕まえ、転送し、処理することを簡単にするAWSサービス 2013/12 2015/10 2015/10 Pre-announce
  11. 11. Amazon Kinesis Streams 自身でストリーミングアプリケーションを構築できる 簡単な管理: 新しいストリームを作り、あなたのデータスループットと規模に 合った必要なキャパシティとパーティションを設定するだけ リアルタイムアプリを構築: Kinesis Client Libray, Apache Spark/Storm, AWS Lambda等々を使って、ストリーミングデータ上のレコードをカスタム処理 する 低コスト: どんな規模のワークロードでもコスト効率が良い クリックストリームデータ をKinesis Streamsに送信 Kinesis Streamsがクリッ クストリームデータを保存し、 処理のために提供 Kinesis Client Libraryベースの カスタムアプリケーションによって、 リアルタイムのコンテンツレコメンド作成 読者はパーソナライズされた コンテンツの推薦を受けられる
  12. 12. 12 Amazon Kinesis Streams: Architecture • 1 Shardのキャパシティ – Put: 1K rec/s, 1 MB/s – Get: 5 TPS, 2 MB/s – スケールイン/アウトが可能 • いつでも、どの場所からで もAPIで読み出し可能 – 1つのStreamに対して複数 の処理を行える k1 v1 k1 v2 k2 v1 k3 v1 AZ AZ AZ StreamAWSAPIEndpoint Shard 1 Shard 2 Shard N k1 v1 k1 v2 k2 v1 k3 v1 AWSAPIEndpoint 保持期間は24時間〜7日間で設定可能 k1 v1 k1 v2 k2 v1 k3 v1 Partition Keyを指定 DataはMax 1MB
  13. 13. 13 データ入力 & ストリーム処理 HTTP Post AWS SDK LOG4J Flume Fluentd Get* APIs Kinesis Client Library + Connector Library Apache Storm Amazon Elastic MapReduce データ入力 データ処理 AWS Mobile SDK Apache Spark Streaming
  14. 14. Amazon Kinesis Firehose 大量のストリームデータをAmazon S3とAmazon Redshiftへ 管理不要: ストリームデータを捉えS3とRedshift、そして他の到達点へ一切アプリ ケーションを書くことなく、インフラも管理することなく転送できる データストアへの直接の連携: 簡単な設定だけで、ストリームデータをバッチ処 理し、圧縮し、そして暗号化してデータの到達点へ最短60秒で転送できる 継ぎ目のない弾力性: データのスループットに応じて、何の影響もなく自然 にスケールできる ストリームデータを捉え Firehoseに送信する Firehoseはストリームデータを 継続的にS3とRedshiftに転送する ストリームデータを 好きなBIツールで分析する
  15. 15. 15 Amazon Kinesis Firehose: Demo ~ 60 sec AWS JavaScript SDK Amazon Cognito AWS IAM Amazon Kinesis Firehose Amazon S3 Amazon Redshift AWS Lambda
  16. 16. 16 Fluent plugin for Amazon Kinesis • v1.0.0開発中(今RC) • 3つのoutputサポート – Kinesis Streams用 • kinesis_streams • kinesis_producer – Kinesis Firehose用 • kinesis_firehose • GitHub/rubygemsで提供 – Maintainerは@riywo • リリースに向けて、絶賛 フィードバック募集中! – Issue下さい! https://github.com/awslabs/aws-fluent-plugin-kinesis
  17. 17. Amazon Kinesis Analytics データストリームを標準的なSQLで継続的に分析する ストリームにSQLを適応: 簡単にデータストリームを接続でき、既存の SQLのスキルを適応できる リアルタイムアプリケーションを構築: ストリームのビッグデータに対 して、1秒以下のレイテンシの継続的な処理を実行 弾力的にスケール: データのスループットに合わせて、何の影響もなく 弾力的にスケールする アナウンスのみ! Kinesisのストリームや Firehoseのデリバリストリームを 接続する データストリームに対して 標準的なSQLを実行する Kinesis Analyticsは処理したデータを分析 ツールに送信できるので、アラートを作成して リアルタイムに反応することができる
  18. 18. 18 Amazon Kinesis Architecture w/Containers
  19. 19. 19 What is "Container"? • OS-level isolation • Portability • Major container engine on AWS – Docker Engine – JVM – AWS Lambda (Node.js/Java/Python)
  20. 20. 20 Why is "Container" important for Big Data? • Scalability – Easy to scale in/out • Cost efficiency – High utilization by multi-tenancy • Speed of innovation – Fine-grained architecture / Good abstraction
  21. 21. 21 Stream processing with Docker container • Kinesis Client Library – Shard treatment – Failure management – Multi language • Runs on Amazon ECS – Resource Management – Keep task running Amazon ECS Amazon Kinesis Streams
  22. 22. 22 Stream processing with JVM container • Spark Streaming – Micro-batch – w/Spark SQL, ML • Runs on Amazon EMR – YARN – Dynamic Allocation DStream RDD@T1 RDD@T2 Amazon Kinesis Streams Amazon EMR
  23. 23. 23 Stream processing with AWS Lambda • Lambda function – Bring your own code – Invoke per shard • Runs on AWS Lambda – Server-less Architecture – Scale as you want Amazon Kinesis Streams AWS Lambda
  24. 24. 24 More Server-less Stream Architecture • Amazon Kinesis Firehose – Deliver stream to storage • Amazon Kinesis Analytics – Run SQL on stream data • Without any server Amazon Kinesis Analytics Amazon Kinesis Firehose
  25. 25. 25 Summary • Amazon Kinesisで安心できるストリーム処理を – Amazon Kinesis Streamsと、Amazon ECS, Amazon EMR, AWS Lambda等のコンテナ技術で、自由なストリーム処理 – Amazon Kinesis Firehose, Amazon Kinesis Analyticsで、よくあ るユースケースをサーバレスに実現 • 使い分けは場合によりけり – 迷ったら、ぜひAWS JapanのSAまでご相談を! – → 今日もMeet the SAと称して、終日ブース待機してます!
  26. 26. 26

    Be the first to comment

    Login to see the comments

  • akuwano

    Mar. 14, 2016
  • ssuser459a6d

    Mar. 14, 2016
  • ttyno

    Mar. 14, 2016
  • BlueSkyDetector

    Mar. 15, 2016
  • TabuchiNobuyuki

    Mar. 15, 2016
  • sakurait

    Aug. 31, 2017
  • ShuheiEgami

    Dec. 8, 2017
  • ukitiyan

    Jan. 6, 2018

JAWS DAYS 2016 で発表した資料となります

Views

Total views

5,004

On Slideshare

0

From embeds

0

Number of embeds

1,177

Actions

Downloads

36

Shares

0

Comments

0

Likes

8

×