インフラ領域の技術スタック
や業務内容について紹介
株式会社マイクロアド
システム開発部 基盤開発グループ
チーフエンジニア 永富 安和 ( @yassan168 )
#MicroadDevs
2022年【23卒/24卒エンジニア】オンライン勉強会
「オンプレ環境とクラウドのハイブリッド運用の活用事例」
#MicroadDevs
今日の話の流れ
1. どの様な技術を使っているか
2. 業務内容について
3. 基盤開発グループの体制について
4. マイクロアドのインフラの魅力
5. 基盤開発グループのミッション
6. 業務を行う上で大切にしていること
2
#MicroadDevs
どの様な技術を使っているか(その1)
環境 オンプレミス、AWS、GCP
ネットワーク環境
&ネットワーク機器
IP Clossネットワーク
WhiteBox Switch(Cumulus Linux)、Arista、Juniper
言語 Python、Golang、Java
バージョン管理 Git (GitHub Enterprise)
コラボレーションツール Slack、JIRA、Confluence、Google Workspace、Workplace
基盤開発グループで用いている技術は以下の通り
3
#MicroadDevs
どの様な技術を使っているか(その2 ミドルウェア)
)
プロビジョニング OS→ MAAS(Metal-As-A-Service)、クラウド→ Terraform
構成管理→ Ansible、AWX(Red Hat Ansible Automation PlatformのOSS版)
RDBMS MySQL、PostgreSQL
KVS Redis
分散処理基盤 CDH (Cloudera's Distribution including Apache Hadoop)
HDFS、Hive、Impala、Spark(Spark Streaming)、Flume、Kafka
仮想化基盤 OpenStack
Docker、Kubernetes(Rancher、RKE2)
監視基盤 Prometheus・VictoriaMetrics/Grafana、Elasticsearch/Kibana、
Datadog
バッチ Digdag(Treasure Dataが主体で開発するOSSのワークフローエンジン)
その他 Fluentd、Nginx 4
#MicroadDevs
業務内容について
国内最大級のデータプラットフォームのシステムインフラの設計・構築・運用
主な業務概要
1. 約1,400台の物理サーバをデータセンターで運用
2. IP Closネットワークの設計・構築・運用
3. Docker、Kubernetes、OpenStack を用いた仮想基盤の設計・構築・運用
4. Hadoopエコシステムを活用したデータ基盤の設計・構築・運用
5. バッチやCIで用いるクレデンシャルやアクセス権限の管理
6. 運用の自動化や監視の強化などインフラ環境の改善
7. 新しい技術の検証、導入
8. パブリッククラウド(GCP・AWS)の運用管理
9. 既存システムにおけるパフォーマンスチューニング 5
#MicroadDevs
約1,400台の物理サーバをデータセンターで運用
データセンターにて、約1,400台の物理サーバやネットワークスイッチを運用。
機器の調達から設置、構築まで全て行っている。
台数が多いので1台ずつ手作業で構築するのは手間がかかりすぎるので、
可能な限り自動化を行う。
OSのインストールについては、Canonical社のMAASを用いて自動化。
その後、用途に応じたセットアップは、独自のスクリプトやAnsibleを用いて自動化し
ている。
6
#MicroadDevs
HDFSで採用している物理サーバのH/W紹介
Hadoopクラスタには、以下のようなマルチノードクラスタを用いて
1ラックあたりの集積度を上げて効率化しています。
7
#MicroadDevs
IP Closネットワークの設計・構築・運用
こちらについては、このあとのセッションにて。
8
#MicroadDevs
Docker、Kubernetes、OpenStack を用いた仮想基盤の設計・構築・運用
例)DigdagとDockerコンテナを用いたバッチサーバ
PostgreSQL
S3 Docker Daemon
Digdag Server Host 01
Aジョブ用
Cジョブ用
・・・
Digdag
Server
Docker Daemon
Digdag Server Host XX
Bジョブ用
Dジョブ用
・・・
Digdag
Server
Aジョブ用
イメージ
Bジョブ用
イメージ
ジョブをコンテナ化しているのでどちらかのDigdag Serverで動く
ホストの
縮退が可能
S3のファイルを
フラグ的に使って
ジョブ間の依存を解決
管理情報を参照
9
#MicroadDevs
Hadoopエコシステムを活用したデータ基盤の設計・構築・運用
データセンター内にHadoopクラスタを構築。
必要なリソースを見積もり、将来を見越しながら運用している。
Cloudera Manager
ログ転送
広告配信サーバ等
各種サーバ
管理・監視
オンプレ GCP
BigQuery
Impala
参照 参照
利用
データ基盤概要
10
#MicroadDevs
バッチやCIで用いるクレデンシャルやアクセス権限の管理
クレデンシャルの管理
クレデンシャルとは、DBのアクセス情報やAWS S3アクセストークンなどの事。
開発する上で必要になるがクレデンシャルの中身は簡単に見えるようにしたくない。
そこで、Ansibleを用いてクレデンシャルを暗号化し、変数として扱えるようにして
バッチから利用出来るようなしくみを構築して運用しています。
アクセス権限の管理
以下に対してどの様に権限を付与するか検討し、必要最小限の権限を付与する。
● 各種サーバへのSSHリモートアクセス
● 開発向けWebサービス(GitHub Entrerprise、Jenkins、コンテナレジストリetc)
● AWS・GCPの各種サービス 11
#MicroadDevs
運用の自動化や監視の強化などインフラ環境の改善
繰り返し発生する作業のうち、手順化出来ている作業はコード化して
自動化出来るようしくみを構築して、手作業によるミスを無くすようにしてます。
例えば以下
● クレデンシャルの管理
● SSHリモートアクセス管理
● ミドルウェアのインストール
● 監視のアラート設定
また、構築したシステムを監視出来るようにPromethuesを使って、
取得出来るメトリクスを増やし、異常を補足できるようにアラートを設定しています。
12
#MicroadDevs
新しい技術の検証・導入
これまで利用していなかった技術を検証し、
効果がありそうと判断したら導入するまで対応していきます。
そこで大事なのは「新規性」ではなく、
「現状の課題(技術・コスト)を解決可能」かつ「継続して利用可能」である事とな
ります。
ただし、導入するための技術的な難易度や運用時の手間も考慮して判断しています。
例: Promethuesの長期メトリクス保存のためのVictoriaMetricsの導入
13
#MicroadDevs
パブリッククラウド(GCP・AWS)の運用管理
各種サービスを適切に利用できるように整備する。
● オンプレ環境と接続するためのネットワーク設定
● VPC管理
● IAM、サービスアカウントといったアクセス権限の管理
● 利用するサービスのリソースの作成
○ VMインスタンス、S3・GCSバケット、GKEクラスタなどなど
大事にしていること
● 安全に利用できること
● コスト
● 最小権限の原則に基づいて権限を考慮すること
14
#MicroadDevs
既存システムにおけるパフォーマンスチューニング
以下のような理由でパフォーマンス改善を行うこともあります
● 構築時の想定と異なる利用した影響でパフォーマンスが落ちる
● 要求するスペックが上がる
● ダッシュボードを見た際に想定よりパフォーマンスが悪い
などなど
チューニングの際は、観点となるメトリクスをGrafanaのダッシュボードを見なが
ら、改善していきます。
15
#MicroadDevs
基盤開発グループの体制
左図のようなロールで構成している。
各々の得意分野や今後の技術的志向に合わせて
タスクを分担して対応している。
その為、XXエンジニアだから●●な雑務をするといっ
た様なアサインはしない。
新人でも出来ると判断したらどんなタスクでも
アサインされる(サポート付けて相談しながら進める
場合もある)。
統括
シニアエンジニア
チーフエンジニア
エンジニア
16
#MicroadDevs
マイクロアドのインフラの魅力 その1
広告に由来する大規模データとトラフィックを支える巨大なインフラ環境に携われる
● 秒間30万件のリクエストを 100 msec 以下で捌く広告配信システム
● メインのデータレイクは約40TB/日の書き込み、総量が約2ペタバイト
基盤開発グループ視点での魅力
● 上記を支える約1,400台の物理サーバをデータセンターで運用
● AWS、GCPなどのパブリッククラウドサービスも併用
● Ansibleなどによる自動化で、容易かつ再現性のあるインフラ構築を実現
17
#MicroadDevs
マイクロアドのインフラの魅力 その2
広範なインフラ領域の様々な業務に取り組むことができる
近年に行った新規導入、検証、各種改善の例
● データセンターの移設
● IP Closネットワークの導入
● Rancher(& RKE2)によるKubernetes環境の導入
● CentOS以外のOSとしてUbuntuの導入
● Prometheus及びLong-term StorageとしてのVictoriaMetricsの利用
● GrafanaダッシュボードのIaC運用の導入
18
#MicroadDevs
基盤開発グループのミッション
アプリ開発や機械学習のチーム向けに安全で最適なプラットフォームを提供する
各チーム 基盤開発グループ
XX用サーバを追加して欲しい
GCPに新しいプロジェクトが欲しい
XXってミドルウェアを導入て欲しい
19
#MicroadDevs
大事にしている事
各所から要望に対して「顧客が本当に必要だったもの」が何かを意識する。
「何を実現したいのか?」を明らかにして、必要であればオンプレにこだわらず、
パブリッククラウドを活用するなど柔軟に対応する。
出典: https://www.businessballs.com/amusement-stress-relief/tree-swing-cartoons-new-versions/ 20
#MicroadDevs
大事にしている事
目標の達成にこだわる
緊急度と重要度を天秤にかけながら「達成すべきこと」を考えた行動が求められる。
例1)障害が発生した際
障害の原因究明は大事だが、復旧が遅れるのもまずいので、
ある程度の段階で原因が特定出来なければ、復旧を優先する。
例2)新機能の検証の際
ベストの方法はXXXだけど、やりたかった事は出来ているし、
運用面もクリア出来ているので、期日の問題もあるので、ベターな方法をとる。
など。
21
#MicroadDevs
振り返り
1. どの様な技術を使っているか
2. 業務内容について
3. 基盤開発グループの体制について
4. マイクロアドのインフラの魅力
5. 基盤開発グループのミッション
6. 業務を行う上で大切にしていること
22
補足(MicroAd Developers Blog)
● ケーブリングを改善した話
https://developers.microad.co.jp/entry/2022/06/27/100000
● strongSwanとFRRでオンプレとGCPをVPN接続
https://developers.microad.co.jp/entry/2022/05/30/100000
● CDH (Hadoop) 入門
https://developers.microad.co.jp/entry/2021/09/21/063000
● redis threadedI/Oの検証
https://developers.microad.co.jp/entry/2021/06/28/063000
23
補足(MicroAd Developers Blog)
● Ansible AWXでMySQLの構成管理を行う
https://developers.microad.co.jp/entry/2019/06/07/190000
● MAASを導入した話
https://developers.microad.co.jp/entry/2020/09/29/063000
24
補足(SlideShare)
● Cumulus Linuxを導入したワケ
https://www.slideshare.net/microad_engineer/cumulusug20191120
● Hadoopデータ基盤とMulti-CloudなML基盤への取り組みの紹介
https://www.slideshare.net/microad_engineer/camphorinfra20191005
25

