組み込みエンジニアも知っておきたい「クラウドネイティブ」とは仮想環境を使ったクラウド時代の組み込み開発のススメ(3)(2/3 ページ)

» 2021年07月28日 10時00分 公開

現実の作業環境での活用が進むクラウドネイティブ

 クラウドネイティブへの理解が世界で進むにつれて、CNCFが発信する「高い技術水準のプロダクト」や「合理的な設計思想」がさまざまな分野で応用できるのではないかとの機運が強まっています。その分野の1つが、ROSロボット/IoTシステムへの応用が期待される、クラウドネイティブ技術に基づく「エッジ環境延伸」です。今まではデータセンター中心で使われていたこの技術を、もっと現場に近い部分で活用しようという動きがあるのです。

 CNCFによる代表的な取り組みとして、コンテナオーケストレーションをエッジに拡張するための「KubeEdge」が挙げられます。これは、回線途絶の発生や機器に搭載するCPUが非力であるといった、IoTならではの事情に配慮した実装です。

 またCNCF以外でも、クラウドベンダーのAWSが2021年6月から「Amazon ECS Anywhere」の一般提供を開始しています。公式ブログでは、「AWS上のコンテナクラスタ(Amazon ECS)」と「自宅のRaspberry Piコンテナクラスタ」をVPN(仮想プライベートネットワーク)で相互接続し、AWS上のコントロールプレーンで集中制御する様子が紹介されています。

 ここで紹介した2つの取り組みは、ネットワーク回線の速度、安定度、コンピュータリソースの充実度など、前提条件の差から狙う方向に差が見受けられます。通信手段やエッジコンピューティング環境の多様化を背景に、ここで紹介した2つ以外にも、多くのクラウドネイティブ技術によるエッジ環境延伸の実装が検討されており、今後の発展から目が離せません。

なぜクラウドネイティブは世界中でこぞって使われているのか

 IT分野のエンジニアであっても、ここまでの一般的な解説を読んで「じゃあ、使ってみよう」となる人は一握りだと思います。「SOA(Service-Oriented Architecture)との差異は何か?」「モノリシックでも開発できているけど?」など、「正しい技術者」であれば疑問符がたくさん付くはずです。

 筆者が「クラウドネイティブの定義」ですごいと感じている点は、2つ目の段落の“インパクトのある変更を最小限の労力で頻繁かつ予測通りに行う”という効果がただの理想ではなく、実効性の高いアプローチ(≒実装)とともに提供されている点です。その中核になっているのが、コンテナ・オーケストレーターのKubernetesです。それによって、CNCFのメンバー企業・団体以外にも、Webサービスやエンタープライズシステムなどを手掛ける企業を中心に、広く受け入れられてきたのだと考えています。好奇心からか、業務命令からか、きっかけはいろいろですが、一度でもそれに触れたエンジニアが、実効性の高さに気が付いて開発に取り入れている、というのが筆者の肌感覚です。

 まずは、好奇心からでいいので使ってみてほしいというのが筆者の願いです。CNCFでは、クラウドネイティブを実現するための道のりを「Cloud Native Trail Map」として公開しています。これをヒントに、徐々に歩みを進めていっていただければと思います。なお、箱庭ではDockerコンテナを使った単体ロボットシミュレーション環境を提供しています。長い道のりの第一歩としてDockerコンテナならではの環境構築の容易さなど、さまざまな体験ができると思います。

図2 図2 Cloud Native Trail Map(クリックで拡大) 出典:Cloud Native Landscapeから引用

Copyright © ITmedia, Inc. All Rights Reserved.