SlideShare a Scribd company logo
1 of 23
akka-streamのマイクロサー
ビスへの適用
ナイル株式会社 開発室
佐藤 卓哉
自己紹介
佐藤 卓哉 (Nyleの佐藤の髪のない方)
年齢:30歳 独身
経歴
Java、PHP、Scalaを使うサーバーサイドエンジニア
現在まで業務システムやコンシュマー向けのWebサービ
スを開発
アジェンダ
● akka-streamについて
● マイクロサービスへの適用について
akka-streamについて
Reactive StreamのAkka実装
(ノンブロッキングでback pressureが可能な非同期ストリーム
処理の標準仕様)
http://www.reactive-streams.org/
● 基本的な概念
● back pressure
Materializer
Materialize : 実現する
Streamを実行する環境を表す。
Source
データの元を表し、データを出力、発信を行う。
インプットは持たず、ひとつのアウトプットチャンネルを持つ。
Source
Sink
「流し」、「溜める」という意味
Streamのデータの流れ着く先、Sourceの反対側でデータの受
信側。アウトプットは持たず、ひとつのインプットチャンネル
をもっている。
Sink
「流れ」の意味
インプット、アウトプットのチャンネルをひとつずつ持ち
SourceとSinkの中継を行える。データの編集やチェックなど、
色々な使い方ができる。
Flow
Flow
Source + Flow = 新しいSource
Flow + Sink = 新しいSink
Source + Flow + Sink = RunnableGraph
Flow
Source Flow
SinkFlow
Source SinkFlow
RunnableGraph
Akka Streamの実行トポロジー
Streamの実行トポロジーを表す概念をGraph(図)と呼ぶ。
線形、非線形、分岐のあるデータ処理は全部Graphである。
端的に言うとどういう流れで処理をするか
Back Pressure
非同期でストリームの処理を行う時にPublisher(送信)側の方が
早く動いて、Subscriber(受信)側に処理の依頼を投げすぎると
Subscriber側が溢れてしまう。
逆にPublisher側がSubscriber側に遠慮して処理の依頼を投げる
抑制するとSubscriberに余裕があるのに、使えるリソースを余
らせてしまう。
Back Pressure
これらを解決する為に、Subscriberが自分が処理できる量を
Publisherに伝えることでSubscriber側を溢れさせることなく、
かつSubscriber側のリソースを無駄なく使える様にする仕組み
がback pressure
実装例:クローラー
Source
スクレーピングサービス
Flow
画像チェックサービス
Sink
画像移動サービス
構成
作った物
● スクレーピングして画像を落とし
● サイズをチェックして
● 一定サイズ以上の画像だけ移動
使った物
● akka-stream 2.4.8
● akka-actor 2.4.8
● scala-scraper 1.1.0
https://github.com/ruippeixotog/scala-scraper
Source スクレーピング
スライド用に抜粋
class ScrapeImpl {
val browser = JsoupBrowser()
var sequence = 1
implicit val ec: ExecutionContext = ExecutionContext.Implicits.global
def scrape(url: String) = Future {
val doc = browser.get(url) //urlのページのhtmlを取得
val images = doc >?> elementList("img") // imgタグを取得
images match {
case Some(l) => download(l)
case None => List.empty[File]
}
}
Source スクレーピング
def download(list: List[Element]) = {
for {
e <- list
if (e.attr("src").startsWith("http://"))
} yield {
save(e.attr("src"))
}
}
def save(url: String) = {
val data = Resource.fromURL(url).byteArray
val file = new File(s"/Users/takuya_st/testimage/$sequence")
sequence += 1
Resource.fromFile(file).write(data)
file
}
}
Flow 画像サイズチェック
import javax.imageio.ImageIO
import java.io.{File, IOException}
class ImageCheck {
def imageSizeCheck(file: File) = {
try {
val image = ImageIO.read(file)
image.getHeight() >= 100 && image.getWidth() >= 100 //100 x 100以上のサイズは転送
} catch {
case e: IOException => false
}
}
}
Sink 画像移動
import java.io.File
import scala.sys.process._
class FileMove {
def moveImage(file: File) = {
val path = file.getPath()
Process("mv " + path + " /Users/takuya_st/moveimage/" + file.getName).lineStream
}
}
スライド用に抜粋
class ScrapeStream {
implicit val system = ActorSystem("HogeSystem")
implicit val materializer = ActorMaterializer()
implicit val ec: ExecutionContext = ExecutionContext.Implicits.global
val targetUrls: List[String] = List (
"http://seiga.nicovideo.jp/tag/%E3%82%BB%E3%82%A4%E3%83%90%E3%83%BC",
"http://seiga.nicovideo.jp/search/%E3%82%A4%E3%83%AA%E3%83%A4?target=illust"
)
// 並列で実行 スクレーピングサービス
val source = Source(targetUrls).mapAsyncUnordered(2) {
url => new ScrapeImpl().scrape(url)
}
Stream
Stream
画像チェックサービス
val step = Flow[List[File]].mapAsyncUnordered(2) { files =>
Future (
for {
file <- files
if (new ImageCheck().imageSizeCheck(file))
} yield file)
}
val sink = Sink.foreachParallel[List[File]](2) { files =>
files.map(file => new FileMove().moveImage(file))
}
val graph = source via step to sink // source, flow, sink を連結して線形のGraphを作る
def run(): Unit = {
graph.run() //実行
}
}
画像移動サービス
Source
スクレーピングサービス
Flow
画像チェックサービス
Sink
画像移動サービス
一連の実装にするのではなく、それぞれ独立したサービスとすることができる
Graph
独立 独立 独立
まとめ
● akka-streamを使うことによって、ノンブロッキングで高速
な非同期処理を手軽に実装できる。
● 複数のマイクロサービス間の連携を手軽に実現できる。
● モノリシックなサービスをマイクロサービスに分割すること
が出来る。
● ドメインに沿った自然な流れで実装を行うことができる。
最後までご静聴
ありがとうございました。

