DevOpsDays Tokyo 2018 Day2
オープニング¶
エンジニアはDevOpsのビジネス価値を伝えよう
より良く、より早く、より安く
高い品質のソフトウェアではなく、よりよい顧客体験
パフォーマンスが良いわけではなく、アイデアをどれだけ早く投入できるか
金が少なくていいわけではなく、よりコストパフォーマンスが良い
(いまはソフトウェアは競争の源泉である)
スマホに行かなかった携帯サービスは倒産した
ハイテクオタク、ビジョン先行派、キャズム、価格と品質重視
Pursuing Long-term Agility at Bing MS¶
検索はGoogleがマーケットリーダー
ページのリンクが青よりピンクが良いのではないかなどの実験を繰り返している
開発者のワークフローをEvolveする
Agility impact: Engineering, live site, codebase
インシデントはとても減った
コードレビューも簡単になった
1回のCIで4万のテストが実施されている
1日あたり2000万のテストがされている
大規模なAgilityを実施するために色々改善していった
Flakiness Managementをしている、作った人に直してもらう
エンジニアは常に改善を求めている、満たされることはない
Bingのエンジニアはドキュメントが嫌い
マネジメントを取り込み、エンジニアを取り込み、計画する
失敗はRequirementどんどんやる、ただ同じ失敗を繰り返すのは良くない
Q. マニュアルテストやパフォーマンステストをやってるか
マニュアルテストパスはかなり前に無くした
セキュリティテストはビルドの一貫として静的解析でやってる
パフォーマンステストもCIでやっている
本番サービスよりもテストは2倍お金かけている
何を開発者にやらせて、なにを禁止するのか
コードカバレッジは出すけど、何もしていない
POやステークホルダーにDevOpsを同意させる
スピードと利益を考えれば簡単でしょう?
カスタマーサポートを先に考えるかもしれないけど、そうじゃない
フィードバックを積極的に求めているかどうかが重要
Effective DevOps Ryuzee¶
https://slide.meguro.ryuzee.com/slides/94
10deploys per day ♡ Dev And Ops
10デプロイはビジネスニーズへの対応を続けてきた結果
開発部門と運用部門が協力して仕事をした成果であった
初回のセッション
非機能要求でユーザーストーリーは役に立つか
クラウド上でのモニタリング
アジャイルなインフラ構築
継続的インテグレーション、パイプライン、デプロイ
個人や組織が成功に向けていかに協力しあうか
DevOpsは文化、コラボレーション、テクノロジーから構成される
問題→仮説→意見→設計→解決策→デプロイ→事実→計測
正しい問題を見つけることはとても大変なので、正しそうなものを優先順位でやる
ビジネス成果を示せていないのでマネジメントチームは苦労している
DevOpsでフォーカスすると良い4つのテーマ
コラボレーション、アフィニティ、ツール、スケーリング
この4本柱で文化と技術の両方に対応可能
文化、価値観、個人間のコミュニケーションが土台になる
個々に対するアプローチではなく、集団に対するアプローチが効果的
成果を出したチームはなにやっても成功する
よい集団規範(不文律・習慣・行動基準)があればいい
多様であれば対立が発生していまうため、対立を緩和するプロセスを調整する
1つの認知スタイルが正しいというふうにしない
様々な認知の違いを受け入れて、同じゴールに向かって進む事が重要
失敗しない=成功が成立する環境でなくなってきている
成長思考を育むために、時間の余裕を作らなければならない
成長思考は質の高いフィードバックを継続的に実施する事で作られる
フィードバック:キャリア開発、メンタリング、ネガティブなのも、問題にフォーカス
非難文化はコラボレーションとは正反対の文化
ミスをシステムのどこかにある問題の兆候と捉える
過度に結果にフォーカスすると、個人は学習より成果を見る
技術力に過度にフォーカスした無礼な人を入れてはいけない
本モダンアジャイルで語られている部分でもある
セキュリティパッチ適用を支えるサーバの家畜化技術 Eureka¶
Golden AMIについて、定期的にAWS Inspectorをかける
本番への対応が大変だと、誰もやらずに形骸化していく
サーバの交換性を高くし、存命期間を短くする
オートスケーリングで時間で自動でローテートさせている
長く本番で動き続けているサーバーはどんどん怖くなる
The Amazon Way¶
イノベーションのための組織づくり
メカニズム、アーキテクチャ、カルチャー、組織
プレスリリースを作成する事でアイデアを具体化していく
MTGの最初の数分は6pagerを静かに読む事で始まる
プレゼンテーションでは本質的な部分以外がフォーカスされてしまうため
急速な変化に対応するアーキテクチャが必要
Self-service Platforms without Gatekeeper
モノリシックだとデリバリパイプラインが1本しかない
単一目的のサービスにしていく、HTTPSのAPIのみで構成
チームはロードマップ、開発、運用、CSの全てを負う
もちろん障害報やQAもチームでやる
チームにはSDE, PM, TPM, SE, SDETという役割がある
ツール、言語、プロセス、採用、全部チームできめる
CodeDeploy、CodePipelineは社内ツールを出した
Our Leadership Principleは数年に1度見直されている、
開発Automate Everything、出来る限りすべて自動テストする
運用Automate Everything、出来る限りすべて自動デプロイする
自分よりスキルが優れている人、カルチャーが合う人を雇う
寝ずに働くより、重要なことにフォーカスする事が重要
そのためにイテレーションする、小さくリリースする
Effective feedback from OPS case study in Rakuten email service 楽天¶
https://www.slideshare.net/kitaurakenji/devops-days-2018-effective-feedback-from-ops-case-study-in-rakuten-email-service
楽天のメールというとあまりいいイメージないが、
ビッグデータなどで一人ひとりにあわせたメールを送れるようにしてる
Kubernetes基盤を提供してくれているチームがあるので乗っけている
SLI リクエストの成功率
SLO 成功率は99.95%
SLA 満たされなかったときに返金するなど
SplunkとDatadogとNewrelicを使い分けている
MiddlewareをPrometheus + Grafanaで統一していきたい
PagerDutyからトリガーしてアラートを処理
Lesson Learnedからアクションアイテムを見つける
What went well
What went wrong
What we got lucky
Kubernetesエコシステム、そしてそれを支えるCNCFの最新の動き¶
DevOpsを実現させるための道具として、Microserviceは多く語られている
その実現するものの一つとしてKubernetesが注目されている
Kubernetesの本質的な価値は、アプリケーションの開発運用のライフサイクルを管理する
Kubernetesはプラットフォームだと言う人も居る
今までのプラットフォームとは違う所は、アプリケーションにフォーカスしている所
クラウド以下(HW/OSなど)の部分が何にかかわらずアプリケーション開発運用ができる
インフラ・OS/フレームワーク・コンテナエンジン・オーケストレーション・運用管理
Kubernetes導入の目的は何か、コスト削減、スピードアジリティ強化、イノベーション
自動化とかCDとかはある程度使っているが、DevOps導入となると違う
Baiduなんて数十万台のクラスタを組んでいる
OpenStackからの移行が活発になっている
Kubenetes導入のプラットフォーム、社内DC 35%、AWS 15%、GCP 25%
マルチクラウドは思いの外少ない
Japan Container Daysは大盛況だった
Chef/Ansible/Puppet/SaltをまとめてCAPSとも言うらしいw
オーケストレーションはほとんどがKubernetesを利用
MesosはAirbnbとかが使ってるから他の中では大きいと見れる
クラウドネイティブの時代ではあるが、まだOn-Premiseが多い
米国はストレージ、セキュリティなどの運用へ感心がむいている
中国は信頼性などのベンダ系のベーシックな悩みが多い
サーバーメッシュだ!とぶつけても、まだベーシックな所でつまずいてたら話にならない
Prometheus + Graphanaを使えるなどのコンポーネントの組み合わせ能力
OSSを選ぶという裏側には、足りないものを自社開発するしかなくなる
システムを止めることなくImmutableにサーバ家畜化できる
Linux移植当初はOSSが少なく自社開発していたが、今はOSSが充実しており移行しやすい
AmadeusはOpenShift on VMWare EXSiで統一
Q. IPアドレスの管理はどうするのか
オーバーレイネットワークはCNIで、ここは苦労する場所じゃない
ストレージはもっと大変、ネットアップが苦労する
Q. ログ管理はどうしているのか
CNCFのサイトにクラウドネイティブラウンドスケープという図がある
Kubernetesのエコシステムに入っているものがどういうものがあるかわかる