More Related Content

PDF
Dockerからcontainerdへの移行
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
PDF
知っているようで知らないPAMのお話
PDF
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
PPTX
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
PDF
忙しい人の5分で分かるDocker 2017年春Ver
PDF
アドテクを支える技術 〜1日40億リクエストを捌くには〜
PPTX
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
コンテナ未経験新人が学ぶコンテナ技術入門
知っているようで知らないPAMのお話
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
NTTデータ流Infrastructure as Code~ 大規模プロジェクトを通して考え抜いた基盤自動化の新たな姿~(NTTデータ テクノロジーカンフ...
忙しい人の5分で分かるDocker 2017年春Ver
アドテクを支える技術 〜1日40億リクエストを捌くには〜
Dockerからcontainerdへの移行

What's hot (20)

PDF
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
PDF
ソーシャルゲームのためのデータベース設計
PDF
RDF Semantic Graph「RDF 超入門」
PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
PPTX
マイクロサービスにおける 結果整合性との戦い
PPTX
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
PDF
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
PDF
アドテクを支える技術 〜1日40億リクエストを捌くには〜
PPTX
コンテナネットワーキング(CNI)最前線
PDF
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
PDF
Kubernetesによる機械学習基盤への挑戦
PDF
MagicOnion入門
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
PDF
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
マイクロサービスに至る歴史とこれから - XP祭り2021
ソーシャルゲームのためのデータベース設計
RDF Semantic Graph「RDF 超入門」
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
Docker道場オンライン#1 Docker基礎概念と用語の理解
Azure Api Management 俺的マニュアル 2020年3月版
マイクロサービスにおける 結果整合性との戦い
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
アドテクを支える技術 〜1日40億リクエストを捌くには〜
コンテナネットワーキング(CNI)最前線
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
40分でわかるHadoop徹底入門 (Cloudera World Tokyo 2014 講演資料)
Kubernetesによる機械学習基盤への挑戦
MagicOnion入門
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Ad

Similar to インフラ領域の技術スタックや業務内容について紹介 (20)

PDF
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
PPTX
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
PDF
Open Hybrid Cloudを検討すべき理由.pdf
PPTX
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
PDF
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
PDF
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
PDF
くまあず Nchikita 140628-2
PDF
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
PDF
20151029 ヒカラボ講演資料
PDF
株式会社waja 安藤様 登壇資料
PDF
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
PDF
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
PDF
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
PPTX
アーキテクトが主導するコンテナ/マイクロサービス/サーバーレスのセキュリティ
PDF
ToolChainを使った次世代DevOps環境の作り方
PDF
Iot algyan jhirono 20190111
PPTX
de:code2018 登壇資料
PDF
3Dリッチコンテンツビジネス活用のご提案ver3.1
PDF
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
PPTX
CloudConductorの特長と最新動向(OSSユーザーのための勉強会#7)
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
Qiita x Microsoft - 機械学習セミナー Microsoft AI Platform
Open Hybrid Cloudを検討すべき理由.pdf
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
機械学習応用システムのアーキテクチャ・デザイパターン(2020-07 ドラフトバージョン))
Tier Ⅳ Tech Meetup #2 - 自動運転を作るのはCloudシステムの集合体?? 活用技術を大解剖 -
くまあず Nchikita 140628-2
【CNDT2022】SIerで実践!クラウドネイティブを普及させる取り組み
20151029 ヒカラボ講演資料
株式会社waja 安藤様 登壇資料
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
Web制作会社様向け 知って得するMicrosoft Azureの概要と使い方!
OSC 2012 Microsoft Session [マイクロソフトの魅せるセンサー×クラウド技術]
アーキテクトが主導するコンテナ/マイクロサービス/サーバーレスのセキュリティ
ToolChainを使った次世代DevOps環境の作り方
Iot algyan jhirono 20190111
de:code2018 登壇資料
3Dリッチコンテンツビジネス活用のご提案ver3.1
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
CloudConductorの特長と最新動向(OSSユーザーのための勉強会#7)
Ad

More from MicroAd, Inc.(Engineer) (20)

PDF
20240229 DEIM2024 【技術報告】広告配信における安定して拡張性のある大量データ処理基盤の必要性と活用
PDF
Kafka Connect:Iceberg Sink Connectorを使ってみる
PDF
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
PDF
Chromeの3rd Party Cookie廃止とインターネット広告への影響
PDF
ベアメタルで実現するSpark&Trino on K8sなデータ基盤
PDF
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
PDF
InternetWeek2022 - インターネット広告の羅針盤
PDF
マイクロアドにおけるデータストアの使い分け
PDF
データセンターネットワークの構成について
PDF
RTBにおける機械学習の活用事例
PDF
アドテクに機械学習を組み込むための推論の高速化
PDF
マイクロアドのデータ基盤について アドテクを支える基盤〜10Tバイト/日のビッグデータを処理する〜
PDF
RTBにおける機械学習の活用事例
PDF
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
PDF
Digdagを用いた大規模広告配信ログデータの加工と運用
PDF
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
PDF
インターネット広告の概要とシステム設計
PDF
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
PDF
Cumulus Linuxを導入したワケ
PDF
マイクロアドのアドテクを支える技術
20240229 DEIM2024 【技術報告】広告配信における安定して拡張性のある大量データ処理基盤の必要性と活用
Kafka Connect:Iceberg Sink Connectorを使ってみる
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Chromeの3rd Party Cookie廃止とインターネット広告への影響
ベアメタルで実現するSpark&Trino on K8sなデータ基盤
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
InternetWeek2022 - インターネット広告の羅針盤
マイクロアドにおけるデータストアの使い分け
データセンターネットワークの構成について
RTBにおける機械学習の活用事例
アドテクに機械学習を組み込むための推論の高速化
マイクロアドのデータ基盤について アドテクを支える基盤〜10Tバイト/日のビッグデータを処理する〜
RTBにおける機械学習の活用事例
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
Digdagを用いた大規模広告配信ログデータの加工と運用
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
インターネット広告の概要とシステム設計
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
Cumulus Linuxを導入したワケ
マイクロアドのアドテクを支える技術

Recently uploaded (10)

PPTX
Vibe Codingを触って感じた現実について.pptx .
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Vibe Codingを触って感じた現実について.pptx .
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回

インフラ領域の技術スタックや業務内容について紹介