More Related Content

What's hot

20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀Seiji Akatsuka
 
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)Yuuki Namikawa
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)Akio Katayama
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Terui Masashi
 
Spark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with ElasticsearchSpark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with Elasticsearchchibochibo
 
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきことサーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと暁 三宅
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?Sotaro Kimura
 
CloudFormation で SAP
CloudFormation で SAPCloudFormation で SAP
CloudFormation で SAPiret Inc.
 
MySQL→Aurora移行セミナー
MySQL→Aurora移行セミナーMySQL→Aurora移行セミナー
MySQL→Aurora移行セミナー真吾 吉田
 
Serverless frameworkでお手軽lambda運用 at #nseg #93
Serverless frameworkでお手軽lambda運用 at #nseg #93Serverless frameworkでお手軽lambda運用 at #nseg #93
Serverless frameworkでお手軽lambda運用 at #nseg #93ko ty
 
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入matsumoto_katsuhiko
 
沢山のスマホサービス環境を カジュアルにセキュアに運用する
沢山のスマホサービス環境を カジュアルにセキュアに運用する沢山のスマホサービス環境を カジュアルにセキュアに運用する
沢山のスマホサービス環境を カジュアルにセキュアに運用するHirotomo Oi
 
Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)Naoto Teruya
 
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)Yuuki Namikawa
 
CloudFormationを使って複数のSAP環境を構築してみよう
CloudFormationを使って複数のSAP環境を構築してみようCloudFormationを使って複数のSAP環境を構築してみよう
CloudFormationを使って複数のSAP環境を構築してみようREALTECHJP
 
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングAWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングTakuro Sasaki
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスMasahiro NAKAYAMA
 
Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90ko ty
 
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。医療IT数学同好会 T/T
 

What's hot (20)

20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀20141122 デジコミュ秋田 WordPressサイト永代供養の儀
20141122 デジコミュ秋田 WordPressサイト永代供養の儀
 
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
Spark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with ElasticsearchSpark in small or middle scale data processing with Elasticsearch
Spark in small or middle scale data processing with Elasticsearch
 
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきことサーバレスアーキテクチャを実戦投入するにあたって知るべきこと
サーバレスアーキテクチャを実戦投入するにあたって知るべきこと
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
 
CloudFormation で SAP
CloudFormation で SAPCloudFormation で SAP
CloudFormation で SAP
 
LINE API × heroku ×selenium
LINE API × heroku ×selenium LINE API × heroku ×selenium
LINE API × heroku ×selenium
 
MySQL→Aurora移行セミナー
MySQL→Aurora移行セミナーMySQL→Aurora移行セミナー
MySQL→Aurora移行セミナー
 
Serverless frameworkでお手軽lambda運用 at #nseg #93
Serverless frameworkでお手軽lambda運用 at #nseg #93Serverless frameworkでお手軽lambda運用 at #nseg #93
Serverless frameworkでお手軽lambda運用 at #nseg #93
 
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入
 
