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.1k
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.3k
事業と歩む Ameba システム刷新の道 / the-road-to-ameba-system-renovation-aws-summit-online
kakerukaeru
0
1.8k
事業と歩むAmebaシステム刷新の道 / the-road-to-ameba-system-renovation-cadc
kakerukaeru
0
570
The Shining / ~all work and no play makes jack a dull boy~
kakerukaeru
0
350
AmebaとCDNのお付き合いの歴史 / ameba cdn waiwai
kakerukaeru
0
100
fastlyでええかんじにサイトリニューアル @ Yamagoya Meetup 2018 / e-kanzi Website renewal with fastly
kakerukaeru
0
500
20160907_Akamai_Tech_Deep_Dive
kakerukaeru
0
2.1k
はじめるCassandra
kakerukaeru
1
290
ansible is nani
kakerukaeru
1
360
Other Decks in Technology
See All in Technology
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1k
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
権威ドキュメントで振り返る2024 #年忘れセキュリティ2024
hirotomotaguchi
2
730
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
2
250
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
170
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
How to Ace a Technical Interview
jacobian
276
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
111
49k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
KATA
mclloyd
29
14k
Optimizing for Happiness
mojombo
376
70k
Fireside Chat
paigeccino
34
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
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 !