Monthly Archives: 7月 2014

「継続的デリバリー」第36回(7/29)

Posted on by 0 comment

参加者 青木(読み手)、沼田(記)
範囲 pp.409 – 418

第3部 デリバリーエコシステム

第13章 コンポーネントや依存関係を管理する

  • 13.1 導入
    • デメテルの掟
      デメテルの法則(Law of Demetre (LoD))または最小知識の原則とは、ソフトウェアの設計、特にオブジェクト指向プログラムの設計におけるガイドラインである。 (ウィキペディアより)
  • 13.2 アプリケーションをリリース可能な状態に保つ
  • 13.3 依存関係
    • 13.3.1 依存地獄
      • COM:Component Object Model

「継続的デリバリー」第35回(7/25)

Posted on by 0 comment

参加者 沼田(読み手)、今井、青木(記)

範囲 pp.395-408

第3部 デリバリーエコシステム

第12章 データを管理する

  • 12.4 データベースのロールバックとゼロダウンタイムリリース
    • 12.4.2 アプリケーションのデプロイをデータベースのマイグレーションから分離する
      p.396 図12-1の「破棄」とあるのは「デプロイ」の間違いか?
  • 12.5 テストデータを管理する
    • 12.5.1 仮のデータベースでのユニットテスト
    • 12.5.2 テストとデータのつながりを管理する
    • 12.5.3 テストの分離
      テスト対象のコードにトランザクションがある場合、トランザクションはネストしてしまう。ネストしたトランザクションをサポートするDBもあるようだが少数派のようだ。
    • 12.5.4 準備と後始末
    • 12.5.5 一貫したテストシナリオ
  • 12.6 データの管理とデプロイメントパイプライン
    • 12.6.1 コミットステージでのテストにおけるデータ
    • 12.6.2 受け入れテストにおけるデータ
    • 12.6.3 キャパシティテストにおけるデータ
    • 12.6.4 その他のテストステージにおけるデータ
  • 12.7 まとめ

 

「継続的デリバリー」第34回(7/22)

Posted on by 0 comment

参加者 青木(読み手)、沼田(記)
範囲 pp.384 – 395

第3部 デリバリーエコシステム

第11章 基盤と環境を管理する

  • 11.9 基盤やアプリケーションを監視する
    • 11.9.4 ふるまい駆動監視
  • 11.10 まとめ

第12章 データを管理する

  • 12.1 導入
  • 12.2 データベースのスクリプト処理
    • 12.2.1 データベースを初期化する
  • 12.3 インクリメンタルな変更
    • 12.3.1 データベースのバージョンを管理する
    • 12.3.2 オーケストレイトされた変更を管理する
  • 12.4 データベースのロールバックとゼロダウンタイムリリース
  • 12.4.1 データを失わずにロールバックする

「継続的デリバリー」第33回 (7/18)

Posted on by 0 comment

参加者 沼田(読み手)、青木(記)

範囲 pp.371-383

第3部 デリバリーエコシステム

第11章 基盤と環境を管理する

  • 11.7 仮想化
    • 11.7.3 仮想環境を使った、高速に並列化したテスト
  • 11.8 クラウドコンピューティング
    Eucalyptus:AWSのAPIと互換性のあるプライベートクラウドを構築するためのオープンソースソフトウェア。
    SETI@home:インターネットで互につながった計算機が、地球外知性の探索(SETI)を行う科学実験。

    • 11.8.1 基盤のクラウド化
      HIPAA(Health Insurance Portability and Accountability Act):米国における医療保険の相互運用性と説明責任に関する法令。
      PCI DSS(Payment Card Industry Data Security Standard):クレジットカード情報および取り引き情報を保護する為のクレジット業界におけるグローバルセキュリティ基準。
    • 11.8.2 プラットフォームのクラウド化
    • 11.8.3 ひとつで何もかもを解決する必要はない
    • 11.8.4 クラウドコンピューティングに対する批判
  • 11.9 基盤やアプリケーションを監視する
    • 11.9.1 データを収集する
    • 11.9.2 ログ出力
    • 11.9.3 ダッシュボードを作成する

「継続的デリバリー」第32回 (7/15)

Posted on by 0 comment

参加者 青木(読み手)、沼田、今井(記)

範囲 pp.361-371

第3部 デリバリーエコシステム

