SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Solaris 用 

Twitter ファイルシステム
Kazuyoshi Aizawa (@kaizawa2)
自己紹介

•名前:相澤一賀 @kaizawa2
•お仕事:ソフトウェア開発
•趣味:プログラミング
•普段使っている言語:
•Java、C
•好きなもの
•Solaris:特にカーネル周り。ネットワークモジュール、

ドライバ、ファイルシステムなどが好き

•Java: 最近 JavaFX 始めました
※この発表内容と私が所属する会社とは関係ありません
2
Twitter ファイルシステムって何すんの?
一言で言うと

「ツイッターのタイムラインを
tail コマンドで見たい」
ってことです
つまり。。。

http://youtu.be/4pUrlR4g8eA
Twitter FS の構成
tiwitterfsd

•
•
•

ユーザ・プログラム
twitter4j を使ってTwitterと
の通信を行う
擬似ファイルのデータ生成

ユーザ空間
/dev/iumfscntl
•
•

カーネル空間
IUMFS

カーネル・モジュール
ファイルシステムの動作を
エミュレート

•

VFSとユーザ・プログラム
の仲介
実際の動作はユーザ・プロ
グラムに投げる

•
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

Solaris 仮想ファイルシステム (VFS)

|
ネ
IUMFS ファイルシステム
ル
空 iumfs_lookup()
iumfs_read()
間
iumfs_getpage()

IUMFS ドライバ
iumfscntl_read()
iumfs_request_read()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

FD#0 から 512バイトちょ
Solaris 仮想ファイルシステム (VFS)

|
ネ
IUMFS ファイルシステム
ル
空 iumfs_lookup()
iumfs_read()
間
iumfs_getpage()

うだい
IUMFS ドライバ
iumfscntl_read()
iumfs_request_read()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

“/kaizawa2test/home” の

Solaris 仮想ファイルシステム (VFS)

|
vnode 教えて!
ネ
IUMFS ファイルシステム
IUMFS ドライバ
ル
空 iumfs_lookup()
iumfscntl_read()
iumfs_read()
間
iumfs_request_read()
iumfs_getpage()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

Solaris 仮想ファイルシステム (VFS)

この vnode の offset 0 から
|
ネ
512 バイトちょうだい! ドライバ
IUMFS ファイルシステム
IUMFS
ル
空 iumfs_lookup()
iumfscntl_read()
iumfs_read()
間
iumfs_request_read()
iumfs_getpage()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

Solaris 仮想ファイルシステム (VFS)

|
ネ
この vnode の offset 0 の
IUMFS ファイルシステム
IUMFS ドライバ
ル
ページのデータ読んで!
空 iumfs_lookup()
iumfscntl_read()
iumfs_read()
間
iumfs_request_read()
iumfs_getpage()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

Solaris 仮想ファイルシステム (VFS)

|
ネ readリクエスト置いとくか
IUMFS ら読んで∼!
ファイルシステム
IUMFS ドライバ
ル
空 iumfs_lookup()
iumfscntl_read()
iumfs_read()
間
iumfs_request_read()
iumfs_getpage()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

ドライバからリクエスト来た!
カ

/kaizawa2test/home の offset 0
Solaris 仮想ファイルシステム (VFS)

|
から 4KB ちょうだい!
ネ
IUMFS ファイルシステム
IUMFS ドライバ
ル
空 iumfs_lookup()
iumfscntl_read()
iumfs_read()
間
iumfs_request_read()
iumfs_getpage()
$ > cat home
ユ

kaizawa2test の 


|
ザ
Status データちょうだい!
空 open64("home", O_RDONLY) = 0
…
間 read(0, .., 512)
= 512

twitter4j

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

Solaris 仮想ファイルシステム (VFS)

|
ネ
IUMFS ファイルシステム
ル
空 iumfs_lookup()
iumfs_read()
間
iumfs_getpage()

IUMFS ドライバ
iumfscntl_read()
iumfs_request_read()
$ > cat home
ユ
|
ザ
空
間

twitter4j
open64("home", O_RDONLY) = 0
…
read(0, .., 512)
= 512

twitterfsd
AbstractTimelineFile.read()
ReadRequestHandler.getResponse()

カ

擬似ファイル作成!
Solaris 仮想ファイルシステム (VFS)

