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
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.1k
事業と歩む Ameba システム刷新の道 / the-road-to-ameba-system-renovation-aws-summit-online
kakerukaeru
0
1.6k
事業と歩むAmebaシステム刷新の道 / the-road-to-ameba-system-renovation-cadc
kakerukaeru
0
480
The Shining / ~all work and no play makes jack a dull boy~
kakerukaeru
0
250
AmebaとCDNのお付き合いの歴史 / ameba cdn waiwai
kakerukaeru
0
88
fastlyでええかんじにサイトリニューアル @ Yamagoya Meetup 2018 / e-kanzi Website renewal with fastly
kakerukaeru
0
380
20160907_Akamai_Tech_Deep_Dive
kakerukaeru
0
2k
はじめるCassandra
kakerukaeru
1
280
ansible is nani
kakerukaeru
1
330
Other Decks in Technology
See All in Technology
Cloud Friendly(?) Jenkins. How we failed to make Jenkins cloud native and what we learned?
onenashev
PRO
0
110
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
4
850
継続的テストモデルを実現するためにスリーアミーゴスを用いた10Xでのシフトレフトの事例
nihonbuson
3
240
Elementaryを用いたデータ品質の可視化とデータ基盤の運用改善
10xinc
6
1.6k
オブジェクト指向宗教史
tanakahisateru
14
12k
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
4.1k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
7
100k
ハイパフォーマンスな組織をつくるための開発生産性の考え方 / developer-productivity-high-performer-link-and-motivation
lmi
3
270
大規模データとの戦い方
knih
1
480
SREsのためのSRE定着ガイド
netmarkjp
10
1.6k
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
プッシュ型子育てサービスを、先行プロジェクト実施自治体において開始します
govtechtokyo
0
290
Featured
See All Featured
Being A Developer After 40
akosma
56
580k
GraphQLとの向き合い方2022年版
quramy
28
12k
Building Applications with DynamoDB
mza
88
5.6k
Documentation Writing (for coders)
carmenintech
59
3.8k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
Writing Fast Ruby
sferik
619
59k
Designing Experiences People Love
moore
135
23k
Raft: Consensus for Rubyists
vanstee
130
6.2k
Facilitating Awesome Meetings
lara
39
5.5k
A better future with KSS
kneath
230
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
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 !