契約トラブル回避のススメ
つかんでおきたい「SLA」と「SLO」のちがい
システム運用にかかわる用語の中で、混同されがちなものに「SLA」(Service Level Agreement)と「SLO」(Service Level Objective)がある。この2つの用語の意味、そして両者の違いについて詳しく見ていきたい。
サービスの品質を提供者と利用者間で取り決める「SLA」
システム運用にかかわる用語の中で、混同されがちなものに「SLA」(Service Level Agreement)と「SLO」(Service Level Objective)がある。この2つの用語の意味、そして両者の違いについて詳しく見ていきたい。
まずSLAを日本語にすると「サービスレベル合意」や「サービスレベル保証」などとなる。サービスの提供者側と利用者側が、そのサービスが満たすべき品質について合意したものと捉えればいいだろう。
たとえば一般的なクラウドサービスの場合、そのサービスレベルは「可用性」という形で示されることが多い。可用性はサービスが利用できる時間の割合(稼働率)であり、月間の可用性が99%であれば、1カ月30日換算で7.2時間までサービスが停止することを利用者は許容することになる。ちなみにAmazon Web Services(AWS)が提供しているIaaSであるEC2のSLAは月間99.99%であり、月間の停止時間は同じく1カ月30日換算で4.32分となる。
SLAで定義する内容は、サービスの内容によっても異なる。可用性ではなくシステムのパフォーマンスをSLAとして定義することもあり、たとえばシステムにアクセスした際の応答時間や、何らかの検索サービスで検索を行ってから結果が表示されるまでの平均時間をSLAとして定めるといったことが考えられる。
またユーザーからのIT環境に関する問い合わせを受け付けるヘルプデスクであれば、問い合わせを受けてから一次回答を行うまでの時間、あるいは最初の受付で(エスカレーションせずに)回答する割合などをSLAとして設定することが多い。
契約者と利用者が合意するサービスレベルは、定量的に評価できる内容とする必要がある。それは、「業務に支障が生じないようにシステムの稼働率を維持する」などといった曖昧な内容では、合意した内容を客観的に評価できないためである。
このSLAの重要なポイントとして挙げられるのは、合意したサービス基準を満たせなかった場合の罰則を規約に盛り込むことである。前述したEC2であれば、実際の月間稼働率がSLAで定義された稼働率を満たせなかった場合、将来の支払いに利用できるサービスクレジットとして返金するというルールが設けられている。
サービス提供者側が目標値として設定する「SLO」
一方、SLOの日本語訳は「サービスレベル目標」である。こちらはSLAで取り決めた内容を達成するために、サービス提供者側が設定する目標である。一般的にSLOの定義する目標はSLAで設定したものよりも厳しくすることになる。たとえばSLAで月間稼働率99.95%を保証するのであれば、SLOでは月間稼働率を99.99%にするといった具合だ。
SLAとSLOの大きな違いとして、SLOには罰則がないことが挙げられる。そもそもSLOはサービス提供者側の目標値であり、クラウドサービスなどでは利用者側に開示されないことが多い。
なおSLOには、SLAでは設定されない内容が盛り込まれることもある。たとえばメンテナンスを行う際に何日前にサービス利用者に通知するのかといった内容である。
さらに、定性的な内容や具体的な作業手順をSLOとして記載するケースもある。本来であれば運用手順書や作業手順書に記載すべき内容ではあるが、手順の遵守を目標として明確化するためにSLOに記載するというわけだ。
システム運用をアウトソースする際のSLA設定のポイント
特にパブリッククラウドサービスでは、サービス提供者側がSLAの内容を公開し、利用者はその内容を見て自社の要件を満たすかどうかを判断する形になる。もちろんSLAで定義された内容が必ず満たされると保証されているわけではないが、そのクラウドサービスの品質について判断する基準として利用できるだろう。
自社で構築したシステムの運用をベンダーにアウトソースするなどといった場合には、運用を委託するベンダーとユーザー企業間でSLAを取り決めていくことになる。対象となるシステムの内容や用途からビジネス上必要となる稼働率などを設定し、それを基準にSLAを定めることが一般的だ。
ただ、当然ながらSLAとして設定する項目の達成が難しくなればなるほど、アウトソースのコストは膨らんでいく。稼働率であればベストは100%となるが、一般的なシステムでは現実的な数値とは言えない。コストまで含めて、SLAの妥当性を考える必要がある。
注意したいのは、単にサービスレベルを決めるだけでなく、その計測手法や報告の方法などについても事前に取り決めておくことだ。たとえばSLAの項目として稼働率を採用したのであれば、稼働率をどのように測るのか、測定した稼働率をどのように(運用ベンダーからユーザーに)報告するのかなどといったことも取り決めておきたい。
「SLA」と「SLO」の違い
SLA | SLO | |
---|---|---|
日本語訳 | サービスレベル合意 (サービスレベル保証) |
サービスレベル目標 |
目的 | サービス提供者と利用者の間で、サービスの品質水準を合意するために設定 | サービスの提供者がサービスレベルの目標として設定 |
未達の場合のペナルティ | あり | なし |
利用者との設定内容の合意 | 必要 | 不要 |
なおSLAに対する考え方や取り組みはベンダーによって大きく異なるため、ベンダー選定の際にチェックしておく必要がある。NTTコミュニケーションズの「X Managed®」では、サービスマネージャがSLAの設定と厳格な運用を支援しているうえ、柔軟なSLAの設定に対応している。また、AWSなどのクラウド上に構築したシステムの運用をアウトソースするのであれば、そのクラウドサービスに精通しているベンダーをパートナーとして選ぶこともポイントとなるだろう。