|
ネ
IUMFS ファイルシステム
ル
空 iumfs_lookup()
iumfs_read()
間
iumfs_getpage()

IUMFS ドライバ
iumfscntl_read()
iumfs_request_read()
Solaris/illmosでしか動きません。
念のため。。。
超簡単セットアップ
•

ファイルシステム・モジュール

-

•

wget https://github.com/kaizawa/iumfs/archive/master.zip

./configure
make
sudo make install

!

ユーザ・プログラム
- wget https://github.com/kaizawa/iumfs-twitterfs/archive/master.zip
- sudo ./setup_autofs
- ./start-twitterfsd
※ 開発パッケージが入っていること前提です

# pkg install gcc-45
オートマウントで簡単アカウント管理
オートマウントを使えば、

管理者いらずで 

Twitter ファイルシステムの

アカウント管理ができますよ!!
オートマウントでアカウント設定

http://youtu.be/ijnePVWDiB0
もちろん
マニュアルでのマウントもできます。
# /usr/sbin/mount -F iumfs -o user=kaizawa2test
twitterfs://twitter.com /mnt

ただし、root ユーザーで。
余談ですが。。。
Solaris では
ファイルシステム毎に専用の mount コマ
ンドが用意されています。
/user/share/lib/<ファイルシステム名>/mount
使い方 ー タイムラインを見る
home
user	
followers/<アカウント>

ホームタイムライン・ファイル

自分の投稿のタイムライン・ファイル
フォロワーのタイムライン・ファイルが格納されたデ
ィレクトリ
フォローしているアカウントのタイムライン・ファイ

friends/<アカウント>

ルが格納されたディレクトリ


retweet_of_me


リツイートされた自分の投稿のタイムライン
home タイムライン

http://youtu.be/53NYTtGhwLw
friends/followers タイムライン

http://youtu.be/OP6w0EJ3EKw
使い方 ー ツイートする
post

投稿用ファイル。

replies/<アカウント>

リプライ専用投稿ファイル
ツイート投稿

http://youtu.be/Jh0ZrSHc9dg
リプライ投稿

http://youtu.be/Sej-fOZg5S8
実装について
実装について

• タイムライン・ファイルの共有
• タイムライン・データのディスクへの書き出し
なぜタイムラインファイル
の共有が必要なのか?
•

複数のユーザが同じTwitterアカウントをフォローし
ている可能性がある

•

自分がフォローしていて、かつ相手からもフォロー
してもらっている(両思い) Twitterアカウントがある
可能性がある
どちらの場合も、同一のTwitterアカウントの

タイムラインデータを保持してしまう

Java ヒープの無駄遣い!
さらに。。。
1ユーザの Twitter ログインアカウントだけで
全てのフォロワー/フォローのタイムラインを
取得するのは難しい・・・
https://dev.twitter.com/docs/rate-limiting/1.1/limits

…

15分で180

アカウント分取得

一万人フォローしている場合の更新間隔 


(10,000 / 180) * 15 = 832分 = 約14時間!
でも、100人のログインユーザがいれば・・・
・・・・

(10,000 / 180) * 15 / 100 = 8分
に1回更新される!! かも。(未検証)
※

home タイムラインは Stream API
を使っているので、ほぼリアルタイ
ムにツイートを取得できます。



念のため。
なぜタイムラインデータの
ディスクへの書き出しが必要なのか?
ユーザモードデーモン
Java VM
twitterfsd
Java Heap
タイムラインデータ
タイムラインデータ
タイムラインデータ
タイムラインデータ

OutOfMemoryError
タイムラインデータ
ユーザモードデーモン
Java VM
twitterfsd
Java Heap
タイムラインデータ
タイムラインデータ
タイムラインデータ
タイムラインデータ
タイムラインデータ
ユーザモードデーモン
Java VM
twitterfsd
Java Heap

タイムラインデータ
タイムラインデータ
タイムラインデータ
タイムラインデータ
タイムラインデータ
このバックアップによって、

デーモン再起動時に
以前のタイムラインデータを
ディスクから読み込むこともできます
利用アイデア
利用アイデア 1
•

syslog 出力先
システム・エラーをメンションで通知
/etc/syslog.conf
*.err

/twitter/ichiga2test/replies/kaizawa2test!
利用アイデア 2
•

cron/at で通知

