78
AWSと ハイスピードSIの世界へようこそ 2015.5.30

20150530 JAWS-UG kintone Café Kochi

Embed Size (px)

Citation preview

Page 1: 20150530 JAWS-UG kintone Café Kochi

AWSと ハイスピードSIの世界へようこそ

2015.5.30

Page 2: 20150530 JAWS-UG kintone Café Kochi

R3 institute

#jawsug #kintonecafe で 色々tweetしてもらえると喜びます

2

Page 3: 20150530 JAWS-UG kintone Café Kochi

R3 institute

金春さんイケメン #jawsug #kintonecafe

3

ってつぶやくとステッカー進呈w

Page 4: 20150530 JAWS-UG kintone Café Kochi

R3 institute

Who?

4

金春利幸(Toshiyuki Konparu)

R3 institute Ltd.Manager, Solution Architect

JAWS-UG Osaka Core Member

Work

Community

Official kintone EvangelistSocialFacebook: t.konparuTwitter: t_konparu

kintone Café Osaka Core Member

Page 5: 20150530 JAWS-UG kintone Café Kochi

R3 institute

R3 instituteのご紹介

5

2000年創業のシステムによる問題解決会社

2012年からAWSのパートナー

2014年からサイボウズ(kintone)のパートナー

業務設計 仕様検討 設計 開発 教育 運用

すべてをワンストップで提供

http://www.r3it.com/

アールスリー 検索

Page 6: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“20年ぶりの高知です”

6

Page 7: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“しかも20年前に行ったのはここ”

7

Page 8: 20150530 JAWS-UG kintone Café Kochi

R3 institute 8

両方の運営に深く関与してる! 今日は、私のためにあるような場!

Page 9: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“今日は二部構成で AWSの概要

と AWSとkintoneで実現できる新しいSI

について お話します”

9

Page 10: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“AWSとは?”

10

Part.1

Page 11: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWS使っている人?

11

Page 12: 20150530 JAWS-UG kintone Café Kochi

R3 institute

なぜAWSができたのか?

12

Page 13: 20150530 JAWS-UG kintone Café Kochi

R3 institute

ある日のアマゾン

13

Dev Ops

Page 14: 20150530 JAWS-UG kintone Café Kochi

R3 institute

ある日のアマゾン

13

Dev Ops

来週新サービスローンチするからサーバよろしく!

Page 15: 20150530 JAWS-UG kintone Café Kochi

R3 institute

ある日のアマゾン

13

Dev Ops

来週新サービスローンチするからサーバよろしく!

ちょっ、おまっサーバの調達に3週間かかるよ

Page 16: 20150530 JAWS-UG kintone Café Kochi

R3 institute

さる日のアマゾン

14

Dev Ops

Page 17: 20150530 JAWS-UG kintone Café Kochi

R3 institute

さる日のアマゾン

14

Dev Ops

なんとかしろよゴルァ!

Page 18: 20150530 JAWS-UG kintone Café Kochi

R3 institute

さる日のアマゾン

14

Dev Ops

なんとかしろよゴルァ!

そんなこと言われても

Page 19: 20150530 JAWS-UG kintone Café Kochi

R3 institute

さる日のアマゾン

14

Dev Ops

なんとかしろよゴルァ!

そんなこと言われても

おめ~らちんたらやってるから

明日から打合せ禁止な

Page 20: 20150530 JAWS-UG kintone Café Kochi

R3 institute

とある日のアマゾン

15

Ops

Page 21: 20150530 JAWS-UG kintone Café Kochi

R3 institute

とある日のアマゾン

15

Ops

「おいおいどうするよ?」「そんなこと言ってもサーバ調達時間かかるよ」「あっ、仮想化してAPIでサーバ起動できるようにすればいいじゃね?」「おぉ、それでいくべ!」

Page 22: 20150530 JAWS-UG kintone Café Kochi

R3 institute

とある日のアマゾン

15

Ops

「おいおいどうするよ?」「そんなこと言ってもサーバ調達時間かかるよ」「あっ、仮想化してAPIでサーバ起動できるようにすればいいじゃね?」「おぉ、それでいくべ!」

AWSの原型の完成

