Serverspec:宣言的記述でサーバの設定状態をテスト可能な汎用性の高いテストフレームワーク

書誌事項

タイトル別名
  • Serverspec: A Versatile Test Framework for Testing States of Servers by Delarative Description

この論文をさがす

抄録

システムの大規模・複雑化にともない,サーバの構築・運用を効率化するために,サーバの設定状態をコードで記述する手法が数多く提供されている.それらの手法を効率良く扱うプロセスとして,テスト駆動開発の手法をサーバ構築に応用したProvisioning Testingという手法が提案されている.この手法を支援するテストフレームワークもいくつか登場しているが,あるものは特定の構成管理ツールに依存,またあるものはOSごとの違いを自ら吸収しなければならないなど,汎用性に難がある.シェルコマンドを直接記述する必要があり,可読性に難があるものも存在する.そこで本論文では,生産性や保守性を向上するために,サーバの設定状態を汎用的かつ可読性の高い宣言的なコードでテスト可能なテストフレームワークを提案する.提案手法では,汎用性を高めるために,OSや構成管理ツール固有の振舞いを整理して一般化し,運用業務で発生するコマンド群を体系化・抽象化した汎用コマンド実行フレームワークを定義する.続いて,テストコード記述の抽象度を高め可読性を上げるために宣言的な記法で汎用コマンド実行フレームワークを操作できる制御テストフレームワークを定義する.これにより,管理者がOSや構成管理ツールの違いを気にすることなく,可読性の高いコードでサーバの設定状態を容易にテストできるようになり,サーバの運用・管理コストを低減できる.提案するテストフレームワークをServerspecと名付けた.提案手法の評価は,生産性,保守性に加え,拡張性,実装公開後の影響の4つの観点で行った.

As the increase of large and complex systems, many ways to describe states of servers as code are supplied. As an effective process to handle these ways, Provisioning Testing is proposed. It is the application of Test-Driven Development to the server configuration. Several test frameworks that support this process are appearing, but they have difficulty in versatility because some frameworks depend on specific configuration management tools, and others need the consideration of differences between OSes to write test code. Also, others need to write shell commands directly, which is difficult to read. In this paper, we propose a test framework that doesn't depend on specific configuration management tools or OSes for testing states of servers by versatile and readable code for productivity and maintainability. In our proposal, we arrange and generalize the behavior of OSes and configuration management tools and define the versatile command execution framework to increase versatility. Next, we define the test framework that controls the command execution framework by declarative and natural language to increase the level of abstraction and readability. By this test framework, system administrators can test states of servers easily without considering the differences between OSes or configuration management tools and can decrease the costs of server operations. Also, by defining the frameworks separated into purposes, we can replace the control test framework with another one that has original notation easily. We named the proposed test framework Serverspec. We evaluated this proposed method on four perspectives, productivity, maintainability, extendability, and impact after the publication of the implementation.

収録刊行物

詳細情報 詳細情報について

  • CRID
    1050002212667731584
  • NII論文ID
    170000181796
  • NII書誌ID
    AN00116647
  • ISSN
    18827764
  • Web Site
    http://id.nii.ac.jp/1001/00204179/
  • 本文言語コード
    ja
  • 資料種別
    journal article
  • データソース種別
    • IRDB
    • CiNii Articles

問題の指摘

ページトップへ