毎時0分に自分にメンション
0 * * * * echo "時間だよ" > !
/twitter/kaizawa2test/replies/kaizawa2test
ToDo
•
•
•

Twitter フォルダのアクセス権
アカのタイムラインの読み取り制限
フォロワーの追加

•

echo コマンド、touch コマンド

フォロワーの削除

•

(つまりまだできない)

rm コマンド

タイムライン・ファイルのフォーマットの変更
ご興味いただけたら

solaris + twitterfs
で検索してみてください。
http://kaizawa2.hatenablog.jp/entry/2014/01/03/201222
Solaris 用 

Twitter ファイルシステム
ご清聴ありがとうございました

Mais conteúdo relacionado

Destaque

Suplantació de perfils, treball Uatic, Grup raxajoca
Suplantació de perfils, treball Uatic, Grup raxajocaSuplantació de perfils, treball Uatic, Grup raxajoca
Suplantació de perfils, treball Uatic, Grup raxajocaraxajoca
 
Government handbook by Juan
Government handbook by JuanGovernment handbook by Juan
Government handbook by Juanfrincine
 
Key Elements for Building an Engaging, Useful and Sustainable Website
Key Elements for Building an Engaging, Useful and Sustainable WebsiteKey Elements for Building an Engaging, Useful and Sustainable Website
Key Elements for Building an Engaging, Useful and Sustainable WebsiteMichael Vaughn
 
Risk assessment
Risk assessmentRisk assessment
Risk assessmentkevracs
 
Production sch draft 1 zoe
 Production sch draft 1 zoe Production sch draft 1 zoe
Production sch draft 1 zoekevracs
 
Music video pitch
Music video   pitchMusic video   pitch
Music video pitchkevracs
 
The Story of Elias & the Prophets of Baal
The Story of Elias & the Prophets of BaalThe Story of Elias & the Prophets of Baal
The Story of Elias & the Prophets of BaalAlyiannaBaggins
 
Presentation1
Presentation1Presentation1
Presentation1kevracs
 
Evaluation question 2
Evaluation question 2Evaluation question 2
Evaluation question 2kevracs
 
Updated Promotion
Updated PromotionUpdated Promotion
Updated PromotionYing Peach
 
Survey results
Survey resultsSurvey results
Survey resultskevracs
 
Angeline-BSc2- Integration with Design Studio 5
Angeline-BSc2- Integration with Design Studio 5Angeline-BSc2- Integration with Design Studio 5
Angeline-BSc2- Integration with Design Studio 5Angeline KH
 
THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...
THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...
THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...Angeline KH
 

Destaque (20)

Suplantació de perfils, treball Uatic, Grup raxajoca
Suplantació de perfils, treball Uatic, Grup raxajocaSuplantació de perfils, treball Uatic, Grup raxajoca
Suplantació de perfils, treball Uatic, Grup raxajoca
 
10. vapor
10. vapor10. vapor
10. vapor
 
Government handbook by Juan
Government handbook by JuanGovernment handbook by Juan
Government handbook by Juan
 
Lakmini& yasiru wedding
Lakmini& yasiru weddingLakmini& yasiru wedding
Lakmini& yasiru wedding
 
Key Elements for Building an Engaging, Useful and Sustainable Website
Key Elements for Building an Engaging, Useful and Sustainable WebsiteKey Elements for Building an Engaging, Useful and Sustainable Website
Key Elements for Building an Engaging, Useful and Sustainable Website
 
Risk assessment
Risk assessmentRisk assessment
Risk assessment
 
Trotu
TrotuTrotu
Trotu
 
Production sch draft 1 zoe
 Production sch draft 1 zoe Production sch draft 1 zoe
Production sch draft 1 zoe
 
Hidroclimatologia colombiana
Hidroclimatologia colombianaHidroclimatologia colombiana
Hidroclimatologia colombiana
 
Music video pitch
Music video   pitchMusic video   pitch
Music video pitch
 
The Story of Elias & the Prophets of Baal
The Story of Elias & the Prophets of BaalThe Story of Elias & the Prophets of Baal
The Story of Elias & the Prophets of Baal
 
Presentation1
Presentation1Presentation1
Presentation1
 
Com realitzar un conte
Com realitzar un conteCom realitzar un conte
Com realitzar un conte
 