Page 23: 20150530 JAWS-UG kintone Café Kochi

R3 institute

2006年にサービス開始

16

Amazon SQS (Simple Queue Service)

Amazon S3 (Simple Storage Service)

Page 24: 20150530 JAWS-UG kintone Café Kochi

R3 institute

最初EC2じゃね~のかよ

17

Amazon EC2 (Elastic Computing Cloud)仮想サーバが借りられるサービス

Page 25: 20150530 JAWS-UG kintone Café Kochi

R3 institute

そんなこんなで サービスが追加され…

18

Page 26: 20150530 JAWS-UG kintone Café Kochi

R3 institute

40以上のサービスに!

19

Page 27: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“多すぎてわからね~~~~”

20

Page 28: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWSのいいところ

21

数多くのビルディングブロック(サービス)を用意し、それらを自由に組み合わせて利用することで、どんな用途でにも利用できる。

しかも、料金は使った分だけ

Page 29: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)静的Webサイト

22

Amazon S3

月10円~Webサイト作れます

Page 30: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)動的Webサイト(CMS)

23

Amazon EC2

みんな大好きWordpressもクリック1つで起動できます網元起動隊 検索

Page 31: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)業務システム

24

Amazon EC2 Amazon RDS

VPN

VPC(Virtual Private Cloud)を使うと、閉じたネットワーク環境も作れます。 RDSで安心・安全なフルマネージドDB

Page 32: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)ゲーム

25

Amazon EC2

Amazon DynamoDB

アクセス数が読めないケースでもAutoScalingで安心 ほぼ無限に性能を上げられるDynamoDBでデータ管理も安心

Page 33: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWSのいいところ2

26

これらのビルディングブロック(サービス)の組み立ては、すべてプログラムから行うこ

とができる

Page 34: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

27

#!/usr/bin/env ruby require 'rubygems' require 'aws-sdk'

class ServerReplacer

def initialize end

def do_replace @ec2 = AWS::EC2.new()

get_target_instances

@instances_to_terminate.each {|instance_id| terminate_and_wait(instance_id) } end

def get_target_instances puts "Searching instances to terminate"

@elb = AWS::ELB.new() @xxxxx_elb = @elb.load_balancers['xxxxx-prodenv'] elb_instances = @xxxxx_elb.instances

@instances_to_terminate = [elb_instances.health.length] index = 0 elb_instances.each {|instance| puts "Instance: " + instance.id + " DNS Name: " + instance.dns_name @instances_to_terminate[index] = instance.id index += 1 }

@instance_count = @xxxxx_elb.instances.health.length end

Page 35: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

27

#!/usr/bin/env ruby require 'rubygems' require 'aws-sdk'

class ServerReplacer

def initialize end

def do_replace @ec2 = AWS::EC2.new()

get_target_instances

@instances_to_terminate.each {|instance_id| terminate_and_wait(instance_id) } end

def get_target_instances puts "Searching instances to terminate"

@elb = AWS::ELB.new() @xxxxx_elb = @elb.load_balancers['xxxxx-prodenv'] elb_instances = @xxxxx_elb.instances

@instances_to_terminate = [elb_instances.health.length] index = 0 elb_instances.each {|instance| puts "Instance: " + instance.id + " DNS Name: " + instance.dns_name @instances_to_terminate[index] = instance.id index += 1 }

@instance_count = @xxxxx_elb.instances.health.length end

Page 36: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

28

Elastic Load Balancing

EC2 Instance (Web Server)

RDS Instance (Database)

Page 37: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

29

Elastic Load Balancing

EC2 Instance (Web Server)

RDS Instance (Database)

サーバを破棄

Page 38: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

30

Elastic Load Balancing

EC2 Instance (Web Server)

RDS Instance (Database)

最新プログラムをダウンロード

Amazon S3

Page 39: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

31

Elastic Load Balancing

EC2 Instance (Web Server)

RDS Instance (Database)

サーバを破棄

Page 40: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)サーバを順番にすべて破棄して作りなおす

32

Elastic Load Balancing

EC2 Instance (Web Server)

RDS Instance (Database)

最新プログラムをダウンロード

Amazon S3

Page 41: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方

33

