SlideShare a Scribd company logo
1 of 25
Tableau Server Client(Python)
でできる3000人規模の
サーバーレス運用管理
株式会社サイバーエージェント
全社システム本部 鷹雄 健
1.自己紹介
2.サイバーエージェントについて紹介
3.サイバーエージェントのTableau Server
4.Tableau の運用
5.Tableau Server Clientのすすめ
自己紹介
鷹雄 健(Ken Takao)
• 2011年1月 CyberAgent America, Inc.入社
• 2014年3月 本社アドテク本部へ帰任
インフラ責任者
• 2019年8月 全社システム本部へ異動
資格:
Tableau Server Qualified Associate
Tableau Desktop Qualified Associate
8th Tableau Data Saber
AWS Solution Architect Professional
趣味:Tableau Serverの管理
サイバーエージェントにつ
いて紹介
サイバーエージェントの
Tableau Server
Tableau Server導入の歴史
• 2014年 Tableau Serverを導入
サーバー1台
• 2015年 Core Licenseを導入
ハイスペックサーバー2台(Active/Standby)
• 2016年 CAグループ全体で利用開始
• 2017年 AbemaTVでの利用が本格的に
• 2018年 Core LicenseからUser LicenseへConvert
ハイスペックサーバー2台(Active/Active)
• 2019年 AWS環境に冗長環境を構築 超高速化
ハイスペックサーバー3台(冗長化環境 3Active)
ライセンスコンバートとは
• 旧ライセンス体系から新ライセンス体系に移行することにより、
買切りからサブスクリプション型へ
Tableau Server/Desktopのライセンスが統合されてお得に。
このタイミングで買切りのCoreライセンスからサブスクリプション型の
Userライセンスへ切り替えた
• 2018年5月にライセンス体系の変更
• 2018年10月日本初のCoreからのライセンスコンバートを実施
Core to User base license
User型のライセンスでは、NodeやCPUコア数制限は無し
Backgrounder Process
12->66
CPU Core
16->144
Core to User base license
• Backgrounderタスクの遅延が減少
遅延時間は400分から40分へ
サブスクリプションは即時送信
Core to User base license
• ライセンスがシンプルに
今まで
Tableau Desktop/Server
それぞれライセンス費用がかかる
↓
これから
Tableau Server上でCreatorを使っている人はDesktopも使える!
Tableau の運用
Tableau の運用
• ライセンスの管理
新規購入
ライセンスの配布
ライセンスの棚卸
費用計算
請求管理
• サーバーの管理
インストール
サーバーの増強・チューニング
障害対応
不具合調査対応
バックアップ
データ復元
バージョンアップ
スケジュール作成
サイト作成
ドライバ追加
Tableau Server Client(Python)
Tableau Server Clientとは
Tableau REST APIのラッパー
REST APIで出来ることは大体できる。
・データソース管理
・Jobの管理
・プロジェクトの管理
・スケジュールの管理
・サイトの管理
・ユーザーの管理
・ワークブック・Viewの管理
https://tableau.github.io/server-client-python/
CAでの活用事例
• Tableau のライセンス管理システム
Tableau Server上でCreatorのライセンスを利用している人にTableau Desktopで利用可能な
ライセンスを払い出すシステム
• Tableau ServerにRPAツールからアクセスする際のデータエクスポートツール
ライセンス管理システム
Tableau Server 上で、Creatorユーザーには
ライセンスコードを払い出すシステム
(説明用に作った遷移図で、実際の挙動とは少し違うかも)
既にライセンスコードを取得済みの場合、表示するだけ
ライセンスコードがまだ無く、Creatorロールが割当たっている方
ライセンスコードがまだ無く、
Creatorロールが割当たっている方なんだけど、
在庫が無い場合ライセンスコードがまだ無く、Creatorロールが割当たっていない方
MSG: 現在あたなはTableau Server上で
Creator権限が設定されていません。
ライセンスコードを取得するにはCreator権限の設定が必要になります。
利用されるサイト管理者へお問い合わせ下さい。
MSG=現在あなたはCreator権限を取得していますが
現在ライセンスコードの在庫が枯渇しているため発注中です。
MSG = こんにちは!あなたのライセンスコードは{$license}です。
こんな感じ
• 認証はTableau Serverの認証にも利用しているPing
Identityを利用。ログインすると社員番号の情報をシス
テムへ提供する。
• 社員番号の情報を元に、既にライセンスを取得済みの
場合は本人のライセンス番号を表示する。
• 利用しなくなった場合はライセンスコードの返却が可
能。
• ライセンスコードはTableau Creator以外のライセンス
に変更しないと返却ができないようになっている。
• 退職者は自動でライセンスが返却されるように。
システムアーキテクチャ
Amazon API Gateway
AWS Cloud
AWS
Lambda
Tableau
Server
Google
Spreadsheets
(DBとして利用)
ユーザー
サーバーレスアーキテクチャのメリット
• 費用がかからない
常にサーバーが起動している必要が無い。(ライセンスが必要なのって、1ヶ月に多く
ても数十人(数十回のアクセス)
そのためにサーバーを随時挙げているのは勿体ない。利用した時間だけ費用が発生。
• サーバー管理の必要が無い
Tableau Serverの管理だけでおなかいっぱい。
サーバーを管理する時代ではなく、プログラムを管理する時代に。
• 障害対応の必要が無い
プログラムが動いているだけ。
バグが無ければ何も対応が要らない。
障害監視すら要らない。何か起こればAWSかGoogleがどうにかするはず。
• Google Spreadsheetsをデータベースとして利用することにより、誰でも柔軟に
イレギュラー対応が可能。(この人は特別にこの部署へ請求とか。)
RPA用データエクスポートツール
・SSO環境でもID/PWでCSVデータを取得可能
・PDFもダウンロードができる(おまけ)
・クロス集計表はβ(不具合あり)
クロス集計表エクスポートは現在tabcmdや
REST APIでサポートされていない。
PDF のTextデータを抽出してクロス集計表
CSVデータを出力している。
(超パワープレイ。一部制約・回避策有り)
まとめ
• 大人数の利用を想定するのであれば、
簡単なPythonが書けると大幅に運用コストが減らせる。
• Tableau Server Python Clientはサーバレス環境(AWS Lambda)で利用が可能。
ツールのためのサーバーを管理する必要は無い。
• 今後ユーザー会で運用スクリプトを共有していけば
みんながハッピーになれるはず!?
ありがとうございました

More Related Content

What's hot

45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
 

What's hot (20)

アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
 
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
 
Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説Prometheus入門から運用まで徹底解説
Prometheus入門から運用まで徹底解説
 
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
 
MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
 
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
 
MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編MySQL 5.7 トラブルシューティング 性能解析入門編
MySQL 5.7 トラブルシューティング 性能解析入門編
 
ブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせるブレソルでテラバイト級データのALTERを短時間で終わらせる
ブレソルでテラバイト級データのALTERを短時間で終わらせる
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
BigQueryの課金、節約しませんか
BigQueryの課金、節約しませんかBigQueryの課金、節約しませんか
BigQueryの課金、節約しませんか
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 

Similar to Tableau Server Client(Python) でできる3000人規模の サーバーレス運用管理

Similar to Tableau Server Client(Python) でできる3000人規模の サーバーレス運用管理 (20)

AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
AWSからOpenStack, Chef SoloからChef Serverに インフラを置き換えた事例の紹介
 
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
JNSA西日本支部 技術研究WG AWSを使ったセキュアなシステム構築
 
Questetra meet up_swx
Questetra meet up_swxQuestetra meet up_swx
Questetra meet up_swx
 
Cloudworks Presentation Mar 2010
Cloudworks Presentation Mar 2010Cloudworks Presentation Mar 2010
Cloudworks Presentation Mar 2010
 
開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング開発者におくるサーバーレスモニタリング
開発者におくるサーバーレスモニタリング
 
Azuredevopsakskeda
AzuredevopsakskedaAzuredevopsakskeda
Azuredevopsakskeda
 
20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes20211109 JAWS-UG SRE keynotes
20211109 JAWS-UG SRE keynotes
 
Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2
 
会社概要_株式会社サーバーワークス
会社概要_株式会社サーバーワークス会社概要_株式会社サーバーワークス
会社概要_株式会社サーバーワークス
 
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
[CTO Night & Day 2019] CTO のための一歩進んだコンテナ入門 #ctonight
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
[CTO Night & Day 2019] AWS Amplify で Web/Mobile 爆速スケーラブル Serverless 開発 #ctonight
 
DevOps with Database on AWS
DevOps with Database on AWSDevOps with Database on AWS
DevOps with Database on AWS
 
アウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもするアウトプットはスキルアップもするしトクもする
アウトプットはスキルアップもするしトクもする
 
AWS Black Belt Techシリーズ AWS Data Pipeline
AWS Black Belt Techシリーズ  AWS Data PipelineAWS Black Belt Techシリーズ  AWS Data Pipeline
AWS Black Belt Techシリーズ AWS Data Pipeline
 
HBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejpHBase Meetup Tokyo Summer 2015 #hbasejp
HBase Meetup Tokyo Summer 2015 #hbasejp
 
Azure Service Fabric 概要
Azure Service Fabric 概要Azure Service Fabric 概要
Azure Service Fabric 概要
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
 
Aws first step_v2
Aws first step_v2Aws first step_v2
Aws first step_v2
 

Recently uploaded

Recently uploaded (12)

論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

Tableau Server Client(Python) でできる3000人規模の サーバーレス運用管理