第11章 基盤と環境を管理する

  • 11.6 基盤サービスを管理する
    • p.361
      ここに書いてある、ファイアウォールをまたいだDBコネクションプールを使った接続でつながらなく問題は、十数年前にまったく同じ状況を経験した。そのときは一定時間ごとに全コネクションプールを使って何らかの軽いSQLを発行した。
    • p.362 箇条書き最後の項目 l.6 最初 衍字
      障害時のバックアップという
    • p.362 箇条書きの下 l.1
      フォレンジックツールとは?
      → 調べました。
      forensicsは科学捜査、裁判証拠収集。おそらくデジタルフォレンジック(Ref. IT用語辞典)のこと。ここでは法的云々は別にして、問題の原因を探し、集めるツールくらいに使っているのだろう。Digital forensics tools (Ref. Wikipedia)
  • 11.6.1 マルチホームシステム
  • 11.7 仮想化
    • 11.7.1 仮想環境を管理する
      • p.367 図11-4
        [アプリケーションサーバーVM] が3つ横に矢印でつながれているが、本当は [アプリケーションサーバーテンプレート] から3つそれぞれをインスタンス化するのではないか。
      • p.367 図11-5
        [Webサーバーテンプレート] や [データベースサーバーテンプレート] も、 [アプリケーションサーバーテンプレート] と同じベースイメージを起動し、そこにWebサーバー用やデータベースサーバー用の設定をして、テンプレートを保存する。
    • 11.7.2 仮想環境とデプロイメントパイプライン
  • 「継続的デリバリー」第31回(7/8)

    Posted on by 0 comment

    参加者 今井(読み手)、青木、沼田(記)
    範囲 pp.350 – 361

    第3部 デリバリーエコシステム

    第11章 基盤と環境を管理する

    • 11.4 サーバーのプロビジョニングおよび設定を管理する
      • 11.4.2 進行中のサーバー管理
        • p.353 「自動化によるプロビジョニング」の前の行
          まっさらな状態のVMというのはどこまでまっさらにした状態なのだろう?
        • p.355のマニフェストファイルの例の中に出てくる$で始まる変数はどこで定義している?
          次のページに「…Puppetはこれ以外にもクライアントに関して知っていることを定義済みの変数で表す。」と書かれていました。
    • 11.5 ミドルウェアの構成を管理する
      • 11.5.1 設定を管理する
      • 11.5.2 製品を調査せよ
      • 11.5.3 ミドルウェアが状態をどのように扱うのかを調査せよ
      • 11.5.4 設定APIを探せ
      • 11.5.5 よりよいテクノロジーを採用せよ

    「継続的デリバリー」第30回 (7/4)

    Posted on by 0 comment

    参加者 沼田(読み手)、今井、青木(記)

    範囲 pp.339-350

    第3部 デリバリーエコシステム

    第11章 基盤と環境を管理する

    • 11.2 運用チームのニーズを理解する
      • 11.2.1 文書化と監査
      • 11.2.2 異常発生時の警告
        p.341 この項の7行目:「巻き込もうするだろう」→「巻き込もうとするだろう」
      • 11.2.3 ITサービスの継続計画
        RPOは、Recovery Point Objectiveの略。
        RTOは、Recovery Time Objectiveの略。
      • 11.2.4 運用チームが慣れている技術を使え
        WiX→ウィキペディア
    • 11.3 基盤をモデリングし、管理する
      • 11.3.1 基盤へのアクセスを制御する
      • 11.3.2 基盤へ変更を加える
    • 11.4 サーバーのプロビジョニングおよび設定を管理する
      IPMI→[Think IT]

      • 11.4.1 サーバーのプロビジョニング

    「継続的デリバリー」第29回 (7/1)

    Posted on by 0 comment

    参加者 青木(読み手)、沼田、今井(記)

    範囲 pp.326-339

    第2部 デプロイメント パイプライン

    第10章 アプリケーションをデプロイ・リリースする

    • 10.6 継続的デプロイメント
      • 10.6.1 ユーザーがインストールするソフトウェアを継続的にリリースする
        • p.327 中ほど
          更新が成功したか失敗したかはどのタイミングで判断するのだろう? ファイルの置き換えが終わった時点? アプリが起動できた時点? アプリを少し動かしてからわかる不具合は更新の失敗としたは扱わない?
    • 10.7 ヒントと裏技
      • 10.7.1 実際にデプロイメントを行う人たちを、デプロイメントプロセスの策定に参加させよ
      • 10.7.2 デプロイメント作業を記録せよ
      • 10.7.3 古いファイルは削除せず、移動せよ
      • 10.7.4 デプロイメントはチーム全体で責任を持つ
      • 10.7.5 サーバーアプリケーションにGUIを持たせない
        • p.331 l.4~
          GUIからだけしかアプリの起動できないから問題なのか? GUIによる手動起動以外に、自動でもアプリケーションを起動する手段を持っていれば良い?
      • 10.7.6 最初のデプロイメントにはウォームアップ期間を持たせよ
      • 10.7.7 失敗は早めに
      • 10.7.8 本番環境を直接修正するな
    • 10.8 まとめ

    第3部 デリバリーエコシステム

    第11章 基盤と環境を管理する

    • 11.1 導入