稼働しているサーバの設定を変更するのは危険

Page 42: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方

33

稼働しているサーバの設定を変更するのは危険

サーバは使い捨てと考える

Page 43: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方

33

稼働しているサーバの設定を変更するのは危険

サーバは使い捨てと考える

動作を確認した新サーバを用意し 旧サーバは破棄する

Page 44: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方

33

稼働しているサーバの設定を変更するのは危険

サーバは使い捨てと考える

動作を確認した新サーバを用意し 旧サーバは破棄する

Immutable Infrastructure(いみゅーたぼーいんふらすとらくちゃー)

Page 45: 20150530 JAWS-UG kintone Café Kochi

R3 institute

(例)業務システムふたたび

34

Amazon EC2 Amazon RDS

VPN

これくらいならオンプレでもできるやん????

Page 46: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方2

35

業務システムは夜間休日使わないものが多い

Page 47: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方2

35

業務システムは夜間休日使わないものが多い

AWSは時間課金

Page 48: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方2

35

業務システムは夜間休日使わないものが多い

AWSは時間課金

使わない時間は止めればいい

Page 49: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドならではの考え方2

35

業務システムは夜間休日使わないものが多い

AWSは時間課金

使わない時間は止めればいい

24時間稼働だと20,000円が、 平日8時間稼働だと4,500円に!

Page 50: 20150530 JAWS-UG kintone Café Kochi

R3 institute

Part.1 まとめ

36

AWSをうまく使うには AWSの各サービスの特徴や料金体系を 理解した上で最適な組み合わせを 考えていく必要があります

JAWS-UGでそれを学べます! それでも困ったらパートナー(特に弊社)へ

Page 51: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“ハイスピードSIの世界へようこそ”

37

Part.2

Page 52: 20150530 JAWS-UG kintone Café Kochi

R3 institute

SIerの仕事している人?

38

Page 53: 20150530 JAWS-UG kintone Café Kochi

R3 institute

kintone使っている人?

39

Page 54: 20150530 JAWS-UG kintone Café Kochi

R3 institute

システム開発(SIer)への不満

40

• 要件定義で決めたことしかできない(しない)

• 人月見積で金額出されても根拠がわからない

• 出来上がってきたものを見ると違うということが起きる

• なんだかんだで遅い

Page 55: 20150530 JAWS-UG kintone Café Kochi

R3 institute

システム開発(SIer)への不満

40

• 要件定義で決めたことしかできない(しない)

• 人月見積で金額出されても根拠がわからない

• 出来上がってきたものを見ると違うということが起きる

• なんだかんだで遅い

顧客の問題を解決できていない

Page 56: 20150530 JAWS-UG kintone Café Kochi

R3 institute 41

顧客の課題を高速に解決するために 弊社ではハイスピードSIを提唱しています

Page 57: 20150530 JAWS-UG kintone Café Kochi

R3 institute

クラウドは経営のスピードを上げる

42

Page 58: 20150530 JAWS-UG kintone Café Kochi

R3 institute 43

時間はすべての企業に 平等に与えられた 経営リソース

Page 59: 20150530 JAWS-UG kintone Café Kochi

R3 institute

早く失敗して早く改善できる企業が生き残れる

44

時間

成熟度

このサイクルを早く回さないといけない

Page 60: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWSによりインフラ・ミドルは早くなったがアプリ層が早くなっていない

45

インフラ

ミドルウェア

アプリ

Page 61: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWSによりインフラ・ミドルは早くなったがアプリ層が早くなっていない

45

インフラ

ミドルウェア

アプリ

AmazonEC2 AmazonRDS

EC2 AMI Elastic Beanstalk AWSで 早く回せる

Page 62: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWSによりインフラ・ミドルは早くなったがアプリ層が早くなっていない

45

インフラ

ミドルウェア

アプリ

AmazonEC2 AmazonRDS

EC2 AMI Elastic Beanstalk AWSで 早く回せる

ここが早くない

Page 63: 20150530 JAWS-UG kintone Café Kochi

R3 institute

アプリ層は従来の手法では改善は難しい

46

パッケージ スクラッチ開発

• フィット&ギャップしたものの導入後ギャップが見つかると改善が難しい

