開発の自由度や利便性を損ねず、運用のガバナンスを維持するには
小林氏はコンテナ環境における運用のポイントを3つ挙げる。1点目に「ガバナンスの管理」、2点目に「アプリケーション展開におけるセキュリティ(脆弱性)管理」、そして3点目に「品質の維持」だ。
特に、セキュリティは重要なテーマとなる。小林氏は「コンテナ環境に移行すると脆弱性の確認や対処は従来と変わるため、適切なツールを活用しながら進めていく必要があります」と指摘する。いわゆるDevSecOpsとして、CI/CDパイプラインの要所要所で脆弱性をチェックする必要があり、コンテナ環境ならではの配慮、段階ごとに開発と運用でどう連携していくかなどを整理していく必要がある。
開発と運用の連携については「これが正解!」となるような鉄板パターンはなく、必要に応じて役割分担を定義しておくなど、組織ごとに最適な形を模索していくことになるという。たとえば、ガバナンスを効かせすぎると、開発者がセルフサービスできる部分が少なくなり使い勝手が悪く、開発生産性を落とすことになりかねない。逆にセルフサービスの部分が大きくなりすぎると統制が取れなくなってしまう。
ポイントとしては、開発の生産性を下げることのないように、自由度や使い勝手の良さを維持しつつ、きちんとしたガバナンスも効かせていくことだ。石原氏は「開発と運用が密にコミュニケーションをとりながら寄り添い、踏み込み、互いの理解を深めながら一緒に作るプロセスが必要になります」と話す。
開発と運用の連携と一言でまとめてしまうと簡単に聞こえるが、とても奥が深い。最適解は時間をかけて社内でブラッシュアップしていくことも必要だが、まずは最初の一歩を踏み出すことが重要だ。先述した「VMware TKG on VxRailパッケージ」をはじめとする、MKIの簡易構築サービスに続くアプローチとして、内製化支援サービスも提供されている。
内製化支援サービスとは、自社でコンテナ環境を運用できるようにするための支援。KubernetesやVMware Tanzuのトレーニングで基本的な知識をおさえるところからはじまり、コンテナ環境における最小限のアプリケーション運用を経験する。石原氏は「まずは、私たちから1つの答え『こうすれば、一通りできる』を実践していただきます」と話す。
環境構築だけではなく、その後のアプリケーション運用までを経験できるのが特徴だ。サンプルアプリケーションを用いて、ユニットテストからビルド、コードをプッシュ、デプロイするところまで、脆弱性チェックも含めてCI/CDの自動化シナリオを実装するところまで経験できる。そうして一定の知識を得ながら一通り実践することで、「自分たちにはこれが必要で、これは必要ない」と自社運用向けに取捨選択やアレンジができるようになるだろう。