Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

政府CIOポータルのディスカッションペーパーを読み解く

こんにちわ。小島です。 既出かもしれませんがとても重要なことが書かれていましたのでタイトルの通り読み解きを行いたいと思います。

f:id:koji_kchc:20200706170807j:plain の前に、弊社のサービスKOSMISCHが2ヶ月間に無償利用キャンペーンをやっておりますのでまずはポチっておいてください。

kosmisch.jp

政府CIOポータルとは

政府CIOポータルとは政府が運営するIT総合戦略室が主となり情報発信するWebサービスです。

cio.go.jp

政府が提供しているITに関する情報や公募の他、政府が投資しているITリソースに関しての状況を提供するITダッシュボードなどを見ることができます。

https://www.itdashboard.go.jp/

その政府CIOポータルでも僕がよくみているのが、CIO補佐官のディスカッションレポートですね。

cio.go.jp

今回のこのディスカッションペーパーの中から「情報システムのパブリック・クラウドへの移行方式について」を読み解こうと思います。

cio.go.jp

背景の考察

私たちのようなクラウド最前線でサービスを提供しているものからすると、極々当たり前のことが書いてあるのですがそれで終わってしまってはもったいないので紐解こうと思います。

背景のなかでとても重要なキーワードが以下です。

クラウドサービスについては、その黎明期には単に仮想サーバの提供サービスと捉え、従来の物理サーバがクラウド上の仮想サーバに置換されるに過ぎな いとの認識も見られましたが、今日のパブリック・クラウドは単なる仮想サーバの提供ではなく、様々な自動化されたサービスの集合体であり、パブリッ ク・クラウドを利用するということは、その様々な自動化サービスを縦横に活用するということになります。

AWSの東京リージョンが開設されたのが2011年3月で、日本はこの時からパブリッククラウドへ開国したといっても過言ではありません。 それまでのシステムはハイパーバイザー型の仮想システムであり、そのハイパーバイザー型の仮想システムでさえ最先端と言えました。 しかし、クラウドの波はとてつもなく大きく、大きな影響力を持ち国内へ一気に雪崩れ込んできたのです。

この時、なぜかクラウドは信頼ならない、仮想化をこのまま推進すべし!!という大号令がくだった企業も多かったとか。

その時の資産が脈々と生きていて、と言う話はうんざりするくらい聞きました。

仮想化は物理ホストが必要であり、その物理ホストにコストを払うよりもクラウドにしてしまったほうがコストが抑えられる、そういった人は誰だかわかりませんが、日本はこの時より物理ホストよりもクラウドを目指し仮想サーバーが次々とクラウド上の仮想サーバーに置き換えられていくのです。

時は立ち、AWSの東京リージョン開設からもうすぐ10年。

Azureにおいても2014年2月に日本リージョンを開設し、5年以上経過しています。

この時間の中でクラウドの本当の価値というものが少しずつですが浸透してきたのではないでしょうか?

クラウド移行方式と優先順位の考察

弊社でもお客様へご提案する場合、クラウド化プランを必ず提示しています。

その中でもまず最初に提案するプランが、PaaSへ最小単位で移行しましょう、というものです。

僕たちはそのプランを「リファクタープラン」と呼んでいます。

リパーチェス

ディスカッションペーパーでは同様の言葉として「リパーチェス」という言葉で開設しています。

例えば仮想サーバー(LAMPスタック)をクラウド化するときの大まかな動きとしては以下になります。

  1. ミドルウェア(DBやSMTPなど)をクラウドサービスに置き換える
  2. クラウドサービスでWebアプリケーション実行のためのランタイムが提供されているを確認する
  3. アプリケーションに内包されているデータをクラウドストレージに移行させるためのコード改修を行う
  4. アプリケーションをGitで移行する
  5. データをストレージへ移行する

要はこれはリパーチェスです。 まずは優先順位としてこれを最初に検討すると言うことです。

アーキテクチャー的にはこれが一番近いと思います。

azure.microsoft.com

リビルド

リビルドはリパーチェスの動きの中の3をさらに押し進めます。 具体的にいうと、3をベースにアプリケーションのDBに対しての振る舞い方、いわゆるモデル/コントローラー部分を分割しマイクロサービスにすると言うことです。 そのためPaaSよりももっと粒の小さいサービスで提供したいのでコンテナサービスを使います。

また、元々完全にライブラリが分かれている処理、例えば外部APIへのコールなどですが、これらはサーバーレスを使って構築できます。

このようにリパーチェスでクラウド化したものを、さらに最適化するためのマイクロサービス化をする、それがリビルドになります。

アーキテクチャーはこれかなと。

azure.microsoft.com

このアーキテクチャーは一般邸にはクラウドネイティブといわれています。

クラウドネイティブには4つの技術カテゴリーがあるとされています。

  • DevOps
  • Continus Delivery
  • Containers
  • Microservices

これらの技術カテゴリーは非常に高度なものではあるのですが、是非チャレンジしていただきたいと思っています。

リホスト

リホストは既存のシステムをリフトアンドシフトでクラウドに移行するプランです。

冒頭の背景に強烈に書かれていましたが、仮想サーバーの置き換えとしてクラウドがあるわけではないので、そのまま移行するということはほぼできないです。 たまにいらっしゃいますが、既存の仕組みを絶対壊すな、とかOSのバージョンも上げるな、とかそういう方はクラウドにするべきではありません。 リホストであっても考慮すべきところは多くあり簡単ではないのです。 重要なキーワードは簡単ではない、リホストであってもクラウドを知らない限り既存システムのリスクは取り除けないということです。

なので、優先度が3になっている理由としては単にやめろというのではなく、クラウドをちゃんと理解した上でやりましょうになります。

留意事項の考察

移行方式前に検討すること

これは書かれている通りですね。そのまま読んで意訳しないことです。

僕的には非機能要件と疎結合な仕組みは考慮しないとダメだよねって思っています。

COE

いわゆるテックリードです。この部分とてもハードルが高いと言われています。

そう言えば先日弊社とマイクロソフトで共催したイベントでもこの手の話に興味ある方はとても多くいらっしゃる印象です。

alterbooth.connpass.com

僕もこの分野についてとても興味のあるところでして、僕なりにまとめた資料がございますので一読していただくといいかもしれません。

www.slideshare.net

PoC

PoCは検証ではありますが、実際に利用することを前提で取り組まないとコストの無駄使いになってしまいます。

またそのときにはアジャイル型で素早くプロジェクトを回す文化がないと、いつまで経っても成果の出ないプロジェクトになってしまいますのでご注意ください。

その他プランについての留意点

まずどのプランを選ぼうが従来型のウォーターフォールでやるとうまくいきません。

素早く調達、開発、リリースができるクラウドで、なぜ完璧にもならない議論を永遠としなくてはいけないのか。

完璧など存在しないのです。

リーンソフトウェアの原則通り、組織文化を醸成し高回転で回る開発チームを構成し、まずはMVPを作るのです。

そこから少しずつ改良していき、実際の市場投入時のサービスにしていくのです。

最後に

簡単ではありますが、読み解きをしてみました。

最後はちょっと駆け足です。

政府CIOポータルは政府の公式サイトですから、ここでクラウドネイティブやアジャイル、DevOpsなどの議論ができるということ自体が素晴らしいと思っています。

クラウド最前線でサービスを提供している者たちにとっては当たり前かもしれませんが、政府が公式にそれをやらないといけないよ、って伝えてくれていることが何よりも進歩だと思っています。

ということで、また政府CIOポータルで興味のある情報があれば読み解いてみようと思います。