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
OpsJAWS#7 20160729 SIerにおけるDevOpsの現状 ~terraform...
Search
kaojiri
August 01, 2016
Technology
1
1.2k
OpsJAWS#7 20160729 SIerにおけるDevOpsの現状 ~terraformを使ったAWS開発~
イチ個人の見解であり、所属会社や組織とは関係はありません。
kaojiri
August 01, 2016
Tweet
Share
More Decks by kaojiri
See All by kaojiri
コンテナ監視って何見るの?~初心者編~
kaojiri
8
5.7k
Kubernetesモニタリングのベストプラクティス_JAWSDays2021_20210320
kaojiri
0
1k
AWS SummitTokyo2019-reCap_20190620
kaojiri
1
74
JAWS-UG_SAITAMA_20190420
kaojiri
1
200
OpsJAWS-JAWSUG-KANAZAWA_20181123
kaojiri
1
280
AWS Systems ManagerとAWS Configのちょっといい話
kaojiri
3
1.7k
組織を意識したAWS構成管理プロセスを考える_20180112
kaojiri
0
760
JAWS Days2017 EXCEL構成管理からの脱却と次世代MSPとDevOps 2.0 by OpsJAWS
kaojiri
0
1.8k
OpsJAWS#5 20160420 背伸びをしないAWS構成管理
kaojiri
0
2.9k
Other Decks in Technology
See All in Technology
JavaにおけるNull非許容性
skrb
2
2.7k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership, regardless of position
madoxten
22
11k
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.6k
困難を「一般解」で解く
fujiwara3
8
2.3k
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
1
180
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
540
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
380
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
220
【Forkwell】「正しく」失敗できるチームを作る──現場のリーダーのための恐怖と不安を乗り越える技術 - FL#83 / A team that can fail correctly by forkwell
i35_267
2
120
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
850
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
550
【内製開発Summit 2025】イオンスマートテクノロジーの内製化組織の作り方/In-house-development-summit-AST
aeonpeople
2
1.1k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Music & Morning Musume
bryan
46
6.4k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Embracing the Ebb and Flow
colly
84
4.6k
A Tale of Four Properties
chriscoyier
158
23k
Code Review Best Practice
trishagee
67
18k
KATA
mclloyd
29
14k
Transcript
SIerにおけるDevOpsの現状 ~Terraformを使ったAWS開発~ 2016/07/29 OpsJAWS #7
Agenda 1. 私なりのDevOpsの理解 • DevOpsとは • エンタープライズでDevOpsって…みたいな話 2. Terraformを使ったAWSインフラ開発の紹介
DevOpsとは? • 「開発チーム(Development)と運用チーム(Operations)がお互いに 協調し合うことで、開発・運用するソフトウェア/システムによってビジ ネスの価値をより高めるだけでなく、そのビジネスの価値をより確実かつ 迅速にエンドユーザーに届け続ける」という概念 • Devの役割が“システムに新しい機能を追加する”である一方、Opsの役割 は“システムの安定稼働”である。そのため、Devが新しい機能を追加した くても、Opsはシステムの安定稼働のために変更を加えたがらない、とい
う対立構造が作られてしまっていた • 「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr(1日10回以上のデプロイ: Flickrにおける開 発と運用の協力)」
SoE?? SoR?? • スタートアップ、Web系企業 • ビジネスの価値に直結するようなシステム、サイトがほとんど • 細かい機能追加・カイゼンがビジネスに直結していくので、そのサイ クルタイムを短縮することが至上命題 • エンタープライズ(≒基幹系)
• もともと(事務的な)業務効率を上げるためであり、ビジネスに直結 するようなものではないという性質 • コストカット目的 • デジタル・トランスフォーメーション by 斎藤様
エンタープライズでDevOps? • Web系が積極的に採用した“クラウド”が、エンタープライズへ 浸透していったことで、Web系からバズりだしたDevOpsもエ ンタープライズが興味を示し始めるようになった • 最初は単純移行した基幹システムも、クラウドの進化に合わせ て継続的な最適化が求められるように • Blackbeltでも紹介あり「失敗例を成功に変える
AWSアンチパターン のご紹介 2016 」 http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-antipattern
DevとOpsの分業制は悪か? • エンタープライズにおけるDevとOpsは別企業であることが多い • しっかりとしたインターフェースを持ち、統率されている分業制は、 それはそれでのDevOps • 安全性が保たれてさえいれば、自動化・効率化がKPIにならない場合 • 求められるサイクルタイムがそんなに早くない場合
• システムの特性に合わせて、目的に合わせて選択していくべき
• 先日お話させていただきました。※OpsJAWS Meetup#5 • 背伸びをしないAWS構成管理 • https://speakerdeck.com/kaojiri/opsjaws-number-5-20160420-bei-shen-biwosinaiawsgou-cheng-guan-li • ここでは稼働中の安全性を高めるアプローチを紹介 •
作った環境をどう安全に可視化・維持するか、みたいな話 • 今回は、どうやって作ればいいか?みたいな話
カイゼンの道筋(イメージ) CI/CD DevOps アジャイル (攻めのIT) 画面・手作業系 (とりあえずやってみた) 最初は ここ 理想
現実路線 ビ ジ ネ ス ス ピ ー ド 安全性 前回 今回
(今回)Devよりな話。安全性とちょっとだけスピードアップを意識 × Tfstate (Staging) Tfstate (Production) Staging Production plan plan
pull/push pull/push apply + test *.tf , tfvars etc…
Terraform • HashiCorp社が開発した、クラウドっぽい環境に対するオーケスト レーションツール • AWSの他にAzure等のクラウド、OpenStack、VMwareなど十数種 類の環境について統合的に記述可能 • AWSにはCloudFormationが用意されているが、下記点を評価して Terraformを採用
• 各リソースのidを動的に解決し、さらに変数名で容易に参照出来るなど表現 力の高さ • いわゆるDryRunの機構が優れており、ミスに容易に気づける。多人数で一 つのインフラ環境を構築したり、更新したりする場合に特に安心感が高まる • シェルスクリプトによる運用フローのカスタマイズが容易 • コメントが書ける
Staging Production レビュー Tfstate (Staging) Tfstate (Staging) Tfstate (Production) Pull/Push
開発者による plan確認 CIによる plan結果 共有 apply+ テスト レビュー 開発者による plan確認 CIによる plan結果 共有 apply+ テスト Tfstate (Production) Pull/Push トピック ブランチ Staging ブランチ Master マージ リクエスト マージ リクエスト マージ マージ
工夫点 • 変数はtfvarsで • ステージング、本番は変数ファイルだけ入れ替えればOK • tfstateをS3に保管 • 複数人で同じ状態の構成を管理できるように •
GitLabで管理する方法もあるが、特定のブランチを見続けるのは困難なため、あえてS3で • plan、applyはシェルスクリプトで • 上記stateファイルの自動取得、Up • GitLabにはapplyした後にマージ • Terraformのvalidateだけでは不十分だったり、実際にモノがないとテストできないため • ここをみれば全部書いてありますwww • http://made.livesense.co.jp/entry/2016/07/12/083000
これから • AWS上でインフラを安全に開発して、少しだけ開発スピードを アップできる手法と、それらを維持・可視化するための手法が なんとなく見えてきたので、これらを融合するフローや組織・ 文化を浸透させる!!! • これができ始めると本当のDevOpsのスタート
カイゼンの道筋(イメージ) CI/CD DevOps アジャイル (攻めのIT) 画面・手作業系 (とりあえずやってみた) 最初は ここ 理想
現実路線 ビ ジ ネ ス ス ピ ー ド 安全性 前回 これから 今回
まとめ • DevとOpsの対立構造を解決するのはツール“だけ“じゃない • エンタープライズにおけるDevOps採用は、求められるサイクルタ イムを鑑みて • とはいうものの、エンタープライズがクラウド浸透してきた以上、避けては 通れない道 •
Terraformでインフラ周りのCIが可能 • 今後は技術的な話だけでなく、文化を醸成していきたい • 次回をお楽しみに
Let’s share the tips later!!