multi cloud design pattern(beta)

50
Nvmuj!Dmpve!Eftjho!Qbuufso)⇏ * DEQ!jt!efbe@!mpoh!mjwf!NDEQ@ cz! Nbtbtij!Ufsvj!bu!Kvmz!Ufdi!Gftub!3126

Upload: masashi-terui

Post on 14-Aug-2015

2.728 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Multi Cloud Design Pattern(Beta)
Page 2: Multi Cloud Design Pattern(Beta)

Masashi Terui @ marcy_teruiI’m a developer and a architect in a operators company (JIG-SAW Inc.)

I’m interested in Cloud, Automation, IoT(Server Side) and more. I’m a AWS Certified DevOps Engineer Professional.

I’m a husband of my wife. I’m a father of my son and my daughter.

ABOUT ME

2

Page 3: Multi Cloud Design Pattern(Beta)

3

Page 4: Multi Cloud Design Pattern(Beta)

4

Page 5: Multi Cloud Design Pattern(Beta)

ABOUT US

5

Coming soon!!

Page 6: Multi Cloud Design Pattern(Beta)

6

CDPって知ってますか?

Page 7: Multi Cloud Design Pattern(Beta)

WHAT IS CDP?

7

AWSクラウドデザインパターン (AWS Cloud Design Pattern, 略してCDPと呼ぶ)とは、AWSクラウドを

使ったシステムアーキテクチャ設計を行う際に発生する、典型的な問題とそれに対する解決策・設計方

法を、分かりやすく分類して、ノウハウとして利用できるように整理したものである。

これまで多くのクラウドアーキテクト達が発見してきた、もしくは編み出しきた設計・運用のノウハウ

のうち、クラウド上で利用が可能なものをクラウドデザインのパターンという形式で一覧化し、暗黙知

から形式知に変換したものであるといえる。 – AWS-CloudDesignPattern Wiki (http://aws.clouddesignpattern.org/) より –

Page 8: Multi Cloud Design Pattern(Beta)

色々あります

8

58パターン

http://aws.clouddesignpattern.org/

34パターン

https://msdn.microsoft.com/en-us/library/dn568099.aspx

48パターン

http://www.gg-web.jp/document/DesignPattern/

2015.07.27時点 俺調べ 他にあったら教えてください

Page 9: Multi Cloud Design Pattern(Beta)

9

どれも知見が溢れていて 素晴らしいですよね:-)

Page 10: Multi Cloud Design Pattern(Beta)

10

でも、思うんです

Page 11: Multi Cloud Design Pattern(Beta)

11

単一のクラウドに閉じる必要あります?

Page 12: Multi Cloud Design Pattern(Beta)

12

組み合わせることだってできますよね?

Page 13: Multi Cloud Design Pattern(Beta)

13

若干、厳しみのあるパターンとかありますよね? それ、他のクラウド使えば良い感じになりません?

Page 14: Multi Cloud Design Pattern(Beta)

14

より良いシステムを作れるなら

Page 15: Multi Cloud Design Pattern(Beta)

15

一つのクラウドに拘る必要はない

Page 16: Multi Cloud Design Pattern(Beta)

16

なにより

Page 17: Multi Cloud Design Pattern(Beta)

ワクワクしません?

17

2015.07.27時点 俺調べ 事業者によって粒度が違うので参考程度

45サービス56サービス 19サービス ?サービス

Page 18: Multi Cloud Design Pattern(Beta)
Page 19: Multi Cloud Design Pattern(Beta)

19

例えば

Page 20: Multi Cloud Design Pattern(Beta)

20

足りないものを補う

Page 21: Multi Cloud Design Pattern(Beta)

21

No VM Scheduled Job

AzureのマネジメントサービスであるJob SchedulerのHTTP Request機能を使い、 AWSのAPI Gatewayにリクエストを飛ばしてLambda Functionを起動することで、

EC2やAzure VMを一切使わずに定時処理を行う。

Page 22: Multi Cloud Design Pattern(Beta)

22

特徴を踏まえて使い分ける

Page 23: Multi Cloud Design Pattern(Beta)

23

Enhanced Scaling

VM*1、ロードバランサ*2のスケーリングに優れたGCPでオンライン処理、 マネージドのジョブキューを持ち、Spot Instanceで費用を抑えられるAWSでバッチ処理を行う。

