はじめに
いま私が担当業務しているものは自社でプライベートクラウドを構築しており、様々な部門の業務担当・アプリ担当(以下テナントと称す)が必要に応じてプライベートクラウド上にシステムの構築を行っている。いわゆる、IaaS提供という立場だけでなく、運用上に必要な監視機能や障害であったりリソースチューニングを可視化したり分析したいなどのニーズに応えるため一種のマネージドサービスを提供(XXaaS的な)したりといったことも積極的に進めている
背景
前述と話しがかぶってしまうが、IaaS基盤を提供するだけといったいわば土管屋さんだけになるのではなく、AWSやAzureのようなマネージドサービスを提供していけるような自社内サービスを目指している。AWSであれば、お客さん自身でいつでも好きなときにマネージコンソールといわれるGUI画面を通して利用ができる。マネージドサービスであればいつでも高速に迅速に提供できるのが当たり前だよねということで今回の取り組み内容を紹介したい。
概要
マネージドサービスを利用するにはテナント側はRedmineを用いてチケットを発行して申請する。チケットの項目には、利用したいサービスであったり、バージョンマシンコンテナのスペックやリージョン指定など、細かいパラメータをオーダーすることができる。その項目は10種類以上存在する。発行されたら我々はそのチケットの内容を確認し、オーダー内容に沿ってプロビジョニングを行い最終的にテナント側に提供をする。
問題点
上記のようにテナント側はRedmineを用いて利用したいマネージドサービスを利用できるが下記で問題点があった。
・チケットを発行してから利用できるまでに時間を要する(チケット来たから対応するっかは古典的すぎる)
・複数項目に渡るオーダー項目をチェックする労力を要する(最悪ヒューマンエラー)
・オーダーに沿って対応する時間がない(俗にいうプロビジョニング担当みたいな人がいない)
つまり圧倒的に時間がないという
コンテナデプロイまではバックエンドとしてAnsibleやCICD環境は整っていたが
チケット発行してからの課題があった。
実装イメージ
幸い、ベンダー独自製品や申請書といわれるエクセルフォーマットで運用していなかったためToil削減方法は明確であった。ということでRedmineのAPIを用いてフルオートメーションの実装を行った
全体
実際、新規申し込み以外にも、変更申請や削除申請も可能である。
最後に
SRE担当ではないがToil削減といった意味ではといった形で本記事執筆をした。