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
Devに力を授けたいSREのあゆみ / SRE that wants to empower d...
Search
Tocyuki
May 13, 2022
Technology
4
1.1k
Devに力を授けたいSREのあゆみ / SRE that wants to empower developers
NRUG (New Relic User Group) SRE支部 Vol.1 〜俺たちのSREとNew Relic〜
Tocyuki
May 13, 2022
Tweet
Share
More Decks by Tocyuki
See All by Tocyuki
HashiCorp製品導入の背景と今後の展望/Background of HashiCorp product introduction and future prospects
tocyuki
0
45
AEON TECH HUBで目指すもの/What we aim for with AEON TECH HUB
tocyuki
0
26
マイクロサービス導入により生まれた組織課題に対するソリューションとしてのTiDB/Developers Summit 2024 TiDB Sponsor Session
tocyuki
0
25
イオンがKubernetesを採用してどうなった/What happened when AEON adopted Kubernetes
tocyuki
0
28
FutureStack_Tokyo_NRUG_2周年特別版
tocyuki
0
15
ecspresso愛を語る/I Love ecspresso
tocyuki
0
2.8k
DevOps実装初期フェーズの組織がTerraformとecspressoで求めるAmazon ECS CICDの最適解/AWS ECS CICD with Terraform and ecspresso
tocyuki
11
4.4k
さいつよのEC2オートスケーリング環境CICDパイプライン2022オータム/Strongest EC2 Autoscaling Environment CI/CD Pipeline 2022 Autumn
tocyuki
5
3.1k
Terraformで作る分析用Aurora Readerインスタンス/Aurora Reader instance for analysis made with Terraform
tocyuki
0
300
Other Decks in Technology
See All in Technology
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
AIチャットボット開発への生成AI活用
ryomrt
0
170
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
Terraform Stacks入門 #HashiTalks
msato
0
350
Taming you application's environments
salaboy
0
180
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
A Philosophy of Restraint
colly
203
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Being A Developer After 40
akosma
86
590k
Faster Mobile Websites
deanohume
305
30k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
GitHub's CSS Performance
jonrohan
1030
460k
We Have a Design System, Now What?
morganepeng
50
7.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Code Reviewing Like a Champion
maltzj
520
39k
A Tale of Four Properties
chriscoyier
156
23k
Transcript
2022/05/13 NRUG (New Relic User Group) SRE支部 Vol.1 〜俺たちのSREとNew Relic〜
Devに力を授けたいSREのあゆみ
自己紹介 名前:Tocyuki(としゆき) 所属:株式会社トラストバンク CTO室 SRE ← 4月から全社組織化🎉 趣味:ギター、柔術(紫帯) SNS:@Tocyuki 2
None
4 ふるさと納税事業 パブリテック事業 エネルギー事業 地域通貨事業 事業領域
5 本日お越しのSREな皆様におかれましても Dev(開発者、開発組織、開発環境、etc…)を より良い感じにしたいと思ってはいませんか?
6 (意訳)Devに力を授けたいSREのあゆみ
7 https://www.wantedly.com/companies/trustbank/post_articles/305115 現職は1人目のSREとして入社しています。
今回お話しすること • SRE導入のプラクティス • New Relic導入のプラクティス 8 1人目のSREとしてSRE導入フェーズの開発組織にDevOps文化の 基盤を築くためにやってみてよかったことなどを中心にお話します
SECTION 9 01 SRE導入のプラクティス
10 土台の基礎設計は綿密に行う Practice 1.
土台、基礎の重要性 11 あらゆる領域において土台選び、基礎設計はとても重要! 疎かにすると運用、変更コストにより破綻し、短命に終わる! どこの土地に建てる? どのような基礎にする? どのような見た目にする? どのような内装にする?
• 不可逆的(変更コストが大きい)且つ、与えるインパクトが大き いものを土台として見立て、選定 • 土台選びも大事だが、土台を変えたり選べないことも往々にし てあるため、注力すべきは基礎の設計 何を土台とし、どこに注力すべきか 12
土台や基礎設計を変えるのは大変 すでにある土台 新たに導入する土台 13 インフラ移行など、土台の変更はプロジェクト化す るなどして進める必要がありとても大変
実際に行った基礎設計の一例 • AWS Landing Zoneを参考にしたOrganizations設計 • 今ならControl Towerに任してしまっても良いかも • AWS
SSOによるアカウント運用管理設計 • IAMユーザーは基本的に作成しない • 外部システム、SaaSは可能な限りAWS SSOとSAML/SCIM連携させる • Infrastructure as Code方針設計 • リソース命名規則 • フェーズに応じた技術選定 • ログ基盤設計 • 長期保存、検索、それぞれの用途に応じたシステムの構築 14
Practice 1. まとめ • 土台選定および基礎設計をしっかり行うことで運用、変更のコ ストを抑えよう👍 • 基礎設計をしっかり行い、変更に強く、運用しやすいアーキテ クチャにして息の長いシステムにしよう👍 15
SRE導入フェーズでこそ、土台設計を疎かにせずしっかりと行う!
16 Infrastructure as Codeを徹底する Practice 2.
なぜIaCを徹底すべきなのか? • 途中からやるのは正直面倒くさい • terraform import地獄とかマジ地獄 • IaCを徹底することでIaCによる恩恵が最大化される • ルール化し、徹底することでIaCファーストな文化を醸成
• IaCはDevOps実装のキラーソリューション • DevとOpsの共通言語もCodeであるべき 17
IaCの恩恵を感じた一例 18 特殊要件のある開発環境が一時 的にほしいのだが? Terraformの既存定義再利用して追 加要件の定義書いて、環境破棄用 のRevert PRを用意しておしまいっ と。 開発者
SRE 爆速対応あざます。
IaCはDevOpsに不可欠 19 許可IPを追加したいんですが、 PR出して良いですか? ていうかPR出しました。 最高かよ 開発者 SRE
IaCツールの選定は慎重に 20 開発組織の特性やフェーズに応じたツールを選定しないとスケールしづらい
Practice 2. まとめ • IaCはそれ自体が資産、ナレッジとなるので、積極的にIaC ファーストで検討、実装してみよう👍 • 開発組織に応じたIaCツール選定を行おう👍 • 開発者のIaCコントリビューターを増やそう👍
21 SRE導入フェーズだからこそ徹底したIaCができる!
22 既存の仕組みを活用して改善する Practice 3.
入社時のとあるキャンペーンサイト運用 23 サーバー エンジニア 受領 確認 scp 受領 scp 納品
制作会社
改善後のとあるキャンペーンサイト運用 24 制作会社 PR作成 review merge PR merge deploy CDNですでに導入していた
CloudflareのPagesをFreeプラン で利用 GitHub Enterprise Cloud
入社時の開発環境 25 踏み台サーバー APサーバー GitHub Enterprise Server エンジニア PR作成 ssh
git pull PR作成 git pull ssh ssh unit test 1台のサーバーにVirtual Hostで複数の開発環境を 用意している GHES、JenkinsはEC2にホ ストして運用 サーバー接続用のアカウン トはLDAPで管理
改善後の開発環境 26 GitHub Enterprise Server エンジニア PR作成 ssm PR ssm
unit test deploy GHES、Jenkinsは引き続き 活用 terraform apply codedeploy SSHを廃止してSSM SessionMnagerでのみ接 続できるようにし、AWS SSOでアカウント管理 PR毎に開発環境が構築さ れ、PRクローズか日次バッ チで環境破棄される
Practice 3. まとめ • 最初から理想を追い求めると時間がかかり、時間の経過とと もに組織や自身の状況なども変わり、結局改善されないなん てことも起きてしまうので、既存の仕組みを活用することにより 運用変更による負荷軽減、実装までのリードタイム短縮に努 め段階的に改善していこう👍 27
SRE導入フェーズでは継続的に目に見える改善を行うことで各所からの信頼を 積み重ね、その後のスムーズな改善活動の礎としていくことが重要
28 パラメーター補完可能なメンバー構成にする Practice 4.
SREに求められるスキルセットは多岐にわたる 29 ソフトウェア開発 DB セキュリティ インフラ CI/CD Infrastructure as Code
CDN これらすべてのスキルを保有した人材を採用するのは無理ゲー
理想と現実(偏見) 理想 現実 30 インフラエンジニア バックエンドエンジニア セキュリティエンジニア インフラエンジニア インフラエンジニア インフラエンジニア
シェルスクリプトです べて書きたいのだ が?
そもそもSREはSWEである • SRE導入フェーズでは特にインフラスキルが求められがちに なるので、気をつけないとインフラパラメーター強めの人員構 成比のチームになってしまう • SRE文化の醸成、DevOpsの実装の核はソフトウェアエンジニ アリングなのでソフトウェア開発をメインスキルに持つメンバー がいることはとても大事 31
Practice 4. まとめ • SREに求められがちなスキルセットを1人で保有するのは無理 なので、スキル補完可能なメンバー構成にしよう👍 • インフラスキルに偏った組織構成ではDevとOpsの溝は中々 埋まらないのでSWEをSREにコンバートさせよう👍 32
これらも中々な無理ゲーかもしれませんが・・・😅
SRE導入のプラクティスまとめ 1. 土台の基礎設計は綿密に行う👍 2. Infrastructure as Codeを徹底する👍 3. 既存の仕組みを活用して改善する👍 4.
パラメーター補完可能なメンバー構成にする👍 33
SECTION 34 02 New Relic導入のプラクティス
35 開発関連ツールの導線とまとめる Practice 1.
開発で利用するツールは色々ある 36 アカウント運用管理... アクセス先管理... SREは開発ツールのオーナー になりがちなので使うツールが 増えれば増えるほど運用負荷 がかさむ・・・
導線をまとめる幸せになれる 37 AWS SSO SAML/SCIM連携だと尚良し
Practice 1. まとめ • SAML/SCIM連携で幸せになろう👍 • New Relicも契約プランによりSAML/SCIM連携可能👍 • 各種ツールを使ってもらえるようにするための導線整備にも積
極的に取り組もう👍 38 土台選定(AWS SSO)大事!!
39 とりあえずSyntheticsで外形監視 Practice 2.
Synthetics導入メチャ簡単です 40
Practice 2. まとめ • Syntheticsは導入がめちゃくちゃ簡単なので脳死で導入して おこう👍 41 外形監視大事!!
42 New Relicをログ検索基盤としても活用する Practice 3.
入社時のログ基盤 43 ログサーバー エンジニア ssh find grep less ssh &
log query 各種サーバー alert 踏み台サーバー
New Relic Logs導入後のログ基盤 44 ログサーバー エンジニア NRQL Logs log query
各種サーバー alert
絞り込み検索 45 Create alert conditionから検 索結果を利用したらアラート 設定がすぐできる!
NRQLでの検索 46
Practice 3. まとめ • ログ検索基盤としてもNew Relic Logsを活用しよう👍 • ログ検索結果から必要に応じてCreate alert
conditionでア ラート設定もどんどんしていこう👍 47
New Relic導入のプラクティスまとめ 1. 開発関連ツールの導線とまとめる👍 2. とりあえずSyntheticsで外形監視👍 3. New Relicをログ検索基盤としても活用する👍 48
New Relic活用に向けて開発者とNew Relicとの接点を増やす!
SECTION 49 04 おわりに
絶賛SRE募集中です! 50
None