読者です 読者をやめる 読者になる 読者になる

set setting reset

インフラ関連の小ネタと備忘録

de:code 2016 5/25 メモ

de:code 2016 5/24 メモ - set setting reset の続きです。

powershell

DSC

  • コード書く
  • mof ファイルができる
  • これを送って実行させる
    • start-dscconfiguration
  • LCM
    • local configuration manager
  • push は windows から実行
  • pull server
    • http だけでなく smb でも ok
    • 各ノードが server にポーリングする
    • CA を使って https 通信可能
    • 運用を dsc に寄せることもできる
  • Azure Automation

Docker と containter service

  • windows container の話ナシ
  • mesos + swarm
  • microservice architecture
  • 開発、移動、実行するプラットフォーム
  • linux kernel
    • namespace
      • リソースの分断
    • cgorup
      • リソース管理 *コンテナ技術の標準化団体がある
  • docker が実現したこと
    • software が必要な全てをファイルシステムに包む
    • どのような環境でも実行を保証
    • 軽量。オープン、安全

ランチ devops

  • best way

    • 組織の文化にする
  • boss に聞く

    • 成功するためにどうすればいいと思う?
  • レガシーなアプリと新しいアプリでは devops のありようが異なる

    • 共通で利用できるツールを探すのがよいだろう

hashicorp

  • vault 推し

  • hachicorp はなぜツールを作るのか

    • デプロイにまつわるサイクルを短くしたい
    • 特定の課題を解決するためのツールを作成している
  • vagrant が一番 star されてる

    • 10000 star
  • ms support

    • 全てのプロダクトで ms をサポートしている
  • enterprise version がある

  • terraform

    • コードでデータセンターを作る
    • demo
    • packer の話
      • package する
        • sh ???
      • image が作成できる
      • packer で作った package は可搬性が高い
    • packer でつくった image から terraform をつかう
      • packer は json で記述
    • tfstate はパフォーマンスのためにあえて使ってる
      • api が遅いから
      • ローカルマシンのための設計
  • terraform enterprise

    • チームで使うための terraform
    • github や atlas をトリガーとして、terraform enterprise 上の UI から apply できる
    • resource dependency graph
    • modules
    • collaboration
      • ゴール
      • インフラを進化するアプリケーションとして扱いたい
        • propose
        • validate in plan
        • approve
        • audit
    • rollback
      • すげぇ
      • terraform enterprise 上の revert できる
        • あとから問題箇所を精査してプルリクすればいいじゃん
    • まるで github のような
    • github integration
    • notification
    • remote state storage
    • remote plan + applies + and locks

mesosphere

  • container の大規模管理
    • SAP の中の人
    • chef の中の人
  • コンテナで複雑化した

  • DC/OS

    • data center を一つのアプリケーションとして考える
      • resource pool
        • CPU
        • NW
        • strage...
    • microservice(in container) = function
    • 全てのバックエンドプラットフォームで対応可能
      • azure container service でも OK
      • ECS でも OK っぽい
    • DC/OS の layer
      • container orchestration
      • job scheduling
      • scale
    • Auto Desk 社の事例
      • AWS Resource 66% cut
      • cost improvements up to 57%
      • ダウンタイムなしに 40 sec でデプロイ
      • 100% uptime
    • dcos cli
      • データセンター全体にミドルウェアをインストール、アプリケーションをデプロイすることができる
        • 構成情報は JSON
      • json でアプリケーションが使うことができるリソースを定義することができる
      • healthcheck
      • label
      • port
    • dcos dashboard
      • 稼働中のアプリケーションの状況を監視できる
      • application の scale の数を簡単に変更できる
    • おまえら DC/OS のブログ書けよw

chef

  • devops へのアプローチ
  • infrastructure as code はなぜ必要か
  • エンジニアの 7割は remote
  • 会社は色々とあるが、共通でやりたいことがあるはずだ
  • インフラとアプリケーションを同じように扱うべきだ
  • 速いのはいいこと、ただしうまくいかなければ意味がない
  • ダイナミックなインフラがなければスピーディーなビジネスはない
  • 継続的に安全に実験する
  • クラウドによって自動化が可能となり、自動化は反復をもたらす
  • CI CD TEST なんでもやろう
  • ミスの責任が単一にあるとミスを起こさないようにするために遅くなる
  • 早く破綻させて破壊しろ
    • みんなで解決してみんなで理解できる
    • なにが間違っていたかを考える
  • 楽しい仕事には人がやってくる

  • devops の分析

    • 利益、生産性、デプロイ回数の向上
  • chef だけでなく、ワークフローが必要

    • chef delivery というのがあるらしい
  • devops も問題点

    • 監査が大変
      • 監査も devops に巻き込む
    • コンプライアンスはテストできる = 統制
    • chef compliance
  • azure native な chef-client がある

  • どっちかというと windows のロードマップに追従している

    • かなり重視しているとのこと
  • inspect

  • 事例

    • デプロイのコスト削減
    • ビルド時間の削減
    • セキュリティを先に、その次に devops というケース
  • chef component

    • opensource と課金コンテンツあり
  • chef server のはなし

    • recipe は step のシーケンス
    • recipe に書き方
  • chef の TDD = TDI

    • 欠陥を早く見つけよう
    • rubocop
      • ruby static code analyzer
      • code standard を当てはめる
    • foodcritic
      • chef のコードスタイルガイドライン
      • ruby のベストプラクティスではない
      • 言語の可能性をあえて制限する
    • chefspec
      • syntax,concepts check unit test
    • test kitchen
      • create realistic server test emvorpm,emt
      • 現実味のあるテスト環境を作る
    • inspec
      • ?
    • chef-compliance
      • serverspec っぽい
  • dsc_script リソース