Evaluation question 2
Evaluation question 2Evaluation question 2
Evaluation question 2
 
Updated Promotion
Updated PromotionUpdated Promotion
Updated Promotion
 
Survey results
Survey resultsSurvey results
Survey results
 
Angeline-BSc2- Integration with Design Studio 5
Angeline-BSc2- Integration with Design Studio 5Angeline-BSc2- Integration with Design Studio 5
Angeline-BSc2- Integration with Design Studio 5
 
Keputsn3
Keputsn3Keputsn3
Keputsn3
 
THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...
THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...
THEORIES OF ARCHITECTURE & URBANISM [ARC61303] [ARC2224]-Project 1A: Ar. Lum ...
 
libya
libyalibya
libya
 

Semelhante a Solaris 用 Twitterファイルシステムのご紹介

Fluentdcasual 02-haikanko
Fluentdcasual 02-haikankoFluentdcasual 02-haikanko
Fluentdcasual 02-haikankoNaotoshi Seo
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)mosa siru
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/MarathonShuji Yamada
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備Takeshi Arabiki
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索FessShinsuke Sugaya
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデルYuta Kashino
 
DOO-013_Docker 最新動向と Azure Container Service 入門
DOO-013_Docker 最新動向と Azure Container Service 入門DOO-013_Docker 最新動向と Azure Container Service 入門
DOO-013_Docker 最新動向と Azure Container Service 入門decode2016
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)Satoshi Shimazaki
 
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用Shinya Nakajima
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)Hiroshi Hayakawa
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介健一 辰濱
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングShin Matsumoto
 
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバコミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ法林浩之
 
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しようVagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しようYuta Matsumura
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)Naoki Okino
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?Sotaro Kimura
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてgree_tech
 
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!Kazumi IWANAGA
 
みんなのTerraformで AWSをテラフォーミングさせるぜ
みんなのTerraformで AWSをテラフォーミングさせるぜみんなのTerraformで AWSをテラフォーミングさせるぜ
みんなのTerraformで AWSをテラフォーミングさせるぜTakamasa Sakai
 

Semelhante a Solaris 用 Twitterファイルシステムのご紹介 (20)

Fluentdcasual 02-haikanko
Fluentdcasual 02-haikankoFluentdcasual 02-haikanko
Fluentdcasual 02-haikanko
 
捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)捗るリコメンドシステムの裏事情(ハッカドール)
捗るリコメンドシステムの裏事情(ハッカドール)
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/Marathon
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備
 
オフィスに1台!全文検索Fess
オフィスに1台!全文検索Fessオフィスに1台!全文検索Fess
オフィスに1台!全文検索Fess
 
深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル深層学習ライブラリのプログラミングモデル
深層学習ライブラリのプログラミングモデル
 
DOO-013_Docker 最新動向と Azure Container Service 入門
DOO-013_Docker 最新動向と Azure Container Service 入門DOO-013_Docker 最新動向と Azure Container Service 入門
DOO-013_Docker 最新動向と Azure Container Service 入門
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)CloudStack Overview(OSC2012Kansai@Kyoto)
CloudStack Overview(OSC2012Kansai@Kyoto)
 
Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用Azure PipelinesをサーバサイドのCI/CDに活用
Azure PipelinesをサーバサイドのCI/CDに活用
 
はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)はじめてのDockerパーフェクトガイド(2017年版)
はじめてのDockerパーフェクトガイド(2017年版)
 
Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介Android 開発, 運用時に使いたいライブラリやサービスの紹介
Android 開発, 運用時に使いたいライブラリやサービスの紹介
 
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニングクラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
 
コミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバコミュニティ運営とレンタルサーバ
コミュニティ運営とレンタルサーバ
 
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しようVagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しよう
 
2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)2012 0623-x-road-tokyo-xoops-x(ten)
2012 0623-x-road-tokyo-xoops-x(ten)
 
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
スキーマつきストリーム データ処理基盤、 Confluent Platformとは?
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
 
みんなのTerraformで AWSをテラフォーミングさせるぜ
みんなのTerraformで AWSをテラフォーミングさせるぜみんなのTerraformで AWSをテラフォーミングさせるぜ
みんなのTerraformで AWSをテラフォーミングさせるぜ
 

Solaris 用 Twitterファイルシステムのご紹介