Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fun tech#14 AlibabaCloud - EDAS(Enterprise Distributed Application Service)

97 views

Published on

FunTech#14に登壇した際の資料です。
https://fun-tech.connpass.com/event/150523/

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Fun tech#14 AlibabaCloud - EDAS(Enterprise Distributed Application Service)

  1. 1. EDASってなに?? -AlibabaCloudのマイクロサービスマネジメントプラットフォーム 2019/10/25 三原拓也
  2. 2. 自己紹介 2 三原 拓也 【所属】 NTTDATA 【普段の業務内容】 インフラ周りの設計・構築を担当。 AWS:6年 Azure:1年 AlibabaCloud 半年 【現在】 AlibabaCloudのプロフェッショナルサービスを提供するために、 SBクラウドさんに常駐して提案・開発を実施中。 【趣味】 トライアスロン・ボードゲーム 【出身】 福岡
  3. 3. こんな人に今日は聞いてほしい Fun techだと聞いているので・・・。 AlibabaCloudの新しいサービスを世の中に普及させたい そんなにソフトウェアアーキには詳しくない 新しいサービスの売り文句・使う動機が欲しい 「そもそも、マイクロサービスアーキに何がいるか知ってるよ」という方は20分、 「EDAS知ってるよ」という方は30分、そっと耳を閉じておいてください・・・。 フッターを追加 3
  4. 4. 本日の勉強会のゴール マイクロサービスアーキテクチャの概要が分かる EDASが何の略か分かる EDASを使うメリットが感じとれる フッターを追加 4
  5. 5. Agenda 今日のアジェンダ マイクロサービスアーキテクチャとは EDASとは EDASの機能紹介 フッターを追加 5
  6. 6. そもそも、マイクロサービスアーキテクチャとは 小さな単位にアプリケーションを分割したアーキテクチャ フッターを追加 6 クライアント Service A Service B Service C • アプリケーションを小さな単位に分割する。 • 運用性、可用性、拡張性に優れる
  7. 7. そもそも、マイクロサービスアーキテクチャとは 小さな単位にアプリケーションを分割したアーキテクチャ フッターを追加 7 クライアント Service A Service B Service C • Service Dを追加しても、影響があるのは、Service C のみ。影響箇所が限定される。 Service D
  8. 8. そもそも、マイクロサービスアーキテクチャとは 小さな単位にアプリケーションを分割したアーキテクチャ フッターを追加 8 クライアント Service A Service B Service C • Service Aをスケールアウトさせること で、性能向上。 • Service Aをロードバランスすることで、 耐障害性を向上 Service A Service A Service A
  9. 9. マイクロサービス フレームワークって?(Spring Cloud) マイクロサービスアーキテクチャを構築するうえで、便利なツールの集合体 フッターを追加 9 https://spring.io/
  10. 10. マイクロサービス フレームワークって?(Spring Cloud) マイクロサービスアーキテクチャを構築するうえで、便利なツールの集合体 フッターを追加 10 https://spring.io/ • Service Discovery(Eureka) ロードバランシングとスマートルーティングを実現するためのディレクトリ • Circuit Breaker(Hystrix) 障害発生時の影響を最小化させるための機能 • Configuration Server (Config) コンフィグレーション • API Gateway(Zuul) 利用者にAPI EndPointを提供するための機能 • Distributed Tracing(Sleuth) 分散システム上に流れるトランザクションのトレーシング機能 他にもたくさん。
  11. 11. マイクロサービス フレームワークの機能紹介 Service Discovery – 性能/耐障害性を高めるためには欠かせない機能。DNSみたいなもの。 フッターを追加 11 クライアント Service A Service B Service C Service Directory • ServiceCの利用量が上がってきた!このままでは処理で きない!!
  12. 12. マイクロサービス フレームワークの機能紹介 Service Discovery – 性能/耐障害性を高めるためには欠かせない機能。DNSみたいなもの。 フッターを追加 12 クライアント Service A Service B Service C Service Directory • ServiceCをスケールアウト Service C ServiceC 192.168.10.1
  13. 13. マイクロサービス フレームワークの機能紹介 Service Discovery – 性能/耐障害性を高めるためには欠かせない機能。DNSみたいなもの。 フッターを追加 13 クライアント Service A Service B Service C Service Directory • ServiceCのレコードが追加 Service C ServiceC 192.168.10.1 ServiceC 192.168.10.2
  14. 14. マイクロサービス フレームワークの機能紹介 Service Discovery – 性能/耐障害性を高めるためには欠かせない機能。DNSみたいなもの。 フッターを追加 14 クライアント Service A Service B Service C Service Directory • ServiceAがServiceCにアクセスする際、まず、 ServiceDirectoryにアクセス。 • そこで、ServiceDirectoryが新しいServiceCのIPを返 却。 Service C ServiceC 192.168.10.1 ServiceC 192.168.10.2
  15. 15. マイクロサービス フレームワークの機能紹介 Circuit Breaker – 障害の影響を局所化 フッターを追加 15 https://qiita.com/okumin/items/d7a108ea36f3ad2e3882
  16. 16. マイクロサービス フレームワークの機能紹介 Circuit Breaker – 障害の影響を局所化 フッターを追加 16
  17. 17. マイクロサービス フレームワークの機能紹介 Circuit Breaker – 障害の影響を局所化 フッターを追加 17 1. 依存リソースが返すエラー数を記録 2. エラーの数が閾値を超えると fail-fast モードへ 3. fail-fast モードに移行すると、依存リソースへのアクセスを 諦めてすぐにエラーを返すようになる 4. fail-fast モードに移行してしばらく経つと、正常モードに戻 ろうとする
  18. 18. マイクロサービスのメリデメ 世の中全てのものにはメリデメがある。 • Microserviceの良い点 • 技術負債は返しやすいので技術選定の心理的負担が比較的低い • 障害の局所化 • 全死のリスクが低い • 開発が並行で出来やすい • 複雑な環境下では逆に他の方法ではうまく行かない • 課題と思う点 • 技術的には統制効きにくい (カオスを受け入れる) • 運用は自動化込みじゃないと難易度が上がる • 各サービスでプロダクトマネジメントの観点が必要 • 各サービスでオーナーをしっかり仕立てていく必要がある フッターを追加 18
  19. 19. マイクロサービス フレームワークって?(他には?) Spring Cloud以外にもマイクロサービスアーキテクチャフレームワークは存在する。 フッターを追加 19  Apache DubboはJavaをベースにした、オープンソースのリモート プロシージャコールフレームワーク。  元々はAlibabaで開発されたもので、2011年にオープンソースと して公開され、2018年2月にApache Incubatorに入った。  Dubboは、インターフェイスベースのリモートコール、フォールトトレラ ンスとロードバランシング、自動サービス登録および検出などを、主 要な機能として提供する。
  20. 20. マイクロサービスアーキテクチャ フレームワークって? SpringCloudとDubboの機能比較。SpringCloudのほうがツール群は充実している。 フッターを追加 20 Dubbo Spring Cloud Service registry Zookeeper Spring Cloud Netflix Eureka Service call method RPC REST API Service gateway no Spring Cloud Netflix Zuul breaker imperfect Spring Cloud Netflix Hystrix Distributed configuration no Spring Cloud Config Service tracking no Spring Cloud Sleuth Message bus no Spring Cloud Bus data flow no Spring Cloud Stream Batch task no Spring Cloud Task ...... ...... ......
  21. 21. Agenda 今日のアジェンダ マイクロサービスアーキテクチャとは EDASとは EDASを使うメリット フッターを追加 21
  22. 22. EDASとは Enterprise Distributed Application Service • アプリケーションリリース/マネジメント • GUIから複数インスタンスへのアプリケーションリリース • スケールアップやスケールダウンなどのリソース変更 • アプリケーション実行状況のモニタリング • コンポーネント毎のCPU/メモリ/ネットワーク使用率確認 • 様々なマイクロサービスフレームワークに対応 • SpringCloud/Dubbo/HSFに対応。 →HSFはAlibabaGroupがあちこちで使用しているフレームワーク フッターを追加 22 マイクロサービスアーキテクチャフレームワークが提供する機能をPaaSとして提供してる。
  23. 23. EDAS マイクロサービスアーキテクチャをサポートするPaaSって、意外と少ない。 フッターを追加 23
  24. 24. EDASのライセンス体系 Standard/professional/Platinumが存在 • Standard 基本的な機能のみを具備 • リリースできるモジュールの種類や対応しているフレームワークなどは 他のEditionと同じ。 • サポート対応や可用性・運用性を高める機能が利用できない • 500インスタンスが利用上限 • とりあえず、APを手軽にデプロイして動かしたい人向け! • Professional 可用性および運用性を向上させる機能が利用可能 • アプリケーションヘルスチェック/流量制御の機能などが利用可能 • 商用サービスを提供するなら必須! • Platinum プロモーション実施時の一時的なトラフィック増などにも個別サポート • ガチ フッターを追加 24 https://www.alibabacloud.com/help/doc-detail/29505.htm?spm=a2c63.p38356.b99.6.415572e4MIldLi
  25. 25. EDASの課金体系 利用するEditionとインスタンス台数に依って決定。 フッターを追加 25 Maximum number of ECS instances Standard Edition(USD/month) Professional Edition(USD/month) Platinum Edition(USD/month) 5 1 153 6,858 10 1 458 6,858 20 1 915 6,858 50 686 2,286 6,858 100 1,143 3,810 11,430 200 1,829 6,096 18,288 300 2,469 8,230 22,860 400 2,744 9,144 27,432 500 3,086 10,287 30,860 500+ Not For Sale 15,240 45,719 ※ ECS自体の料金は含まれていない。
  26. 26. Agenda 今日のアジェンダ マイクロサービスアーキテクチャとは EDASとは EDASを使うメリット フッターを追加 26
  27. 27. EDAS vs Do It YourSelf EDASが提供する機能の一部をご紹介 フッターを追加 27 システムセットアップ ECSよびK8Sクラスタをサポートしており、GUIからIaaSレイヤを指定してローンチすることが可能。 アプリケーション管理  CodePipelineと統合してCICDパイプラインの一元管理 (※CodePipeLineは中国サイトにしか存在しない)  GUI上からアプリケーション(war,jar,dockerImage)リリース可能  他の環境に構築しているDubbo/SpringFrameworkで構築したAPも、アノテーションを変更するだけでEDASで管理可能。 モニタリング  ホスト監視、コンテナ監視、JVM監視、サービス監視をサポート  リアルタイムにログの表示、ログの収集も可能  アプリケーション診断機能もあり、GC診断、ホットスポット分析、スレッドスタックスナップショット  モニタリングした際、異常値はメールとして送信する機能も具備。 これらが、GUIで操作可能。SpringCloudだと、このあたりを自前で構築していかなければいけない。
  28. 28. 基本画面 Start,Stop,Deploy,RollBack,ScaleOut。結構なんでもGUIでできる フッターを追加 28
  29. 29. アプリケーションデプロイ フッターを追加 29
  30. 30. ヘルスチェック PortもURL監視も可能 フッターを追加 30
  31. 31. ログチェック ログの一覧、サイズまで確認できる フッターを追加 31
  32. 32. ログチェック フッターを追加 32
  33. 33. モニタリング フッターを追加 33
  34. 34. 最後に マイクロサービスアーキテクチャの概要が分かる EDASが何の略か分かる EDASを使うメリットが感じとれる フッターを追加 34
  35. 35. おまけ 今日のアジェンダ マイクロサービスアーキテクチャとは EDASとは EDASを使うメリット 【おまけ】作っていて、はまったポイント フッターを追加 35
  36. 36. そもそも、購入先URLが見つけ出せなかった。 サポートとやりとりして入手。 フッターを追加 36 ※うまく購入画面に遷移できない場合は、下記からアクセス https://common-buy-intl.alibabacloud.com/?commodityCode=edaspostpay_intl#/buy
  37. 37. VPCがいつまでたってもSyncしない フッターを追加 37 ヒント:待つ
  38. 38. ご清聴、ありがとうございました! フッターを追加 38

×