エンタープライズ rubyの可能性 - obci.jp · web development that doesn't hurt...

42
Powered by Rabbit 0.6.2 エンタープライズ Rubyの可能性 (株)楽天 技術研究所 (株)ネットワーク応用通信研究所 まつもと ゆきひろ

Upload: others

Post on 15-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Powered by Rabbit 0.6.2

エンタープライズRubyの可能性

(株)楽天 技術研究所(株)ネットワーク応用通信研究所

まつもと ゆきひろ

Powered by Rabbit 0.6.2

エンタープライズRuby

ビジネス領域でのRuby

ここ数年で急速に現実化

1/41

Powered by Rabbit 0.6.2

背景

ハードウェア環境

ソフトウェア環境

2/41

Powered by Rabbit 0.6.2

ハードウェア環境

ムーアの法則1.5年で2倍

高速・大容量・安価

3/41

Powered by Rabbit 0.6.2

ソフトウェア環境

ソフトウェアの重要性

生産性

Web化

4/41

Powered by Rabbit 0.6.2

生産性のトレードオフ

実行効率と開発効率開発コストをかけて高速化

性能を犠牲に高生産性

5/41

Powered by Rabbit 0.6.2

21世紀に可能になったこと

ムーアの法則

性能が問題ではなくなってきた

6/41

Powered by Rabbit 0.6.2

性能問題の解消

ハードウェア性能の向上

ボトルネックの変化ネットワーク

データベース

7/41

Powered by Rabbit 0.6.2

生産性にRuby

簡潔な表現

動的性質

フレームワーク

8/41

Powered by Rabbit 0.6.2

簡潔な表現

Fred Brooksの生産性の法則

ひとりのプログラマが1日に生産するコード量は言語の種類によらず一定である

9/41

Powered by Rabbit 0.6.2

動的性質

アプリにおける動的要素の増大

JavaにおけるXML

Rubyのような動的言語の活躍

10/41

Powered by Rabbit 0.6.2

DSL

Domain Specific Language

記述性

可読性

生産性

11/41

Powered by Rabbit 0.6.2

フレームワーク

アプリケーション共通部

言語の抽象化能力に依存

メタプログラミングの活用

12/41

Powered by Rabbit 0.6.2

フレームワーク

Ruby on Rails

13/41

Powered by Rabbit 0.6.2

Ruby on Rails

キャッチフレーズ

Web development that doesn't hurt

Javaの10倍の生産性

Webアプリ動作まで15分

14/41

Powered by Rabbit 0.6.2

他フレームワーク

Merb

Ramaze

Sinatra

15/41

Powered by Rabbit 0.6.2

未来への変化

性能特性

アーキテクチャ

開発規模感

16/41

Powered by Rabbit 0.6.2

性能特性

ボトルネック

ロジックからネットへ

データベースへ

17/41

Powered by Rabbit 0.6.2

アーキテクチャ

オンライン

クライアント ・ サーバー

クラウド

18/41

Powered by Rabbit 0.6.2

開発規模感

大規模システムから

小規模システムの集合体へ

19/41

Powered by Rabbit 0.6.2

開発規模感

100名超のチームから

10名以下のチームの集合体へ

20/41

Powered by Rabbit 0.6.2

開発感覚

詳細な仕様から

アジャイルな開発へ

テストベース

反復的開発

21/41

Powered by Rabbit 0.6.2

ARC

シリコンバレーのキーワード

Agile

Ruby on Rails

Cloud

22/41

Powered by Rabbit 0.6.2

Agile

俊敏

段階的

人間中心

23/41

Powered by Rabbit 0.6.2

アジャイル宣言

以下を重視

人と人同士の相互作用

動作するソフトウェア

顧客との協調

変化への対応

24/41

Powered by Rabbit 0.6.2

アジャイル宣言

18人の署名者中

3名がRuby本著者

(最低)5名がRuby使い

(最低)2名が好意的

25/41

Powered by Rabbit 0.6.2

アジャイル

Rubyとの親和性が高い

動的

柔軟

高生産性

26/41

Powered by Rabbit 0.6.2

Ruby on Rails

高生産性

早いスタートアップ

27/41

Powered by Rabbit 0.6.2

Cloud

低コスト

俊敏な対応

28/41

Powered by Rabbit 0.6.2

ベンチャーキャピタル

そのサービスはRubyで提供できないのか

29/41

Powered by Rabbit 0.6.2

エンタープライズの心配

パフォーマンス

安定性

エンジニア

リスク

30/41

Powered by Rabbit 0.6.2

パフォーマンス

ハードウェア性能の向上

ムーアの法則

楽天

Twitter

31/41

Powered by Rabbit 0.6.2

Twitter

32/41

Powered by Rabbit 0.6.2

安定性

実績

月間数億PV

毎秒数百PV

33/41

Powered by Rabbit 0.6.2

エンジニア

アンテナの高い技術者

普及技術よりも少ない

優れた技術者

新しい技術

34/41

Powered by Rabbit 0.6.2

リスク

向き・不向き

ビジネススタイル

組織文化

35/41

Powered by Rabbit 0.6.2

Rubyビジネスの未来

規模としてJavaに近づく

金額

人数

36/41

Powered by Rabbit 0.6.2

Rubyビジネスの未来

Javaの置き換えにはならない

性能特性

チーム特性

RubyにはRubyの市場を

37/41

Powered by Rabbit 0.6.2

Rubyビジネスの未来

ビジネススタイルの変化を要求

日本的ビジネスのままならJavaの方が向いているかも

38/41

Powered by Rabbit 0.6.2

新しいやり方

Rubyで

高生産性で

高速に

段階的な進化

39/41

Powered by Rabbit 0.6.2

現実はいつも予想を超える

業務システム

大規模アプリ

大規模チーム

HPC

40/41

Powered by Rabbit 0.6.2

おわり

ご清聴ありがとうございました

41/41