DX(=Digital Transformation)は、ビジネスや技術、双方の幅広い観点から理解する必要があります。
本記事では、DXのDigital(技術)領域から、『クラウド』と『IT開発/運用』について紹介します。
クラウドとIT運用/開発
DXの実現は、様々な技術により支えられています。
今回は、そのうちデジタル世界(Cyber World)を支える『クラウド』と『IT開発/運用』について、おさえるべきトレンドを紹介します。
クラウド
『クラウド』は、自前のコンピュータを持たずインターネット経由でハード・ソフトを利用するしくみです。
クラウドは、提供サービスの違いで以下のように分類することができます。
SaaS | Software as a Service | アプリケーションをクラウド化 |
PaaS | Platform as a Service | ハード+アプリケーション開発をクラウド化 |
IaaS | Infrastructure as a Service | コンピューター・記憶装置などをクラウド化 |
DX推進に向けて、「コンテナ型仮想化」、「FaaS」、「オンプレクラウド」などが注目されています。
コンテナ型仮想化
コンテナ型仮想化では、一つのOSにコンテナ(=独立したサーバと同様のふるまいをする区画)を複数用意、ユーザやサービスに割り当てる仮想化形態です。
Docker
コンテナを実現するソフトウェアを「コンテナ管理ソフトウェア」といい、オープンソースの『Docker』が業界標準となっています。
コンテナの内容をDockerファイルとして共有化の仕組みを備え、異なるシステムをまたがる複数環境に迅速に移行することができます。
Kubernetes(K8s)
『Kubernetes(K8s)』は、複数のコンテナを一元管理するオープンソースです。
多くのクラウドサービスプロバイダがKubernetesベースのPaaSやIaaSを提供しています。
サーバレス
サーバレスは、アプリケーション実行に必要なサーバのセットアップや管理をクラウドに任せ、開発者が開発に専念できるという考え方です。
この仕組みをクラウドサービスとした、アプリケーションを開発・実行できる機能を提供する『FaaS(=Function as a Service)』があります。
FaaSとPaaSは、いずれもアプリケーションを開発・実行できる機能を提供するクラウドサービスですが、その相違点は以下です。
サービス | 処理方式 | 代表例 | |
FaaS | アプリケーションの開発・実行機能を提供(OS・ミドルウェアなど) | イベント ドリブン方式 | ・AWS Lambda ・Google Cloud Function ・Microsoft Azure Functions |
PaaS | リクエスト リプライ方式 | ・AWS EC2 (Elastic Compute Cloud) Container Service ・Google Container Engine ・Microsoft Azure Container Service |
オンプレクラウド
クラウドはシステムの設置場所の違いにより、以下のように分類することができます。
パブリッククラウド | 一般公開されており誰でも利用可能なクラウド |
プライベートクラウド | クラウド技術を活用した企業内システム |
ハイブリッドクラウド | パブリック/プライベートクラウドを組み合わせたもの |
上記のほかに、顧客環境に顧客専用のシステムを設置し、クラウドサービス同様に監視や運用をリモートで行う「オンプレクラウド」もデプロイメントモデルの一つです。
IT開発・運用
アジャイル開発 × DevOps × クラウド
従来のような「ウォーターフォール開発」×「開発・運用業務委託」×「オンプレミス」の開発・運用ではDXのビジネス・スピードに対処できません。
DXにおける開発・運用として、「アジャイル開発」×「DevOps」×「クラウド」の取り組みが必要です。
アジャイル開発 | アプリケーションの開発・変更に迅速に対応 |
DevOps | 本番環境への迅速な移行、継続的なデリバリーを実現 |
クラウド | 迅速な調達を実現するインフラ、高速開発と実行を支えるプラットフォーム |
アジャイル開発
アジャイル開発は、アプリケーションの開発・変更に迅速に対応する開発手法です。
ウォーターフォール開発と異なり、数週間単位の短い周期で、顧客優先度の高い機能から要求・開発・テストを繰り返し、システム全体を構築する手法です。
DevOps
DevOpsは、開発(Development)と運用(Operations)を組み合わせた、開発と運用が連携する開発手法で、顧客価値に視点を置いたプロセスイノベーションとして注目されています。
クラウド
クラウドは、前述の通り、自前のコンピュータを持たずインターネット経由でハード・ソフトを利用するしくみです。
特にクラウドでASP(Application Service Provider)が提供するソフトウェアをSaaS(Software as a Service)といいます。
イベントドリブン
特定の業務における一連のサービス(プログラム)の処理方式には「オーケストレーション方式」と「コレオグラフィ方式」がありますが、効率的な開発や運用のためにイベントドリブンの「コレオグラフィ方式」が注目されています。
オーケストレーション
「オーケストレーション方式」は、別名「リクエストリプライ方式」、全体の処理の流れを制御する指揮者(オーケストレーター)が存在し、指揮者からのリクエストによりサービスを実行、結果をレスポンスとして返すことで次の処理に引き継ぐプログラム実行方式です。
コレオグラフィ
「コレオグラフィ方式」は、別名「イベントドリブン方式」、全体の処理の流れを制御する指揮者(オーケストレーター)は存在せず、個々のサービスにあらかじめ与えられた動作条件、次にどのサービスを起動させるかといった振り付けに従い自律的に動作させるプログラム実行方式です。
APIエコノミー
「API(= Application Program Interface)」は、インターネットで提供されるサービスから他のサービス機能を利用するためのしくみです(例:天気API、地図APIなど)。
代表例として、「Web API」や「Web Speech API」が挙げられます。
Web API(REST)
Web API(REST(=REpresentational State Transfer))は、Webシステムを外部から利用するためのプログラムの呼び出し規約の一つです。
Webspeech API
Web Speech APIは、Webブラウザ上で「音声入出力」や「音声認識」などを可能にするものです。
Web Speech APIは、音声認識と音声合成の2つのAPIに分類できます。
まとめ
本記事では、DXのDigital(技術)領域から、『クラウド』と『IT開発/運用』について紹介しました。
DXの技術領域については、下記書籍が最もよくまとめられていますので、興味を持たれた方は、合わせてお読みすることをオススメします。
コメント