iedge
  • iedge
スマートホーム(スマートハウス)の記事
2019.09.01
2019.11.25

クラウドネイティブとは?意味やIT組織に与える影響をわかりやすく解説【テクノロジー・AI 入門編】

記事ライター:iedge編集部

<お詫び>
こちらの記事の内容の一部が読者・ユーザーの皆様の誤解を招くものでありました。
再度内容確認後、記事の追記修正を行ないました。
ご迷惑をおかけした読者の皆様ならびに関係各位に深くお詫び申し上げます。

9月10日 iedge編集部
----------------------------------------------------------

IT業界において近年大きなトレンドとなっている「クラウド」。ユーザー側にとって非常にメリットの大きい仕組みですが、実はソフトウェアを開発する側にとってもクラウドというキーワードは注目されるようになってきています。なかでも象徴的なのが「クラウドネイティブ」です。

今回の記事では、そもそもクラウドネイティブとはどのような考え方のものなのか、そしてクラウドネイティブをソフトウェア開発に取り入れることによって、どのような変化が起こるのかを詳しく紹介していきたいと思います。

▼この記事でわかる!

  • クラウドネイティブとは何か
  • クラウドネイティブのメリット
  • クラウドネイティブ・アプリケーション開発が注目される理由

 

クラウドネイティブとは何か

クラウドネイティブのイメージ画像

そもそも「クラウドネイティブ」とは何なのでしょうか。CNCF(Cloud Native Computing Foundation)という団体ではクラウドネイティブのことを以下のように定義しています。

クラウドネイティブ技術は、パブリッククラウド、プライベートクラウド、ハイブリッドクラウドなどの近代的でダイナミックな環境において、スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。このアプローチの代表例に、コンテナ、サービスメッシュ、マイクロサービス、イミューダブルインフラストラクチャ、および宣言型APIがあります。

これらの手法により、回復性、管理力、および可観測性のある疎結合システムが実現します。 これらを堅牢な自動化と組み合わせることで、エンジニアはインパクトのある変更を最小限の労力で頻繁かつ予測どおりに行うことができます。

