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.1k
OpsJAWS#7 20160729 SIerにおけるDevOpsの現状 ~terraformを使ったAWS開発~
イチ個人の見解であり、所属会社や組織とは関係はありません。
kaojiri
August 01, 2016
Tweet
Share
More Decks by kaojiri
See All by kaojiri
コンテナ監視って何見るの?~初心者編~
kaojiri
8
5.5k
Kubernetesモニタリングのベストプラクティス_JAWSDays2021_20210320
kaojiri
0
950
AWS SummitTokyo2019-reCap_20190620
kaojiri
1
71
JAWS-UG_SAITAMA_20190420
kaojiri
1
190
OpsJAWS-JAWSUG-KANAZAWA_20181123
kaojiri
1
270
AWS Systems ManagerとAWS Configのちょっといい話
kaojiri
3
1.6k
組織を意識したAWS構成管理プロセスを考える_20180112
kaojiri
0
730
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
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
いざ、BSC討伐の旅
nikinusu
2
780
複雑なState管理からの脱却
sansantech
PRO
1
140
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
Terraform CI/CD パイプラインにおける AWS CodeCommit の代替手段
hiyanger
1
240
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
SREが投資するAIOps ~ペアーズにおけるLLM for Developerへの取り組み~
takumiogawa
1
180
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
65
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Ruby is Unlike a Banana
tanoku
97
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Being A Developer After 40
akosma
86
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
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!!