*1) Google Compute Engine Autoscaler発表。わずか数分で千インスタンスをスケーラブルに伸縮(http://www.publickey1.jp/blog/14/google_compute_engine_autoscaler.html) *2) GoogleのHTTPロードバランサーの破壊力があり過ぎる(http://qiita.com/kazunori279/items/8d2417c8510021c697e7)

Page 24: Multi Cloud Design Pattern(Beta)

24

課金体系の違いを活かす

Page 25: Multi Cloud Design Pattern(Beta)

25

Low Cost High Availability CDN

平常時は転送量課金が安い(というか無料) 国内クラウドからコンテンツ配信しつつ、 Route53のDNSフェイルオーバーでお手軽冗長化。 フェイルオーバー先及びコンテンツのマスターは、 堅牢性に定評のあるS3とする。

利用シーン • スモールスタートな画像・動画配信系サイトなど • 大容量コンテンツへのアクセス集中時の一時的処置 ※大きくなったらちゃんとお金を払ってCDN使うべき ※普通のサイトは平常だと転送量課金 < VM代金となる可能性有り

Page 26: Multi Cloud Design Pattern(Beta)

26

最近わりとよく聞くやつ

Page 27: Multi Cloud Design Pattern(Beta)

27

BigQuery for now

とりあえず、BigQueryに突っ込んどけば簡単に分析が初められる。 無理してEMR,HD Insight,Redshiftとか使わなくて良い。

若干意味合いが違いますが、一つに拘ると損をする典型例として。

Page 28: Multi Cloud Design Pattern(Beta)

28

他にもアイデアレベルでは色々 (未実証なのでここでは言いませんが)

Page 29: Multi Cloud Design Pattern(Beta)

29

パターンを考える時の ポイントや注意事項

Page 30: Multi Cloud Design Pattern(Beta)

ポイント や

注意事項

30

• 基本は同一クラウド内で解決できるかどうかを考える

• むやみに色々使うと管理コストが上がる

• レイテンシを考慮する

• 経路の暗号化は必須

• 転送量課金があることを念頭に置く

• ただ、データのみのやりとりだと意外と転送量課金は気にならないレベル

Page 31: Multi Cloud Design Pattern(Beta)

31

Multi Cloudを実現するために

Page 32: Multi Cloud Design Pattern(Beta)

実現のために

32

• 部分的な適用の場合はあまり気にしなくて良い

• フルに活用するためには管理コストを抑えることや、

必要に応じてマイグレーションできるようにしておく必要がある

→そもそも疎結合な作りにしておく

→再現性のあるインフラ≒Infrastructure as Code

Page 33: Multi Cloud Design Pattern(Beta)

33

そして、一番大事なこと

Page 34: Multi Cloud Design Pattern(Beta)

Most Important

34

動きの速いクラウドについて全てを熟知することは難しい。

実際もっと色々あるはずだけど、把握しきれていない。

アイデアがあっても中々実証レベルにたどり着かないこともある。

だけど、もっと色々な素敵なパターンがあるはず。

だから、皆でシェアしましょう。

Page 35: Multi Cloud Design Pattern(Beta)

35

しかし、同じやり方だと問題がある ※ユーザベースでやるためにはという話

Page 36: Multi Cloud Design Pattern(Beta)

問題点(私感)

36

• 新パターンの提案の敷居が高い

• 採用プロセスが不透明

• 管理者が決まっているので、管理者のモチベーションや忙しさに依存

• というか、事業者サイドで握っててユーザが入り込む余地がない?(AWS以外)

Page 37: Multi Cloud Design Pattern(Beta)

37

そこで

Page 38: Multi Cloud Design Pattern(Beta)

38

提案

Page 39: Multi Cloud Design Pattern(Beta)

39

ユーザによるユーザのための集合知

Page 40: Multi Cloud Design Pattern(Beta)

40

http://multi-cdp.github.io(仮)

Page 41: Multi Cloud Design Pattern(Beta)

41

Pull RequestとIssueを使った 透明性のある情報共有を

Page 42: Multi Cloud Design Pattern(Beta)

Rule(案)

42

• 新パターンの提案や修正はPull Requestにて行う

• 公平性を期すため、一度パターンが採用された人にはコミット権付与

• 古くなったパターンなどはIssueで議論の上削除・修正

• 最低限、実証済みのパターンのみを登録する

• 特定の事業者を貶めるような内容はNG

Page 43: Multi Cloud Design Pattern(Beta)

43

お願い

Page 44: Multi Cloud Design Pattern(Beta)

44

デザインとか誰か・・・

Page 45: Multi Cloud Design Pattern(Beta)

45

AWS,Azure以外の事業者様、 Cacooにアイコンを・・・

Page 46: Multi Cloud Design Pattern(Beta)

46

何卒、よろしくお願いしますm(_ _)m

Page 47: Multi Cloud Design Pattern(Beta)

まとめ

47

• CDPは偉大

• でも、垣根を越えればもっと素敵なパターンが有るはず

• ユーザによるユーザのための集合知を

• 透明性のあるプロセスで

• 協力待ってます:-)

Page 48: Multi Cloud Design Pattern(Beta)

48

最後にちょっとだけ

Page 49: Multi Cloud Design Pattern(Beta)

49

1.MCDP(仮)の実践したい方 2.イケてるクラウドインフラ上で IoTサーバサイド開発したい方 (主にPython, 一部Go, C++)

勤務地は東京 or 札幌で選べます。 ちなみに私的には2の方が重要w

Page 50: Multi Cloud Design Pattern(Beta)