Cloud Native Computing Foundationは、オープンソースでベンダー中立プロジェクトのエコシステムを育成・維持して、このパラダイムの採用を促進したいと考えてます。 私たちは最先端のパターンを民主化し、これらのイノベーションを誰もが利用できるようにします。
(引用:https://github.com/cncf/toc/blob/master/DEFINITION.md)

つまり、ソフトウェアの開発にあたっては、従来のオンプレミス型に比べてクラウドネイティブのほうが効率が良く、サービスの提供規模が拡大した際にも柔軟に対応できる能力があるということです。

クラウドネイティブの定義は開発者や研究者によっても多少異なることもあるのですが、共通しているのは「クラウドの特性を活かしてソフトウェア開発を行う」ということが挙げられます。

ちなみに、このCNCFという組織はオープンソース型のソフトウェア開発手法であるクラウドネイティブを推進しており、AmazonやApple、マイクロソフトなど400以上の企業がこの団体にメンバーとして参画しています。

 

クラウドネイティブのメリット

ビジネスマンがクラウドを利用するイメージ画像

クラウドネイティブの開発手法は世界中の多くの企業で取り入れられていますが、そこにはどのような理由があるのでしょうか。CNCFが2018年12月に発表したKeynoteからの内容も併せて紹介します。
(参考:https://events.linuxfoundation.org/wp-content/uploads/2018/09/Evolving-Cloud-Native-Landscape-Dec-2018-ContainerDays-Japan.pdf)

サーバーリソースの向上

クラウドを活用することによってサーバーリソースの利用効率が上がるため、同じシステムやサービスを運用する場合であっても、クラウドネイティブによる開発のほうが少ないサーバー数での運用が可能になります。

インフラの調達スピード

クラウドネイティブにおいてはインフラの構築と運用をクラウド側で行うため、サービスを開発する側としてはその分開発効率が上がるとともにアジリティの向上につながります。
また、インフラを運用する必要がない分、サービスを提供するうえでのリスクも低下します。

スケーリングへの対応

冒頭にも紹介しましたが、クラウドネイティブはサービス規模の拡大やトラフィックの増大または縮小に合わせたスケーリングにも柔軟に対応できます。
たとえば、ある一定の時期のみユーザー数が突発的に増加するケースなどにおいては、当該時期以外はスケールダウンすることによってコストの削減にも貢献することでしょう。

安全性・回復性に優れている

後述するマイクロサービスやコンテナなどのアプローチ方法によってクラウドネイティブでのシステムを構築することにより、万が一セキュリティインシデントや障害が発生した場合においても、影響のある部分を切り離すことによって被害を最小限に食い止めることができます。
 

クラウドネイティブの技術的要素

クラウドネイティブのイメージ画像

クラウドネイティブに基づくアプリケーション開発にはさまざまなアプローチがありますが、代表的なものをいくつか挙げてみます。

マイクロサービス

マイクロサービスとは、アプリケーションの構成要素ごとに細分化して開発を行うアーキテクチャスタイルです。

機能ごとに細分化されているため、アプリケーション開発の効率が上がるだけではなく、障害等が発生した際にもその影響を最小限に留めることができます。
ちなみに、マイクロサービスの対局にあるのがモノリシックとよばれるアーキテクチャです。

コンテナ

マイクロサービスを利用したクラウドネイティブ実現のために利用するのが「コンテナ」です。コンテナはマイクロサービスそれぞれのプログラムの実行環境として機能します。

コンテナはアプリケーション層での仮想環境で動作するため、ひとつのOS上で実行できます。そのため、仮想マシンで複数のOS上で実行した場合に比べるとCPUやメモリのリソースも抑えられるメリットがあります。

オーケストレーション

オーケストレーションは、コンテナを効率よく管理するために使われる技術です。

マルチホストでコンテナを稼働させる場合、ネットワーク接続や起動するホストの管理、動作状況の確認などが必要になります。これを司るのがオーケストレーションツールとよばれるもの。

なかでもGoogleのKubernetesが主要なオーケストレーションツールとして活用されています。

サービスメッシュ

サービスメッシュはマイクロサービス間の通信を担います。負荷分散や通信トラフィックの最適化、さらには安全な通信を実現するためのセキュア化などの役割も担っており、これらの機能をソフトウェアのレイヤーで実行します。
 

クラウドネイティブ・アプリケーション開発が注目される理由

クラウドネイティブのイメージ画像

クラウドネイティブでのアプリケーション開発においては従来の開発手法に比べて柔軟なアップデートが可能となり、ユーザーニーズの変化にもすぐ対応できます。

またクラウドベースでアプリケーションを提供できるようになれば、従来のオンプレミス型の欠点であった高コストを解決し、低料金でユーザーにサービス提供できるようになります。結果として中小企業など、今まで取り込めなかった部分もターゲットにできます。

冒頭に紹介したクラウドネイティブの定義の中に、「スケーラブルなアプリケーションを構築および実行するための能力を組織にもたらします。」という一節がありました。クラウドネイティブによる開発が進んでいくと、単に技術的な進化だけではなく、組織内においても責任を明確にしながら的確な役割分担ができるようになります。

 

まとめ

今回はクラウドネイティブとは何か、技術的要素なども含めてご紹介してきました。

クラウドネイティブを実現すれば、アプリケーション開発時間を短縮し、柔軟性の高いアプリケーションを開発できます。組織戦略においても大いに役立つクラウドネイティブ。

ぜひこの記事を参考にしながらクラウドネイティブについての理解を深め、あなたの会社のアプリケーション開発にも活かしてみてください。

関連記事

賢く睡眠しよう!AIも活用したスマート家電による睡眠管理方法をご紹介

AIも活用した睡眠管理方法①スマートウォッチで健康状態を計測 時計型の「スマートウォッチ」は、最も入手しやすい睡眠サポート機器の1つです。シンプルな睡眠管理だけでよければ1万円もせずによいモデルが入手 ...

続きを見る
スマートホーム(スマートハウス)の記事 2021.03.26

トイレもIoT化する時代に!スマートトイレで効率よく健康管理しよう

排泄物からリアルタイムに健康状態を検出!スマートトイレの特徴 スマートトイレには次のような特徴があります。尚特徴についてはスマートトイレを研究・開発している「スタンフォード大学」の情報を基にしています ...

続きを見る
スマートホーム(スマートハウス)の記事 2021.03.26

共働き家庭でも役立つ!スマート家電の育児活用方法をご紹介

スマート家電の育児活用方法①スマートロックで子供をあやしながら鍵を開ける 「スマートロック」は錠前型のスマート家電です。両面テープなどで固定してサムターンを回すタイプやドアの錠前を丸ごと変えるタイプが ...

続きを見る
スマートホーム(スマートハウス)の記事 2021.03.26

Qrio Smart Lockなら、鍵をシェアすることができて、スマホで解錠できる!

Qrio Smart Lockなら、まるで鍵を開けるかのようにスマホを操作するだけ Qrio Smart Lockは、スマートロックサービスです。 鍵をドアに設置する際の工事も不要です。鍵につけさえす ...

続きを見る
スマートホーム(スマートハウス)の記事 2019.11.28

これからのスマートホームには欠かせないAIについて知っておこう!

そもそもAIって何? AI(Artificial Intelligence=人口知能)は、人間が行う様々な作業や活動をコンピューターなどで模倣し、人間と同じような知能の実現を目的としたソフトウェアおよ ...

続きを見る
スマートホーム(スマートハウス)の記事 2019.11.28

人の感情に共感する次世代のAIロボット「JIBO」とは?

多くの可能性を秘めた新型AIロボット「JIBO」 JIBOは、アメリカのMIT(マサチューセッツ工科大学)のシンシア・ブリジール准教授により開発されました。 その後、2014年にIndiegogoのク ...

続きを見る
スマートホーム(スマートハウス)の記事 2019.12.03

Copyright© iedge , 2021 AllRights Reserved.