沢山のスマホサービス環境を カジュアルにセキュアに運用する
沢山のスマホサービス環境を カジュアルにセキュアに運用する沢山のスマホサービス環境を カジュアルにセキュアに運用する
沢山のスマホサービス環境を カジュアルにセキュアに運用する
 
Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)Serverless Framework 使ってる話(node.js)
Serverless Framework 使ってる話(node.js)
 
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
サーバの構築作業や運用管理を自動化する「Chef」 (CADC研究レポート発表LT)
 
CloudFormationを使って複数のSAP環境を構築してみよう
CloudFormationを使って複数のSAP環境を構築してみようCloudFormationを使って複数のSAP環境を構築してみよう
CloudFormationを使って複数のSAP環境を構築してみよう
 
AWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピングAWS Lambdaで作るクローラー/スクレイピング
AWS Lambdaで作るクローラー/スクレイピング
 
IoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレスIoT(Bluetooth mesh) × サーバーレス
IoT(Bluetooth mesh) × サーバーレス
 
Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90Serverless frameworkを使ってみた話 at #nseg #90
Serverless frameworkを使ってみた話 at #nseg #90
 
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
 

Similar to akka-streamのマイクロサービスへの適用

Next Language Scala
Next Language ScalaNext Language Scala
Next Language Scalapengin01
 
20101018 JJUG CCC10 WindowsAzure
20101018 JJUG CCC10 WindowsAzure20101018 JJUG CCC10 WindowsAzure
20101018 JJUG CCC10 WindowsAzureShinichiro Isago
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -SORACOM, INC
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれからAkira Inoue
 
Let's try to use Background sync
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background syncHirata Tomoko
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdfNaotaka Saito
 
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azurede:code 2017
 
JavaからScalaへ
JavaからScalaへJavaからScalaへ
JavaからScalaへtakezoe
 
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...Insight Technology, Inc.
 
Cloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factorCloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factorYoshio Terada
 
CCCEU Feedback
CCCEU FeedbackCCCEU Feedback
CCCEU FeedbackGo Chiba
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - SORACOM, INC
 
CloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012FukuokaCloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012FukuokaSatoshi Shimazaki
 
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...Rescale Japan株式会社
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Yoichi Kawasaki
 

Similar to akka-streamのマイクロサービスへの適用 (20)

Next Language Scala
Next Language ScalaNext Language Scala
Next Language Scala
 
20101018 JJUG CCC10 WindowsAzure
20101018 JJUG CCC10 WindowsAzure20101018 JJUG CCC10 WindowsAzure
20101018 JJUG CCC10 WindowsAzure
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -
 
One ASP.NET の今とこれから
One ASP.NET の今とこれからOne ASP.NET の今とこれから
One ASP.NET の今とこれから
 
Let's try to use Background sync
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background sync
 
cross2012a fujya
cross2012a fujyacross2012a fujya
cross2012a fujya
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 
2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf2022_1210_WordpressMeetup.pdf
2022_1210_WordpressMeetup.pdf
 
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
[AC06] クラウド・ネイティブなスケーラブル・アプリ開発のために~12 Factor App on Kubernetes on Azure
 
JavaからScalaへ
JavaからScalaへJavaからScalaへ
JavaからScalaへ
 
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
[db tech showcase Tokyo 2015] C15:DevOps MySQL in カカクコム~ OSSによる可用性担保とリアルタイムパフ...
 
Cloud stack入門
Cloud stack入門Cloud stack入門
Cloud stack入門
 
Cloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factorCloud Native Application on DEIS by using 12 factor
Cloud Native Application on DEIS by using 12 factor
 
CCCEU Feedback
CCCEU FeedbackCCCEU Feedback
CCCEU Feedback
 
AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 - AWSクラウドデザインパターン(CDP) - 概要編 -
AWSクラウドデザインパターン(CDP) - 概要編 -
 
Apache Spark on Azure
Apache Spark on AzureApache Spark on Azure
Apache Spark on Azure
 
CloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012FukuokaCloudStack Overview@OSC2012Fukuoka
CloudStack Overview@OSC2012Fukuoka
 
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
GTC Japan 2016 Rescaleセッション資料「クラウドHPC ではじめるDeep Learning」- Oct/5/2016 at GTC ...
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
 

akka-streamのマイクロサービスへの適用