Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Deploy Flow at Wantedly
Shimpei Otsubo
March 10, 2020
Technology
2
470
Deploy Flow at Wantedly
Wantedly の Deploy Flow の解説です。
規約とそれを強制する仕組みとして Wantedly が行っていることを紹介しています。
Shimpei Otsubo
March 10, 2020
Tweet
Share
More Decks by Shimpei Otsubo
See All by Shimpei Otsubo
Copy Kubernetes Clusters Really Fast
potsbo
3
1.6k
Go と Wantedly の関係 / How Wantedly uses Go
potsbo
1
490
Wrap every method with just one line
potsbo
1
2k
Zero yen Keyboard
potsbo
6
2.3k
Kube - The core tool at Wantedly
potsbo
1
4.2k
k8s - Kubernetes 8 Factors
potsbo
12
8.4k
コンテンツ作成に集中するためのプレゼンテーション Tips / Presentation with Confidence
potsbo
6
13k
ConfigMap vs Secret #k8sjp
potsbo
1
930
Microservices on Kubernetes
potsbo
4
8.1k
Other Decks in Technology
See All in Technology
エンジニアと気軽に繋がれるプラットフォーム「ハッカー飯」で行った セキュリティ・モニタリングに関する取り組みについて
nobuakikikuchi
0
350
Embedded SRE at Mercari
tcnksm
0
820
1,000万人以上が利用する「家族アルバム みてね」のSRE組織は4年間でどのように作られてきたのか/SRE NEXT 2022
isaoshimizu
4
2.8k
ドキュメントの翻訳に必要なこと
mayukosawai
0
160
jaws-ug-asa-datasync-20220510
hiashisan
0
480
Stripe Search APIを利用した、LINEとStripeの顧客情報連携/line-dc-202205
stripehideokamoto
0
120
Agile and Requirement : アジャイルな要件定義について考える
kawaguti
PRO
3
410
SRENEXT2022 組織にSREを実装していくまでの道のり
marnie0301
1
320
街じゅうを"駅前化"する電動マイクロモビリティのシェアサービス「LUUP」のIoTとSRE
0gm
1
590
mROS 2のススメ
takasehideki
0
300
長年運用されてきたモノリシックアプリケーションをコンテナ化しようとするとどんな問題に遭遇するか? / SRE NEXT 2022
nulabinc
PRO
15
7.4k
Poolにおける足を止めないシステム基盤構築
winebarrel
3
740
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
350
21k
Keith and Marios Guide to Fast Websites
keithpitt
404
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
15k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
151
12k
Done Done
chrislema
174
14k
The Cult of Friendly URLs
andyhume
68
4.7k
Scaling GitHub
holman
451
140k
What's new in Ruby 2.0
geeforr
336
30k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
125
8.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
Transcript
©2020 Wantedly, Inc. Deploy Flow at Wantedly نͱڧ੍ FORCIA Meetup
#1 ʙDevOps͍͔ͬͯnightʙ Mar 10, 2020 - Shimpei OTSUBO @potsbo
©2020 Wantedly, Inc. 4IJNQFJ0UTVCP!QPUTCP Developer Experience Squad Wantedly, Inc. Kubernetes
Dev Tools CI / CD AuthN / Z Productivity Dvorak
©2020 Wantedly, Inc. લఏͱͳΔ Wantedly ͷڥ AWS ͕ϝΠϯ 40 Engineers
6 Infrastructure Engineers 5 Kubernetes Clusters 300 namespaces in total GCP ͕Ұ෦ ΦϯϓϨϛεҰͳ͍ 99% of services are on Kubernetes 60 deploys per weekday
©2020 Wantedly, Inc. implement configure ask / help Wantedly ͕ආ͚ΔΓํ
App Engineers Products infrastructure Infra Engineers
©2020 Wantedly, Inc. App Engineers Infra Engineers implement Access through
tools and APIs Products infrastructure Provide tools automate Wantedly ͷΓํ
©2020 Wantedly, Inc. App Engineers Infra Engineers implement Access through
tools and APIs Products infrastructure Provide tools automate Wantedly ͷΓํ Infra engineer ͱ App engineer ͕ૄ݁߹
©2020 Wantedly, Inc. ڧ੍Ͱ͖ΔΈΛߏங͢Δ •CI ͱϩʔΧϧͰಉҰͷπʔϧΛ͏ نͰੜ࢈ੑΛҡ࣋͢Δ •commit hash Λ
tag ʹ͢Δ •ࣗಈ deploy •The Twelve Factors ʹଇΔ Ͳ͏Δ͔ •Interface ͷΈΛकΓཪυϥεςΟοΫʹม͍͑ͯ͘
©2020 Wantedly, Inc. ن same third-party services across all services
commit hash Λ image tag PR merge Ͱࣗಈ deploy build/deploy monitoring etc… ಉҰͷ docker image ΛશڥͰ͏
©2020 Wantedly, Inc. The Latest k8s ops flow set image
check pull deploy push push hook build build
©2020 Wantedly, Inc. 1 commit ʹରͯ͠ 1 docker image GitHub
commit status Ͱ image ͷ࡞ঢ়گΛ feedback ΄΅ͯ͢ͷ commit ͕ deploy Մೳ push push hook build build The Latest k8s ops flow
©2020 Wantedly, Inc. `kube prod deploy master` Ͱ deploy `kubectl
set image` Λ wrap ͍ͯ͠Δ શڥͰಉҰͷ image Λ͍ڥม͚͕ͩࠩ set image check pull deploy The Latest k8s ops flow ࣗಈͰ deploy ͞ΕΔ
©2020 Wantedly, Inc. نͰੜ࢈ੑΛҡ࣋͢Δ •commit hash Λ tag ʹ͢Δ •ࣗಈ
deploy •The Twelve Factors ʹଇΔ
©2020 Wantedly, Inc. ඞཁͳͷ͕ͯ͢ἧ͏ࣾϥΠϒϥϦ servicex • Log format ͱૹ৴ •
Error ऩू • ύϑΥʔϚϯεϞχλϦϯά • ࢄτϨʔγϯά • ଞͷαʔϏε Golang, Ruby, Python, Node Λαϙʔτ ڧ੍Ͱ͖ΔΈΛߏங͢Δ ϧʔϧΛकΔͷ͕Ұ൪؆୯Ͱ͋ΔੈքΛҡ࣋͢Δ
©2020 Wantedly, Inc. ڧ੍Ͱ͖ΔΈΛߏங͢Δ ͯ͢ͷ ops ͕ kube ίϚϯυͰՄೳ ϧʔϧΛकΔͷ͕Ұ൪؆୯Ͱ͋ΔੈքΛҡ࣋͢Δ
ࣾπʔϧͰ build / deploy / ops ͷͯ͢ͷ࡞ۀ͕Մೳ CI Ͱ laptops Ͱಉ͡ͷΛ͏ ͲΜͳࣗಈԽ͕ߦΘΕ͍ͯΔͷ͔Θ͔Γ͍͢ kube build kube prod deploy master Ͱ docker image Λ build ͯ͠ push Ͱ production deploy Ͱੜ manifests ࣗಈੜ kube generate autoscale
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master Install kube Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master Install kube build and push a docker image Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. language: bash env: - // encrypted credentials
here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master deploy the revision Install kube build and push a docker image Travis ͷઃఆͷྫ
©2020 Wantedly, Inc. Travis ͷઃఆͷྫ language: bash env: - //
encrypted credentials here install: - bash <(curl -sL https://get.wantedlyapp.com/kube) script: - kube build deploy: - skip_cleanup: true provider: script script: kube prod deploy $TRAVIS_COMMIT on: branch: master deploy the revision Install kube build and push a docker image Interface ͑͞ม͑ͳ͚Ε৽͍͠มߋΛ؆୯ʹΒ·͚Δ ࣾඪ४ͷπʔϧΛ͏ͷ͕Ұ൪ָͩ͠উखʹྑ͘ͳΔ Infra Engineers App Engineers
©2020 Wantedly, Inc. ڧ੍Ͱ͖ΔΈΛߏங͢Δ •CI ͱϩʔΧϧͰಉҰͷπʔϧΛ͏ نͰੜ࢈ੑΛҡ࣋͢Δ •commit hash Λ
tag ʹ͢Δ •ࣗಈ deploy •The Twelve Factors ʹଇΔ Ͳ͏Δ͔ •Interface ͷΈΛकΓཪυϥεςΟοΫʹม͍͑ͯ͘