狠狠撸

狠狠撸Share a Scribd company logo
AWS Cloud Roadshow 2016 札幌 10/12
NoSSHな環境でB/Gデプロイメントを使い運用にのせた
ストレスレスなフロンティアを求めて
ナイトイベント
@gu4
Yokohama.vim
Lead Software Engineer / atWare
Yuki Asano
よこはまクラウド勉強会
函館
横浜
よこはま みなとみらい
私达には困っていたことがありました
品質担保をしながらアジリティをあげつつも
心理的負担を減らしたい
よくばり
をつかって
プロダクトへの責任の持ち方
プロダクトオーナー開発チーム
品質 ビジネス
適用透明性検証
リグレッションテストどうしていますか?
?環境構築手順書作成
?環境構築実施
?試験仕様書作成
?試験実施
85%
100%自信を持ってできていると言えるか?
安心して
ください
信頼貯金の切り崩し
【本音】外的心理を受けずリズムを作りたい
安心した
いんです
私たちにもできた Immutable Infrastructure
1. オーケストレーション
2. プロビジョニング
3. 自動テスト
4. デプロイメント
Infrastructure as codeで冪等性を確保
2?3で少し楽するための工夫をしました
1. Terraformで動的リソースをポコポコ作成
?環境セットは作って必要がなくなったら壊す
?プロビジョニングで利用するためのタグ名を設定
?状態はJenkinsサーバーで保持しておく
2. Ansibleでダイナミックにターゲットを指定
http://guyon.hatenablog.jp/entry/2016/05/22/024157
{
"database-servers": {
"hosts": [
"10.0.0.4"
]
},
"application-servers": {
"hosts": [
"10.0.0.2",
"10.0.0.3"
]
},
"web-servers": {
"hosts": [
"10.0.0.1"
]
},
"staging-database-servers": {
"children": [
"database-servers"
]
},
"staging-application-servers": {
"children": [
"application-servers"
]
},
"staging-web-servers": {
"children": [
"web-servers"
]
},
"staging": {
"children": [
"staging-web-servers",
"staging-application-servers",
"staging-database-servers"
]
}
}
JSON
AWS
CLI
生成 指定
プロビジョニング
継承
継承
3. AnsibleSpecで冪等性を保証させる
毎回同じ結果になる
テスト毎回
やってます
テスト毎回
やってます
設定共用
4. CodeDeployでワンクリックデプロイ
ミスなくデプロイ
オペミスな
くてうれし
い
試験?確認が
最低限で楽だ
私达は安心を手に入れました!
いままで以上にストレスレスになりたい!
ブルー?グリーンデプロイメント
で
壊すことを前提にしたからこそ得られるもの
思い切り
セキュアにネットワークを保ちたい
そもそもSSHできなければ不正が発生しづらいのでは
仮説
対策
必要なログデータはすべてストリームで出力
ネットワークをセキュアに保ちたい
作り?壊す。環境ごとの冪等性を保証する
staging-greenstaging-blue
2つJobを作り、terraformで生成したタグ名で判断
作る 壊す
作る壊す
運用中
やってみた感想まとめ
?初回の仕組みを作るまではそこそこ大変
?手間は3回環境作り直せば(テスト分)ペイできた感覚
大変さ
心理的負担
?時間や期限との付き合いもうまくなった気がする...
?「自分たちの安心」が「納品への自信」へと繋がった
もっと他のことに気を使え、
良いプロダクトを作れる気運が高まった。
最後に
awsome

More Related Content

ストレスレスなフロンティアを求めて NoSSHな環境でB/Gデプロイメントを使い運用にのせた