Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ghe_ameba_arekore
Search
kakerukaeru
September 26, 2016
Technology
2
2.2k
ghe_ameba_arekore
kakerukaeru
September 26, 2016
Tweet
Share
More Decks by kakerukaeru
See All by kakerukaeru
大規模ImageOptimizer利用案件から学ぶ 安心安全のCDN移行 / Fastly yamagoya 2022
kakerukaeru
1
1.4k
事業と歩む Ameba システム刷新の道 / the-road-to-ameba-system-renovation-aws-summit-online
kakerukaeru
0
2k
事業と歩むAmebaシステム刷新の道 / the-road-to-ameba-system-renovation-cadc
kakerukaeru
0
670
The Shining / ~all work and no play makes jack a dull boy~
kakerukaeru
0
440
AmebaとCDNのお付き合いの歴史 / ameba cdn waiwai
kakerukaeru
0
140
fastlyでええかんじにサイトリニューアル @ Yamagoya Meetup 2018 / e-kanzi Website renewal with fastly
kakerukaeru
0
620
20160907_Akamai_Tech_Deep_Dive
kakerukaeru
0
2.2k
はじめるCassandra
kakerukaeru
1
310
ansible is nani
kakerukaeru
1
380
Other Decks in Technology
See All in Technology
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
630
レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
red_frasco
4
600
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
3
420
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
250
クラウドネイティブ時代の 開発プロセス再設計 〜速さと品質を両立するには〜
moritamasami
0
120
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
220
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
140
Dev Containers と Skaffold で実現する クラウドネイティブ開発環境 ローカルのみという制約に挑む / Cloud-Native Development with Dev Containers and Skaffold: Tackling the Local-Only Constraint
bitkey
PRO
0
140
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
2
1.8k
adk-samples に学ぶデータ分析 LLM エージェント開発
na0
3
700
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
150
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Scaling GitHub
holman
464
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Why Our Code Smells
bkeepers
PRO
340
57k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Transcript
Amebaのinfraを支える GHEとアレコレ CyberAgent, Inc 岩永 翔
自己紹介
❏ :インフラエンジニアしてます @CyberAgent ❏ :Ameba基盤システムの面倒見るマンしてます ❏ :コンテンツ配信、認証、ナドナドの基盤 ❏ :最近、GHEのAdminチームのお手伝い始めた ❏
♨:マイブームは、Consul ❏ :どっかで雑に組み込みたい 岩永 翔 (いわなが かける)@kakerukaeru
突然ですが
今日は GHEのAdmin 的な話はしません
Agenda
❏ AmebaとGHE ❏ Amebaとinfra ❏ Amebaのinfraを支えるGHEとアレコレ ❏ まとめ Agenda
AmebaとGHE
❏ 2013/04導入 ❏ 現在 ❏ 879 users ❏ 10,150 repos
❏ 407 Organizations AmebaとGHE
Amebaとinfra
❏ 2004年ぐらいから発足 Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 ❏ private Cloud(OpenStack/KVM) +
AWS + GCP Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 ❏ private Cloud(OpenStack/KVM) +
AWS + GCP ❏ オンプレ分だけで18000台ぐらいかかえてる Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 ❏ private Cloud(OpenStack/KVM) +
AWS + GCP ❏ オンプレ分だけで18000台ぐらいかかえてる ❏ public cloud分は把握できてない... Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 ❏ private Cloud(OpenStack/KVM) +
AWS + GCP ❏ オンプレ分だけで18000台ぐらいかかえてる ❏ public cloud分は把握できてない... ❏ インフラエンジニアは20人ぐらい Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 ❏ private Cloud(OpenStack/KVM) +
AWS + GCP ❏ オンプレ分だけで18000台ぐらいかかえてる ❏ public cloud分は把握できてない... ❏ インフラエンジニアは20人ぐらい ❏ 新陳代謝の激しいPROJECT達 :) Amebaとinfra
❏ 2004年ぐらいから発足 ❏ 意外と長い ❏ 現在のinfra環境 ❏ private Cloud(OpenStack/KVM) +
AWS + GCP ❏ オンプレ分だけで18000台ぐらいかかえてる ❏ public cloud分は把握できてない... ❏ インフラエンジニアは20人ぐらい ❏ 新陳代謝の激しいPROJECT達 :) ❏ PROJECT数は2000ぐらいから数えるのをやめた Amebaとinfra
❏ こういう環境で起こりがちなこと Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 ❏ 進むinfra codeの負の遺産化 Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 ❏ 進むinfra codeの負の遺産化 ❏
久しぶりにchef動かしたら、通らない... Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 ❏ 進むinfra codeの負の遺産化 ❏
久しぶりにchef動かしたら、通らない... ❏ 同じroleのサーバだけど設定の差分が... Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 ❏ 進むinfra codeの負の遺産化 ❏
久しぶりにchef動かしたら、通らない... ❏ 同じroleのサーバだけど設定の差分が... ❏ サーバ構築の職人化... Amebaとinfra
❏ こういう環境で起こりがちなこと ❏ 次々と立ち上がるサービス達 ❏ インフラエンジニアの年金を支える若者的構図 ❏ 進むinfra codeの負の遺産化 ❏
久しぶりにchef動かしたら、通らない... ❏ 同じroleのサーバだけど設定の差分が... ❏ サーバ構築の職人化... ❏ もうだめだ Amebaとinfra
❏ 改善したい Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 ❏ 負債化しにくい仕組みが大事 Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 ❏ 負債化しにくい仕組みが大事 ❏ 何で実現しよう?
Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 ❏ 負債化しにくい仕組みが大事 ❏ 何で実現しよう?
❏ infraの継続的インテグレーション(CI)? Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 ❏ 負債化しにくい仕組みが大事 ❏ 何で実現しよう?
❏ infraの継続的インテグレーション(CI)? ❏ あるべき姿を定義し Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 ❏ 負債化しにくい仕組みが大事 ❏ 何で実現しよう?
❏ infraの継続的インテグレーション(CI)? ❏ あるべき姿を定義し ❏ infraの継続的デリバリー(CD)? Amebaとinfra
❏ 改善したい ❏ 単純なinfraのCode化ではダメ ❏ 生まれた瞬間から負債化 ❏ 負債化しにくい仕組みが大事 ❏ 何で実現しよう?
❏ infraの継続的インテグレーション(CI)? ❏ あるべき姿を定義し ❏ infraの継続的デリバリー(CD)? ❏ フローを整え属人化の排除 Amebaとinfra
Amebaのinfraを支える GHEとアレコレ
❏ CI / CD を加速させるGitHub Integration達 Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec ❏ OpenStack環境のCI/CD Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec ❏ OpenStack環境のCI/CD ❏ GHE + CircleCI + Terraform ⇒ OpenStack Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec ❏ OpenStack環境のCI/CD ❏ GHE + CircleCI + Terraform ⇒ OpenStack ❏ infra ProvisioningのCI/CD Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec ❏ OpenStack環境のCI/CD ❏ GHE + CircleCI + Terraform ⇒ OpenStack ❏ infra ProvisioningのCI/CD ❏ GHE + CircleCI + serverspec + chef Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec ❏ OpenStack環境のCI/CD ❏ GHE + CircleCI + Terraform ⇒ OpenStack ❏ infra ProvisioningのCI/CD ❏ GHE + CircleCI + serverspec + chef ❏ DNS レコードのCI/CD Amebaのinfraを支えるGHEとアレコレの一例
❏ CI / CD を加速させるGitHub Integration達 ❏ OS imageのCI/CD ❏
GHE + CircleCI + packer + serverspec ❏ OpenStack環境のCI/CD ❏ GHE + CircleCI + Terraform ⇒ OpenStack ❏ infra ProvisioningのCI/CD ❏ GHE + CircleCI + serverspec + chef ❏ DNS レコードのCI/CD ❏ GHE + Jenkins + Roadworker Amebaのinfraを支えるGHEとアレコレの一例
❏ 言葉だけじゃなんのこっちゃ Amebaのinfraを支えるGHEとアレコレの一例
❏ 言葉だけじゃなんのこっちゃ ❏ infra ProvisioningのCI/CDを例に。 Amebaのinfraを支えるGHEとアレコレの一例
infra Provisioningの継続的インテグレーション ① chef-recipeの pullreqを契機に CircleCIのbuildが 走りだし... ② OpenStack上に 検証環境を作成し
chef + serverspec でtest
infra Provisioningの継続的デリバリー ① slack経由でhubotに release branchを 切らせて... ② 各環境に CircleCI経由で
chef適用
infra Provisioningの継続的インテグレーション + α 定期的に、 serverspec用の検証用branchを切らせて 各環境へserverspecの検証を行う
❏ 言葉だけじゃなんのこっちゃ ❏ infra ProvisioningのCI/CDを例に。 ❏ もう一つ ❏ OSレイヤ以下のCI/CD Amebaのinfraを支えるGHEとアレコレの一例
infra Provisioningの継続的デリバリー ① terraformの.tf fileの pullreqを契機に、 terraform plan ② testが通ればmergeボ
タンを押す。 コレを契機に 本番へ適用
❏ 言葉だけじゃなんのこっちゃ ❏ infra ProvisioningのCI/CDを例に。 ❏ もう一つ ❏ OSレイヤ以下のCI/CD ❏
pullreqありきのインフラ開発・構築になってきた Amebaのinfraを支えるGHEとアレコレの一例
まとめ
❏ GHEを導入してinfraのCode化が加速 まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た ❏ 結果 ❏ devとopsがより密接に。 まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た ❏ 結果 ❏ devとopsがより密接に。 ❏ devのpullreqをopsがmergeでinfra環境作成
まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た ❏ 結果 ❏ devとopsがより密接に。 ❏ devのpullreqをopsがmergeでinfra環境作成
❏ pullreq駆動のinfra開発に。 まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た ❏ 結果 ❏ devとopsがより密接に。 ❏ devのpullreqをopsがmergeでinfra環境作成
❏ pullreq駆動のinfra開発に。 ❏ CIによるinfraクオリティ向上 まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た ❏ 結果 ❏ devとopsがより密接に。 ❏ devのpullreqをopsがmergeでinfra環境作成
❏ pullreq駆動のinfra開発に。 ❏ CIによるinfraクオリティ向上 ❏ CDによりビルドの再現可能性の向上 まとめ
❏ GHEを導入してinfraのCode化が加速 ❏ 豊富なIntegrationのおかげでCI/CD化が楽に出来た ❏ 結果 ❏ devとopsがより密接に。 ❏ devのpullreqをopsがmergeでinfra環境作成
❏ pullreq駆動のinfra開発に。 ❏ CIによるinfraクオリティ向上 ❏ CDによりビルドの再現可能性の向上 ❏ : ) まとめ
thank you !