• ギャップを改善しようとカスタマイズをすると非常に高い費用がかかる

• 要件をまとめるのには時間がかかる

• 開発にも時間がかかる

Page 64: 20150530 JAWS-UG kintone Café Kochi

R3 institute

kintoneでアプリを加速することができる

47

•ものすごく早くシステムが作れる • JavaScriptでカスタマイズすれば色々できる •新しいSIモデルを実践しやすい(人月商売の害から逃れる) •kintone Café(コミュニティ)が立ち上がりはじめていて面白い •基幹システム作れるか?と言われれば難しい

Page 65: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“kintoneについては私の前にすでに後迫さんがナイスな説明をしてくれると信じている・・・”

48

Page 66: 20150530 JAWS-UG kintone Café Kochi

R3 institute

重要なお知らせ

49

Kintone

kintone

Page 67: 20150530 JAWS-UG kintone Café Kochi

R3 institute

弊社のお客様の実例では、 1つのシステムができるまでに使った時間は、

4時間(2時間打合せ × 2回)

50

kintone開発の早さ

Page 68: 20150530 JAWS-UG kintone Café Kochi

R3 institute 51

kintoneとAWSを組み合わせることによって、 kintoneによるスピーディな開発と

AWSによる堅牢・迅速なインフラ構築の 両者のパワーを最大限活用できる

Page 69: 20150530 JAWS-UG kintone Café Kochi

R3 institute 51

kintoneとAWSを組み合わせることによって、 kintoneによるスピーディな開発と

AWSによる堅牢・迅速なインフラ構築の 両者のパワーを最大限活用できる

ハイスピードSIの実現

Page 70: 20150530 JAWS-UG kintone Café Kochi

R3 institute

紙やエクセルで業務回して、 その結果を基幹システムに入力してませんか?

52

Page 71: 20150530 JAWS-UG kintone Café Kochi

R3 institute

本当にシステム化したいのは、 紙やエクセルで回しちゃってる方じゃないですか?

53

Page 72: 20150530 JAWS-UG kintone Café Kochi

R3 institute

基幹システムはAWS、周辺業務はkintoneがベストマッチ

54

基幹 SYS

kintone App

kintone App

kintone App

kintone App

Page 73: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWS ☓ kintoneはとてもいい関係

55

• 短時間で調達できる• 短時間で調達できる• 基幹システムでも堅牢に運用できる • アプリは作るか入れるかしないといけない

• 大量のデータを蓄積するのは苦手 • APIにより外部のシステムと容易に連携できる

• 業務アプリをスピーディに開発することができる • 業務の変化にも迅速にアプリを変化させることができる

• 大量のデータの蓄積・分析は得意

Page 74: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWS ☓ kintoneはとてもいい関係

55

• 短時間で調達できる• 短時間で調達できる• 基幹システムでも堅牢に運用できる • アプリは作るか入れるかしないといけない

• 大量のデータを蓄積するのは苦手 • APIにより外部のシステムと容易に連携できる

• 業務アプリをスピーディに開発することができる • 業務の変化にも迅速にアプリを変化させることができる

• 大量のデータの蓄積・分析は得意

堅牢に保存する必要のある 大量のデータはAWS上に置く

業務をサポートしデータを 発生させる仕組みは kintoneで作る

Page 75: 20150530 JAWS-UG kintone Café Kochi

R3 institute

AWS × kintoneの基本アーキテクチャ

56

EC2

RDS DynamoDB Redshift

マイクロサービス (API)を作る

既存SYS別SYS

VPN

Direct Connect

Lambda

Page 76: 20150530 JAWS-UG kintone Café Kochi

R3 institute

Part.2 まとめ

57

kintoneとAWSをうまく組み合わせて使うことで、kintoneでできないことをAWSで補完し、AWSだけでは作れないシステムをkintoneで高

速に作ることができる

ハイスピードSIへ

Page 77: 20150530 JAWS-UG kintone Café Kochi

R3 institute

“クラウドなら地方とか関係なくビジネスできる”

58

“問題は、やるかどうか”

Page 78: 20150530 JAWS-UG kintone Café Kochi

R3 institute

Thank you

59